0

我试图创建一个查询以从 A、B、C 类中获取一些新闻

我不会写所有类别的文章。

Array
(
    [post_type] => catalog
    [order] => DESC
    [orderby] => date
    [status] => publish
    [paged] => 1
    [tax_query] => Array
        (
            [0] => Array
                (
                    [taxonomy] => catalog_category
                    [field] => id
                    [include_children] => 1
                    [operator] => AND
                    [terms] => Array
                        (
                            [0] => 12
                            [1] => 17
                            [2] => 43
                        )

                )

        )

)

如果我使用“运算符”“IN”,我会得到所有文章,如果我使用“AND”,我不会得到任何结果。

我的猫和文章列表:

在此处输入图像描述

如您所见,我在所有 3 个类别中只有 1 篇文章。

我的错误是什么?

4

1 回答 1

0

无论如何,您的查询似乎很好,但不确定出了什么问题,作为替代方案,您可以尝试获取catalog属于 ( 和 ) 中所有三个类别的所有帖子(自定义帖子类型 = )abc不是更少/更多但准确所有类别的匹配。

$cat_Ids = array();
// get id from each category name
foreach(array('a', 'b', 'c') as $cat) {
    $cat_Ids[] = get_cat_ID($cat)
}
$args = array(
    'post_type' => 'catalog', // <-- post type is 'catalog', not 'news', right ?
    'category__and' => $cat_Ids,
    'orderby' => 'date',
    'order' => 'DESC',
    'status' => 'publish'
);
$query = new WP_Query($args);
于 2013-10-07T15:30:58.807 回答