如何对未分类的自定义分类进行查询?

时间:2015-01-31 作者:Yahya Uddin

我有一个自定义分类法,我希望对所有没有为该分类法分配值(即未分类)的自定义帖子进行查询。

这就是我目前的情况:

  $uncatQuery = new WP_Query( array(
                \'post_type\'         =>  \'course\',
                \'tax_query\' => array (
                    array(
                        \'taxonomy\' => \'course_category\',
                        \'field\' => \'name\',
                        \'terms\' => \'\',
                    )
                )
            ) );
但是,这不起作用。

请帮忙!

注意:我通过创建一个查询来获取所有税号,然后使用NOT IN操作符来实现它,但这需要额外的查询。

1 个回复
SO网友:Yahya Uddin

好的,谢谢你的宝贵意见。事实证明,单独使用WP\\u查询是无法做到这一点的。

我能想到的最好方法是这样做:

$taxIds = get_terms($options[\'post-types\'][$this->current_post_type->name], array(
                \'fields\'        => \'ids\',
            ));
            $uncategorisedQuery = new WP_Query( array(
                \'post_type\'         =>  $postType,
                \'posts_per_page\'    => -1,
                \'tax_query\' => array (
                    array(
                        \'taxonomy\' => $taxonomyType,
                        \'field\' => \'term_id\',
                        \'terms\' => $taxIds,
                        \'operator\' => \'NOT IN\'
                    )
                )
            ) );
尽管@shanbp有一个很好的想法,即创建一个“未分类”的分类法,并在创建时自动将其应用于每个帖子(如果未选择分类法)。

结束

相关推荐

需要澄清QUERY_POST

我最了解query\\u posts的功能和工作原理。我也知道使用它不是一个好习惯。但我想知道“$posts”变量在此设置中的具体作用:<?php global $query_string; $posts = query_posts($query_string.\'&cat=-9\'); if (have_posts()) : while (have_posts()) : the_post(); ... endwhile; e