Intereting Posts
Включить настраиваемое поле в запросе mysql Как создать простую страницу архива в сообщениях и добавить URL-адрес WP как редактор HTML Возможно ли добавить меню пользовательского типа сообщений в качестве другого настраиваемого подтипа типа публикации Страница списка авторов: Исключить, исходя из последней даты публикации, не работает правильно Добавить таблицы стилей и js в файлы шаблонов при использовании короткого кода Как я могу управлять тем, что отправляется на RSS-канал и пользовательские каналы Проверьте дочерние / родительские категории, если существует Адрес URL-адреса WordPress продолжает отбрасывать www Выбор пользовательского таксономического тега Front-End Удалить «говорит» из комментариев содержимое плагина только на первой странице. Нигде более Нужна помощь, чтобы изображение моей домашней страницы было меньше моего сообщения Как записать условный флажок для персонализированного флажка в метаданных с установленным изображением Установите роль использования в woocommerce, если у пользователя есть определенный адрес электронной почты

Получать сообщения по мета-значению

Я хотел бы перечислить все сообщения, у которых есть ключ cp_annonceur со значением professionnel .

Solutions Collecting From Web of "Получать сообщения по мета-значению"

То, что вы просите, это meta_query

 $args = array( 'meta_query' => array( array( 'key' => 'cp_annonceur', 'value' => 'professionnel', 'compare' => '=', ) ) ); $query = new WP_Query($args); 

Вся необходимая информация содержится в Codex .

Это можно сделать двумя способами:

  1. Перехватите основной запрос на pre_get_posts :

     add_action( 'pre_get_posts', function( $query ) { // only handle the main query if ( ! $query->is_main_query() ) return; $query->set( 'meta_key', 'cp_annonceur' ); $query->set( 'meta_value', 'professionnel' ); } ); 
  2. Добавить дополнительный запрос

     $second_loop = get_posts( array( 'meta_key' => 'cp_annonceur', 'meta_value' => 'professionnel', ) ); 

Я использовал выборочный выбор (может быть, более высокая производительность)

 $posts = $wpdb->get_results("SELECT * FROM $wpdb->postmeta WHERE meta_key = 'cp_annonceur' AND meta_value = 'professionnel' LIMIT 1", ARRAY_A); 

Вдохновленный от https://tommcfarlin.com/get-post-id-by-meta-value/

Мы можем получить желаемый результат с помощью Meta-запроса WordPress:

 // the meta_key 'diplay_on_homepage' with the meta_value 'true' $cc_args = array( 'posts_per_page' => -1, 'post_type' => 'post', 'meta_key' => 'cp_annonceur', 'meta_value' => 'professionnel' ); $cc_query = new WP_Query( $cc_args ); 

Для получения более подробного руководства относительно мета-запроса следуйте этому блогу: http://www.codecanal.com/get-posts-meta-values/