Недавно один из наших читателей спросил, как отобразить запись WordPress, только если у нее есть определенное пользовательское поле. После того, как мы ему ответили, то подумали, что будет полезно, если мы поделимся способом с остальными, чтобы как можно большее количество людей смогло воспользоваться функцией.
Вам необходимо понимать принципы работы циклов в WordPress, так как мы будем вызывать эти параметры в запросе WordPress.
Пример кода ниже отобразит только те записи, у которых есть пользовательское поле «color», вне зависимости от того, какое значение имеет поле color. Вам нужно вставить этот код цикла в то место, где вы хотите вывести записи. Обычно это пользовательский шаблон страницы WordPress.
<?php // Запрос для вывода определенного пользовательского поля $the_query = new WP_Query('meta_key=color'); // Цикл while ( $the_query->have_posts() ) : $the_query->the_post(); the_title(); the_content(); endwhile; // Обнуляем данные записи wp_reset_postdata(); ?>
Теперь, если вы захотите отобразить записи, у которых есть пользовательское поле с определенным значением, то вам нужно просто изменить запрос на такой:
$the_query = new WP_Query( 'meta_value=blue' );
Если же вы захотите выделить ключ и значение, к примеру вы хотите вывести только те записи, у которых есть пользовательское поле color и значение blue, то ваш код запроса будет выглядеть примерно так:
$the_query = new WP_Query( array( 'meta_key' => 'color', 'meta_value' => 'blue' ) );
Существует большое количество параметров, которые можно использовать в работе над вашими сайтами. Нужно всего лишь обратиться к странице Кодекса WordPress WP_Query Parameters.