在“管理员所有帖子”页面(WordPress)中隐藏特定类别

时间:2018-08-01 14:01:47

标签: php wordpress

基本上,当我在Wordpress Admin中查看“所有帖子”页面时,我想从特定类别中过滤掉所有帖子(不包括它们)以使其不在此处显示。

经过一番搜索,我发现了这个钩子,它可以工作,但可以在所有管理员中使用

function exclude_category_posts( $query ) {

if ( $query->is_main_query() && is_admin()) {
    $query->set( 'cat', '-13' );
}

 }
   add_filter( 'pre_get_posts', 'exclude_category_posts' );

我在WP Admin中创建了另一个菜单,该菜单仅显示该排除类别中的帖子,但是当我应用此功能时,该菜单也没有显示任何内容。不知道这是否可能,但我想我在这里问一些好心人。

1 个答案:

答案 0 :(得分:1)

像这样改变。

function exclude_category_posts( $query ) {
    if ( $query->is_main_query() && is_admin()) {
        if($_REQUEST['page_type']=="single_cat")
            $query->set( 'cat', '13' );
        else
            $query->set( 'cat', '-13' );
    }
}
add_filter( 'pre_get_posts', 'exclude_category_posts' );

然后,新菜单的URL可能类似于http://example.com/wp-admin/edit.php?page_type=single_cat