所以我有这个功能列出所有子页面,我希望它不要列出那些没有自定义字段" role"或者如果此自定义字段为空。我尝试了不同的东西,但即使我键入值或元值,也可以测试"列出所有页面。这个查询有问题,meta_key工作正常,但meta_value不起作用。
我的功能代码是:
function list_child_pages() {
$args = array(
'numberposts' => -1,
'post_type' => 'page',
'meta_key' => 'role',
'meta_value' => 'test',
);
$the_query = new WP_Query( $args );
if ($the_query->have_posts()) {
return list_childs();
} else
$string="team members were not found";
return $string;
}
答案 0 :(得分:2)
'meta_query' => [
'relation' => 'AND',
[
'key' => 'role',
'value' => 'test',
'compare' => '='
]
],
我更喜欢使用[]
代替array()
但你也可以
'meta_query' => array(
'relation' => 'AND',
array(
'key' => 'role',
'value' => 'test',
'compare' => '='
)
),
与您的示例集成:
$args = array(
'numberposts' => -1,
'post_type' => 'page',
'meta_query' => array(
'relation' => 'AND',
array(
'key' => 'role',
'value' => 'test',
'compare' => '='
)
),
);
尝试阅读Class WP_Meta_Query
的文档:https://codex.wordpress.org/Class_Reference/WP_Meta_Query#Initializing_WP_Meta_Query