我可以在WP3中将$Query->set()(在pre_get_post()挂钩中)与自定义分类一起使用吗?

时间:2012-01-18 作者:rinogo

我可以使用标准类别执行以下操作:

$query->set(\'category__not_in\', $term_id);
但是如何对自定义分类术语执行相同的操作?

如果相关的话,我正在使用Wordpress 3.3.1。谢谢。:)

1 个回复
最合适的回答,由SO网友:rinogo 整理而成

不管怎样,我只是放弃了“\\u not\\u in”方法,并采用了以下有点鬼祟祟的解决方案:

//Create the exclusion rule
$new_tax_query = array(
    array(
        \'taxonomy\' => \'x_category\',
        \'field\'    => \'slug\',
        \'terms\'    => array(\'y-slug\'),
        \'operator\' => \'NOT IN\',
    )
);

//If there is already a tax_query, \'AND\' our new rule with the entire existing rule.
$tax_query = $query->get(\'tax_query\');
if(!empty($tax_query)) {
    $new_tax_query = array(
        \'relation\' => \'AND\',
        $tax_query,
        $new_tax_query
    );              
}

// var_dump($new_tax_query);

$query->set(\'tax_query\', $new_tax_query);

结束

相关推荐

在加载jQuery之后加载javascript

在加载jquery和jquery ui之后,我想为我的主题的首页加载一些javascript。这个钩子要用什么?我知道这些功能。php和我使用的是is\\u front\\u page()。通过在函数中插入wp\\u register\\u脚本。php,我可以在我想要加载的库之后对脚本进行排队,但我也只想在frontpage上加载它。在页眉上使用is\\u front\\u page()。php,则在jquery之前加载脚本。在加载jquery之后,我如何加载javascript,并且只能在首页上加载?