显示具有特定 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')
)
我有这个循环,我需要显示 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')
)