Итак, у меня есть следующее условие:
$args = [
'post_type' => 'post',
'post_status' => 'publish',
'posts_per_page' => 50,
'paged' => $page,
'orderby' => 'date',
'order' => 'desc',
'meta_query' => [
[
'key' => 'global_post',
'compare' => '!=',
]
],
];
$query = new WP_Query($args);
У меня есть несколько сообщений, которые имеют post_meta
как «global_post» — я хочу иметь возможность получать ВСЕ сообщения, кроме сообщений, которые имеют эту конкретную post_meta.
С приведенным выше кодом я продолжаю получать пустой/нулевой возврат, даже если у меня есть сообщения с этой конкретной post_meta и без нее. Что я делаю не так?
Вы пробовали NOT EXISTS
вместо compare
? Будет выглядеть так:
$args = [
'post_type' => 'post',
'post_status' => 'publish',
'posts_per_page' => 50,
'paged' => $page,
'orderby' => 'date',
'order' => 'desc',
'meta_query' => [
[
'key' => 'global_post',
'compare' => 'NOT EXISTS',
]
],
];
$query = new WP_Query($args);
Спасибо @mikerojas, я думаю, это могло сработать!