我正在尝试在我的插件中编写一些代码,这些代码仅显示为自定义分类设置特定值的帖子的注释。我的设置是:
自定义帖子类型 - 对象
自定义分类 - 来源
示例值 - ABC博物馆
对象启用了注释 我可以按用户和每个自定义帖子检索评论
我试过了:
$meta_query = array('key' => 'sources', 'value' => 'ABC Museum');
$args = array(
'number' => 5,
'post_type' => 'Object',
'meta_query' => array($meta_query)
);
$comments_query = new WP_Comment_Query;
$comments = $comments_query->query( $args );
但这会返回一个空数组。这对我来说只是一个愚蠢的语法错误,还是我误解了meta_query的使用,它不适用于自定义分类和自定义帖子类型?
看http://pippinsplugins.com/querying-comments-with-wp_comment_query-and-meta-query-in-3-5/我认为它可能是后者 - 元必须与评论有关,而不是它被添加的帖子,这是正确的吗?不幸的是http://codex.wordpress.org/Function_Reference/get_comments在细节和示例上相当薄弱!
由于
答案 0 :(得分:0)
meta_key值需要附加到评论本身Check Here。如果您根据各自帖子的元值提取评论,WP评论查询将不返回任何内容。
答案 1 :(得分:0)
我认为主要问题是您使用的是 post_type
而不是 type
,这是 WordPress 中评论查询和普通帖子查询之间的区别。如果您想使用先前的数组来过滤要从中提取的帖子(或自定义帖子)类型,则需要例如$taxonomy_array,您可以将其与 post__in
选项关联...
$tax_id = get_queried_object_id(); // current taxonomy ID number
$taxonomy_array = get_posts( array(
'fields' => 'ids',
'post_type' => 'movies',
'tax_query' => array(
array(
'taxonomy' => 'studio',
'terms' => $tax_id
)
)
) );
$args = array(
'post__in' => $taxonomy_array,
'order' => 'DESC',
'type' => 'comment',
'status' => 'approve',
'parent' => 0
);
$comments_query = new WP_Comment_Query;
$comments = $comments_query->query( $args );