我正在尝试计算存在某些元键值的帖子数量,在这种情况下,帖子的键值为'texture'且值为'soft',并且还有一个'color'键为'red' ','蓝色'或'绿色'。
我的代码没有错误,但它似乎计算所有帖子,而不仅仅是具有上述元键值的帖子:
$args = array(
'posts_per_page' => -1,
'post_type' => 'post',
'post_status' => 'publish',
'author' => $current_user_id,
'meta_query' => array(
'key' => 'texture',
'value' => 'soft'
),
array(
'key' => 'colours',
'value' => array('red', 'blue', 'green')
)
);
$posts_query = new WP_Query($args);
$the_count = $posts_query->post_count;
echo $the_count;
我做错了什么?
干杯。
答案 0 :(得分:1)
尝试在元数组'relationship' => 'AND'
和meta_query
中添加'compare' => 'IN'
,其中包含多个值 ('red', 'blue', 'green')
,如下所示:
'meta_query' => array(
'relationship' => 'AND',
array(
'key' => 'texture',
'value' => 'soft'
),
array(
'key' => 'colours',
'value' => array('red', 'blue', 'green'),
'compare' => 'IN'
)
)
编辑#1:
也许在您的值周围添加%
标记可以解决问题,我不是100%确定它会起作用,但您可以尝试一下,就像这样:
'meta_query' => array(
'relationship' => 'AND',
array(
'key' => 'texture',
'value' => 'soft'
),
array(
'key' => 'colours',
'value' => array('%red%', '%blue%', '%green%'),
'compare' => 'IN'
)
)
我希望它有效,谢谢..