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

Show posts that have a with a certain meta_key value or not meta_key at all

我有这个循环,我需要显示 post 的所有标题,这些标题具有特定的 meta_value,或者没有 meta_key 'the_status'.

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

帮助 not_helping finished_helping

...或者 post 可能根本没有 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;
?>

这显然只给我 post 的标题 meta_value 'helping',但它还需要显示 post 没有的标题根本没有 meta_key 'the_status'。

感谢阅读。

替换

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