WP_QUERY:获取类别1和类别2中的帖子,或不在cagegory1中的帖子

时间:2013-02-18 作者:qwerty

我有两个类别将始终保持不变。它们被称为“事件”和“在frontpage上显示”。后者是事件的子类别。

我想做的是,在获取帖子时(使用WP\\u查询),检查帖子是否在事件类别中。如果是,并且它不在“在frontpage上显示”类别中,则根本不要获取该帖子。

场景:

- post is in Events but NOT in Show on frontpage:     Don\'t fetch post
- post is in Events AND in Show on frontpage:         Fetch post
- post is NOT in Events:                              Fetch post
目标是仅使用WP\\u查询来实现该功能。也许可以用一些特殊的category__incategory__not_in 查询之类的。诀窍在于if 语句,因为有三种可能的情况。

想法?

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

现在,请尝试tax\\u查询http://codex.wordpress.org/Class_Reference/WP_Query#Taxonomy_Parameters

...
\'tax_query\' => array(
    \'relation\' => \'OR\',
    array(
        \'taxonomy\' => \'category\',
        \'field\' => \'slug\',
        \'terms\' => array( \'event\',\'show_on_front\' ),
        \'operator\' => \'AND\',
    ),
    array(
        \'taxonomy\' => \'category\',
        \'field\' => \'slug\',
        \'terms\' => array( \'event\' ),
        \'operator\' => \'NOT IN\'
   )
)

结束

相关推荐

将Query_Posts()和Get_Posts()组合为一个查询

我正在创建一个网站,它使用博客的普通帖子和事件的自定义帖子类型(由事件插件生成)。我成功地使用了不同的查询来获取这两个查询,但我想将它们合并到一个查询中。尝试过各种各样的事情,但都没有成功。以下是对博客的查询:<?php $mainFeatures = array( \'numberposts\' => -1, \'order\'=> \'DESC\', \'orderby\' => \'post_date\'); $postslist = get_posts( $mai