2016-01-07 3 views
1

Я хочу исключить каждое сообщение с определенным значением настраиваемого мета-поля. Проблема заключается в том, что не у каждой должности есть это мета-поле.WordPress: Исключить сообщения с meta_query - Не все сообщения имеют meta_field

Мой код выглядит следующим образом (отрывок из рабочего цикла):

// WP_Query arguments 
     $args = array (
      'post_parent' => $parentid, 
      'orderby'  => 'menu_order', 
      'order'   => 'ASC', 
      'post_type'  => array('page'), 
      'meta_query' => array(
       array(
        'key' => 'hide', 
        'value' => 1, 
        'compare' => '!=' 
       ) 
      ) 
     ); 

Не раз сообщений использует поле «скрыть». Некоторые сообщения возвращают NULL. Так что я думаю, что цикл не работает из-за этого ?!

Это правильно? Необходимо ли, чтобы каждый столбец имел значение для этого ключа?

+0

Мета запрос выглядит хорошо. Что такое текущая проблема ur –

+0

Проблема в том, что если я использую meta_query, как вы видите в примере выше, я больше не получаю страниц. – Cray

+0

работает, если вы удалите meta_query? –

ответ

1

Попробуйте проверить свой SQL-запрос, выполнив следующий сниппет.

$customPosts = new WP_Query($yourArgs); 
echo "Last SQL-Query: {$customPosts->request}"; 
+0

Я сделал это. Вот почему я знаю, что на большинстве страниц поле отсутствует :-) – Cray