0

我正在尝试计算存在某些元键值的帖子的数量,在这种情况下,帖子的键“纹理”值为“软”,并且键“颜色”为“红色”,'蓝色”或“绿色”。

我的代码没有错误,但它似乎计算了所有帖子,而不仅仅是那些具有上述元键值的帖子:

$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;

我究竟做错了什么?

干杯。

4

1 回答 1

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'
    )
)

Edit #1:

也许%在你的价值观周围添加标记会解决问题,我不是 100% 确定它会起作用,但你可以尝试一下,如下所示:

'meta_query' => array(
    'relationship' => 'AND',
    array(
        'key'   => 'texture',
        'value' => 'soft'
    ),
    array(
        'key'   => 'colours',
        'value' => array('%red%', '%blue%', '%green%'),
        'compare' => 'IN'
    )
)

我希望它有效,谢谢..

于 2016-04-25T11:24:48.087 回答