мета-запрос не показывает никаких результатов?

Я пытаюсь показать результат для настраиваемого поля, которое не является пустым в пользовательском типе сообщений, но не дает никаких результатов?

<?php if (have_posts()) : $args = array( 'post_type' => 'programmes', 'meta_query' => array( 'key' => 'linktovideocatchup', 'value' => '', 'compare' => 'NOT LIKE'), //'caller_get_posts' => 1, ); ?> <?php query_posts( $args ); ?> <?php while (have_posts()) : the_post(); ?> `enter code here` 

вам не хватает массива в элементе meta_query:

 $args = array( 'post_type' => 'programmes', 'meta_query' => array( array( 'key' => 'linktovideocatchup', 'value' => '', 'compare' => 'NOT LIKE' ) ) ); 

(это необходимо для запроса нескольких мета-полей).

у вас также была посторонняя запятая после элемента массива meta_query, которая может вызвать проблемы.

Я думаю, что вы также должны использовать оператор «<>», а не «НЕ НРАВИТСЯ», я считаю, что он более эффективен.

в функции meta_query есть хорошая запись: http://scribu.net/wordpress/advanced-metadata-queries.html

Есть лучший ответ на вопрос, как я могу показывать сообщения только в том случае, если meta_value не пуст. Невозможно запросить нулевое значение, подобное этому.

Попробуйте этот код:

 $args = array( 'post_type' => 'programmes', 'meta_query' => array( array( 'key' => 'linktovideocatchup', 'value' => '', 'compare' => '!=' ) ) ); 

Просто измените «НЕ НРАВИТСЯ» на '! ='. Это сработало для меня;)