Intereting Posts
Есть ли способ отображать все мои сообщения на одной карте Google? Автоматически извлекать новые сообщения и добавлять к текущей странице. WordPress, показывающий экран установки после ошибки max_questions Обновление настроек администратора при каждом удалении домашней страницы? Нужна помощь с добавлением пользовательского меню и подменю WordPress Определите, есть ли в Сети уже созданные сайты Получение сообщения JSON о моих сообщениях и отображение эскизов wp-admin перенаправляется на домашнюю страницу (localhost) Лучший способ вставить js-скрипт в заголовок с настраиваемыми полями и CPT Перемещение CDN jQuery в нижний колонтитул не работает? Преобразование операций fopen / fwrite в WP_filesystem Почему мои миниатюры не работают при настройке размера в get_the_post_thumbnail ()? Предотвращение загрузки плагинов на всех страницах (Галерея следующего поколения) Каков наиболее эффективный способ внедрения системы уведомлений? Определение типа перехода статуса должности

запрос с настраиваемым мета-полем с помощью meta_query

Как мы получаем сообщения, в которых мета-ключ не существует в сообщении. Я создал видео meta_key. и я хочу получить некоторые сообщения с WP_Query, где пользовательское полевое видео не существует или пустое.

$fsquery = new WP_Query( array ( 'posts_per_page' => 1, 'featured' => 'yes', 'meta_key'=>'video', 'meta_value'=>'' ) ); 

Это не работает.

Solutions Collecting From Web of "запрос с настраиваемым мета-полем с помощью meta_query"

На самом деле есть лучшее решение, которое, как мы надеемся, будет развернуто в WordPress 3.4 – вы можете запустить исправление как исправление, если хотите, но вот ссылка TRAC для патча:

http://core.trac.wordpress.org/ticket/18158

С этим вы можете сделать …

  $my_query = new WP_Query( array( 'meta_query' => array( array( 'key' => 'foo', 'compare' => 'NOT EXISTS' ) ) ) ); 

или, если хотите, замените его 'compare' => 'EXISTS'.

-Джордж

Вы можете использовать posts_where filter hook и создать подзапрос, чтобы исключить все сообщения с помощью meta_key видео:

 // Create a new filtering function that will add our where clause to the query function filter_where_WPSE_18787( $where = '' ) { $where .= " AND ID NOT IN ( SELECT DISTINCT post_id from $wpdb->postmeta WHERE meta_key = 'video' )"; return $where; } add_filter( 'posts_where', 'filter_where_WPSE_18787' ); $fsquery = new WP_Query( array ( 'posts_per_page' => 1, 'featured' => 'yes' )); remove_filter('posts_where', 'filter_where_WPSE_18787' ); 
 $my_query = new WP_Query( array( 'meta_query' => array( array( 'key' => 'foo', 'compare' => 'NOT EXISTS' ) ) ) ); 

используется только в WP 3.5. На данный момент это бета-версия.