我正在尝试修改管理员query
其中,我需要根据两个条件排除几页:
基于某些标题排除,基于某些页面排除,包括其子页面要了解我需要完成的任务,想法如下。我有以下页面:
现在,我的实际代码允许我根据标题排除“PageB”和“PageZ”。我想做的是排除“Parent1”和“Parent3”and its corresponding children.
我现在运行的代码是:
add_action(\'pre_get_posts\', \'filter_dummy_pages\');
function filter_dummy_pages($query) {
if (function_exists(\'get_current_screen\')) {
$screen = get_current_screen();
if (is_admin() and !current_user_can(\'manage_options\') and $screen->post_type == \'page\') {
$query->set(\'post__not_in\', get_dummy_pages());
}
}
}
function get_dummy_pages() {
$result = array();
$pages_query = array(
\'PageB\',
\'PageZ\'
);
foreach ($pages_query as $page) {
$result[] = get_page_by_title($page)->ID;
}
return $result;
}
我试着
WP_Query
在…内
get_dummy_pages()
, 但是我得到了一个白色页面,所以我假设这个问题与attepmt a有关
query
在实际
query
.
我也试过戳post_parent
, post_parent__in
和post_parent__not_in
选项,但我可以排除比我想要的更多的页面。
对于这个用例,我应该考虑哪些选项?