2016-07-14 50 views
0

我想在首页显示的帖子列表中默认排除某个类别。我发现我可以用pre_get_posts钩子来做到这一点。它工作正常,类别帖子不显示。
现在我想只显示这些类别的帖子,如果我专门为这个类别查询。因此,所有不属于此类别的帖子都会显示(默认),或者只显示此猫的帖子,而没有其他内容。 我认为解决的办法是容易的,但我的代码无法正常工作:WordPress在某些情况下隐藏或显示循​​环中的类别

//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); 
} 

但是,当我查询的具体类别,还上什么都没有,所以我显然如果说法是错误的?我想,当我查询的类别,get_query_var('猫')将返回猫ID?

+0

在'商务部pre_get_posts'勾其表示,“这钩子创建查询变量对象之后调用,但在运行实际查询之前。”可能是这种情况已经排除在'猫6'从查询 –

+0

我看到了这一点,我把它理解为“在我的代码,查询变量已经设置”,所以当查询是针对6类,get_query_var应该回到“6”? – dschuld

+0

参考这个网站http://wordpress.stackexchange.com/questions/26889/get-query-var-and-permalinks – WisdmLabs

回答