查询具有特定标签插件的自定义帖子

时间:2018-04-18 作者:neomang

我有一个wordpress网站,有几种自定义的帖子类型。在页面上,我只想显示具有特定标记的自定义类型的帖子。我一直在使用以下查询来执行此操作:

$args = array(
    \'tag_slug__in\'    => array(\'tag1\', \'tag2\'),
    \'post_type\'       => \'custom_post\',
    \'post_status\'     => \'publish\',
    \'posts_per_page\'  => 10,
    \'order\'           => \'ASC\',
    \'orderby\'         => \'menu_order\'
);

$posts = new WP_Query( $args );
然而,当我运行这个查询时,我会得到这样标记的页面,以及带有这些标记的不同自定义帖子类型(事件)。但是,我应该将此限制为声明的custom\\u post类型。我已经仔细检查了我提供的名称是否与自定义帖子类型的名称匹配。

显然,我可以在循环开始时自己对其进行过滤,只显示我的自定义帖子类型,但我想正确处理不返回结果的问题。有没有办法让查询正确过滤我的结果,使其只包含此自定义类型和列出的标记的帖子?

1 个回复
SO网友:Max Yudin

自从tagcustom_post post类型,查询可能如下所示:

<?php
$args = array(
    \'post_type\'  => \'custom_post\',
    \'tax_query\'  => array(
        array(
            \'taxonomy\'  => \'post_tag\',
            \'field\'     => \'slug\',
            \'terms\'     =>  array(
                \'tag1\',
                \'tag2\',
            ),
        ),
    ),
);

$posts = new WP_Query( $args );
请参见WP\\U查询Taxonomy Parameters.

结束