Order posts by taxonomy count

时间:2018-02-12 作者:Vincent Decaux

我创建了新的帖子类型(酒店)和分类法(本地化)。

我想通过分类法的计数描述循环我的酒店订单。我想按本地化数量对我的酒店进行排序(我指的是从本地化中的更多酒店到更少酒店的订单)。

我尝试以下方法:

    $args = array(
        \'post_type\' => \'hotels\',
        \'posts_per_page\' => -1,
        \'tax_query\' => array(
            array(
                \'taxonomy\' => \'taxonomy_localisation\',
                \'field\'    => \'term_id\',
                \'orderby\'    => \'count\',
                \'order\'    => \'DESC\',
                \'terms\'    => $localisation_child->term_id,
            ),
        ),
    );
是否可以使用WP\\u查询参数?

1 个回复
SO网友:Maxim Sarandi

this topic 可能对你有帮助。默认情况下,WP\\u Query的参数-这是不可能的。

我认为你不能直接这么做。尽管您可以将每篇文章的术语保存在自定义元字段中(发布后),然后在查询中定义按该元字段排序。或者在运行查询时,可以将术语计数和帖子ID保存在另一个数组中,然后按计数对其排序并打印帖子。第二种方法会消耗更多的资源,所以我推荐第一种方法。

从wp\\u term\\u关系r、wp\\u posts p、wp\\u term\\u taxonomy x中选择p.ID、COUNT(*)COUNT,其中r.object\\u ID=p.ID,p.post\\u type=\'post\',r.term\\u taxonomy\\u ID=x.term\\u taxonomy=\'post\\u tag\'按对象按计数分组;

你不能直接做,你需要一个过滤器和一个案例

结束

相关推荐

使用新的WP-Query()从循环中过滤后期格式;

嗨,我目前正在为我的博客构建一个主题。下面的代码指向最新的帖子(特色帖子)。因为这将有一个不同的风格比所有其他职位。然而我想过滤掉帖子格式:链接使用我在循环中定义的WP查询,因为它给我带来了更多的灵活性。我该怎么做呢? <?php $featured = new WP_Query(); $featured->query(\'showposts=1\'); ?> <?php while ($featured->have_post