Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/wordpress/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 隐藏管理员所有帖子页面中的特定类别(Wordpress)_Php_Wordpress - Fatal编程技术网

Php 隐藏管理员所有帖子页面中的特定类别(Wordpress)

Php 隐藏管理员所有帖子页面中的特定类别(Wordpress),php,wordpress,Php,Wordpress,基本上,当我在Wordpress Admin中查看“所有帖子”页面时,我希望从特定类别中筛选出所有帖子(排除它们),以便不显示在那里 经过一些搜索,我找到了这个钩子,它可以工作,但它在所有的管理员 function exclude_category_posts( $query ) { if ( $query->is_main_query() && is_admin()) { $query->set( 'cat', '-13' ); } } add_

基本上,当我在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中创建了另一个菜单,它只显示排除在外类别中的帖子,但当我应用此功能时,它也没有显示任何内容。我不确定这是否可行,但我想我问一下你们这里的一些善良的人。

像这样改变

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

您在代码中使用的是_admin()。因此,它只是为管理员。