首页 > 解决方案 > Wordpress - 从帖子中隐藏类别

问题描述

因此,由于我们拥有大量帖子,我们的 Wordpress 网站的后端非常缓慢。特别是有三个类别我们不需要编辑,所以我希望甚至不将它们加载到后端。我见过限制谁可以编辑帖子类别的插件,但它似乎并没有加快速度。我不确定这是否是因为它仍在拉出这些帖子并在显示时将它们过滤掉?

我想知道是否_get_list_table( 'WP_Posts_List_Table' )有某种钩子可以让我制作它,这样这三个类别甚至都不会从数据库中提取出来。

这可能吗?它会帮助加速后端吗?

谢谢!

编辑:

有点想要这样的东西,但是 set() 不允许在 = 或 != 上使用修饰符

function exclude_category_posts( $query ) {
    if ( $query->is_main_query() && is_admin()) {
        //$query->set( 'cat', '-187460' );
        $query = new WP_Query( array( 'category__not_in' => array( 187460, 187460, 182149 ) ) );
    }
    return $query;
}
add_filter( 'pre_get_posts', 'exclude_category_posts' );

注释掉的方法只适用于一个类别。新查询不过滤任何内容):

标签: wordpress

解决方案


从博客中排除 WordPress 类别的 PHP 代码

function exclude_category($query) {
if ( $query->is_home() ) {
$query->set('cat', '-xx');
}
return $query;
}

add_filter('pre_get_posts', 'exclude_category');

诀窍是在您的类别 ID 前面添加减号(上例中的 xx)。试试看,应该可以的。

使用此表示法$query->set( 'cat', '-60, -61' );排除多个类别。

选择

也可以使用category__not_in参数

$query = new WP_Query( array( 'category__not_in' => array( 2, 6 ) ) );

资源


推荐阅读