在某些情况下,Wordpress会隐藏或显示循​​环中的类别

时间:2016-07-14 11:54:22

标签: php wordpress wordpress-theming

我想在首页上显示的帖子列表中默认排除某个类别。我发现如何用pre_get_posts钩子整齐地做到这一点。它工作正常,类别帖子不在节目。
现在我想只显示这些类别的帖子,如果我专门查询这个类别。因此,要么显示不属于此类别的所有帖子(默认),要么只显示此猫的帖子而不显示任何其他帖子。 我认为解决方案很简单,但我的代码不起作用:

//Don't show posts with cat id 6
$excluded = array('6');

//Retrieve category parameter from current query
$categ = get_query_var('cat');

//If the current query doesn't ask for cat 6 specifically,
//exclude this category
if ($categ != '6') {
    set_query_var('category__not_in', $excluded);
}

但是当我查询特定类别时,仍然没有显示任何内容,所以显然我的if语句错了?我想当我查询类别时,get_query_var(' cat')会返回cat id?

1 个答案:

答案 0 :(得分:0)

通过https://wordpress.stackexchange.com/questions/26889/get-query-var-and-permalinks

找到答案

显然,当使用漂亮的固定链接时,Wordpress会执行一些内部操作,以便在查询中不设置类别ID,而是使用类别名称。所以我只是将类别解析改为

$categ = get_cat_ID(get_query_var('category_name'));

它工作正常。 Wordpress的另一个想法是惹恼开发者lol