wordpress - 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 类别的 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 ) ) );
推荐阅读
- twilio - 使用 Twilio API 将呼叫转移到另一个号码后,如何将呼叫标记为已完成
- laravel - 如何使用 Laravel 显示与用户相关的记录 int 配置文件?
- xslt - XSLT/Xpath:为什么不能为键函数的使用属性使用父级的缩写符号
- gradle - 引导运行子模块的 Gradle 脚本
- python - 使用 matplotlib 对刻度使用不同的数据集
- ffmpeg - 如何使用ffmpeg将字幕默认添加到已经包含字幕流的视频中?
- docker - 詹金斯->来源:未找到
- java - 如何为 RFC6238 创建 seed64 模式?
- css - How to avoid Horizontal scroll bar while using FlexLayoutModule in angular
- java - Zookeeper:为什么 ClientCnxn 的实例是 MAT 中的 GC 根?