1
過濾/排除在帖子列表中的帖子所以,我想要做的是按ID在WordPress儀表板中過濾帖子列表(我實際上是一個自定義帖子類型)。如何在WordPress的儀表板/管理
我正在檢查另一個區域(自定義小部件)以查看用戶是否可以編輯給定的帖子(不是,我故意避開WordPress角色等),如果他們不能,我想過濾/排除該帖子名單。
我想利用這個列表:
...並過濾掉後ID的另一個函數返回
過濾/排除在帖子列表中的帖子所以,我想要做的是按ID在WordPress儀表板中過濾帖子列表(我實際上是一個自定義帖子類型)。如何在WordPress的儀表板/管理
我正在檢查另一個區域(自定義小部件)以查看用戶是否可以編輯給定的帖子(不是,我故意避開WordPress角色等),如果他們不能,我想過濾/排除該帖子名單。
我想利用這個列表:
...並過濾掉後ID的另一個函數返回
好了,所以我已經回答了我的問題。以下是我如何做到的一些代碼。
function exclude_list_per_function($query) {
global $wpdb;
//gets all the post ID's, I know this is a bit of a hack
$querystr = "
SELECT $wpdb->posts.ID
FROM $wpdb->posts
"; $post_ids = $wpdb->get_results($querystr, OBJECT);
//Go through each post and pass it to a function that returns true if the user_can, and false if the user_can't
foreach($post_ids as $post_obj){
if(!can_user_other_function_view_this_post(get_post($post_obj->ID))){
//if they_can't, add them to the array to be excluded
$posts_not_in[]=$post_obj->ID;
}
}
//Set those posts to be excluded from the list.
$query->set('post__not_in', $posts_not_in);
}
add_action('pre_get_posts', 'exclude_list_per_function');
很高興你知道了,對不起太慢了:) – n0pe
我不太清楚你的意思,你能舉個例子嗎? – n0pe
查看我編輯的原始帖子。希望這有助於澄清我想要做的事情...... –