显示具有特定meta_key值或不具有meta_key的帖子

时间:2016-04-15 07:22:23

标签: arrays wordpress loops meta-key

我已经有了这个循环,我需要显示具有特定meta_value的帖子的所有标题,或者没有meta_key' the_status'。

我的帖子目前使用名为' the_status'并且可以具有以下任一meta_key值:

帮助 not_helping finished_helping

...或者帖子甚至可能没有meta_key' the_status'一点都不。

以下是我所拥有的:

<?php
$the_query = array(
    'posts_per_page'    => -1, 
    'author'            => $current_user->ID,
    'post_status'       => 'publish',
    'meta_key'          => 'the_status',
    'meta_value'        => array('helping')
);
$help_posts = new WP_Query($the_query);
while($help_posts->have_posts()) : $help_posts->the_post();
?>

<p><?php the_title(); ?></p>

<?php
endwhile;
?>

这显然只为我提供了具有meta_value&#39;帮助的帖子标题,但它还需要显示没有meta_key&#39; the_status&#39的帖子标题;一点都不。

感谢阅读。

1 个答案:

答案 0 :(得分:1)

替换

'meta_key'          => 'the_status',
'meta_value'        => array('helping')

使用

'meta_query' => array(
    'relation' => 'OR',
    array(
       'key' => 'the_status',
       'compare' => 'NOT EXISTS',
       'value' => '' //can be omitted in WP 3.9+
    ),
    array(
       'key' => 'the_status',
       'value' => array('helping')
    )