我有一个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类型。我已经仔细检查了我提供的名称是否与自定义帖子类型的名称匹配。
显然,我可以在循环开始时自己对其进行过滤,只显示我的自定义帖子类型,但我想正确处理不返回结果的问题。有没有办法让查询正确过滤我的结果,使其只包含此自定义类型和列出的标记的帖子?
SO网友:Max Yudin
自从tag
是custom_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.