如何隐藏某些类别中来自我网站主页的某些ID的帖子?我需要像过滤器一样的解决方案:WordPress主页上的过滤邮件
function exclude_post($query) {
if ($query->is_home) {
...
}
return $query;
}
add_filter('pre_get_posts', 'exclude_post');
有人可以提供一个例子吗?
如何隐藏某些类别中来自我网站主页的某些ID的帖子?我需要像过滤器一样的解决方案:WordPress主页上的过滤邮件
function exclude_post($query) {
if ($query->is_home) {
...
}
return $query;
}
add_filter('pre_get_posts', 'exclude_post');
有人可以提供一个例子吗?
使用$query->set($query_var, $value);
其中$ query_var是要在查询中添加/更新的变量。所以把这个你的病情里面:
// 1st parameter is the query variable the 2nd is its value, in this case an array of category IDs
$query->set('category__not_in', array(2, 6));
记住是很好的做法放在条件的检查$query->is_main_query()
。 pre_get_posts
是一个动作钩子,因此您必须将add_filter
更改为add_action
。 一个动作钩子不会返回一个值,一个过滤器会做。
例
function exclude_post($query) {
if ($query->is_home() && $query->is_main_query()) {
$query->set('category__not_in', array(2, 6));
}
}
add_action('pre_get_posts', 'exclude_post');
UPDATE
根据新的细节对这个问题不断出现,为了排除一些职位提要流,而不是在类别档案,有条件的检查可能看起来像:
if($query->is_feed() && !$query->is_archive())
或
if($query->is_feed() && !$query->is_category())
希望它有帮助!
您可以使用简单的排除在查询参数: -
<?php wp_list_categories('orderby=name&show_count=1&exclude=10'); ?>
它的唯一样本,怎么给你排除。
滚开,工作..
不好意思,但是wp_list_categories();函数可以隐藏或显示一些帖子?该功能将类别列表显示为链接,并且不用于获取|检索帖子 – iEmanuele
我在说它的一个样本,你可以使用排除在后期查询..朋友 –
您还可以使用下面的方法来排除后查询类别
<?php
if (is_home())
{
query_posts($query_string . '&cat=-3');
}
?>
我又需要你的帮助,我修改了功能建议,现在我需要从RSS提要删除相同的帖子,我添加条件'if($ query-> is_home || $ query-> is_feed)'在主页是好的,但不是在饲料,我看到饲料 –
@ DmytroZarezenko所有帖子,尝试只有'is_feed()'没有其他参数和'$ query - > *',看看发生什么事情 – iEmanuele
当我只使用'is_feed'时,我看到主页和RSS中不需要的帖子,我mea n不工作( –