Вывод записей с помощью WP_Query{}

Вывод записей с помощью WP_Query{}

26 сентября 2019 WordPress

WP_Query{} — это класс, с помощью которого работают самые необходимые функции в WordPress для вывода постов. Вы можете использовать этот класс для вывода любых записей по указанным параметрам.

Возможно вы уже встречали функцию для вывода постов query_posts(), но использовать её не рекомендуется. Правильным решением будет применение именно PHP класса WP_Query{}.

У класса множество параметров и хуков, которые позволяют отфильтровать и вывести только нужные нам данные. Рассмотрим как применять самые основные.

Простой запрос с WP_Query{}

Массив с аргументами удобнее задавать в переменной, а затем передавать его при создании объекта класса. Создадим массив с параметром cat и posts_per_page, чтобы выбрать записи из рубрики с определённым ID и вывести их на странице по 5.

// задаем параметры выборки в массиве
$args = array(
	'posts_per_page' => 5, // выводить по 5
	'cat' => 4, // ID рубрики
);

И создаем новый объект с этими параметрами.

$query = new WP_Query( $args );

Осталось только вывести полученные посты. Полный код примера:

// задаем параметры выборки в массиве
$args = array(
	'posts_per_page' => 5, // выводить по 5
	'cat' => 4, // ID рубрики
);
$query = new WP_Query( $args );

// Цикл
if ( $query->have_posts() ) {
	while ( $query->have_posts() ) {
		$query->the_post();
		echo '<h1>' . get_the_title() . '</h1>';
	}
} else {
	// Постов не найдено
}

Но мне больше нравится что-то вроде такого варианта:

<?php 
// задаем параметры выборки в массиве
$args = array(
	'posts_per_page' => 5, // выводить по 5
	'cat' => 4, // ID рубрики
);
// запрос
$query = new WP_Query( $args ); ?>

<?php if ( $query->have_posts() ) : ?>

	<!-- цикл -->
	<?php while ( $query->have_posts() ) : $query->the_post(); ?>
		<h1><?php the_title(); ?></h1>
	<?php endwhile; ?>
	<!-- конец цикла -->

	<?php wp_reset_postdata(); //очищаем результат запроса?>

<?php else : ?>
	<p><?php esc_html_e( 'Ничего не найдено.' ); ?></p>
<?php endif; ?>

Параметры запроса WP_Query{}

Как я уже говорил у класса большое количество разнообразных фильтров, хуков и параметров запроса. Вот небольшой список тех, с которыми чаще всего приходится встречаться:

cat — ID категории
posts_per_page — ограничение на кол-во выводимых постов
post_type — тип постов, может быть кастомный, например portfolio
orderby — сортировать по (date, title, id, meta_value и др.)
order — порядок сортировки (ASC, DESC)
meta_key — имя произвольного поля
meta_value — значение произвольного поля
author — ID автора
tag_id— ID метки

Если вам понравилась статья, вы можете отблагодарить автора любой суммой, какую сочтете для себя приемлемой:
Остались вопросы по статье? Задайте их прямо сейчас!
Похожие записи
WPGrabber установка и настройка с примерами, скачать плагин бесплатно

WPGrabber это парсер для WordPress, с помощью которого можно скачать и сохранить записи с абсолютно любого доступного веб-сайта. Обычно его применяют для парсинга каталога товаров или новостей. Плагин может полностью автоматизировать добавление контента на сайт. Можно настроить его автоматический запуск Читать далее

Как создать интернет-магазин на WordPress

WooCommerce несомненно является лучшим бесплатным решением для создания интернет-магазина на WordPress. Кроме того, это одна из лучших платформ электронной коммерции с открытым исходным кодом. Цифры говорят сами за себя: более 4 миллионов установок, рейтинг 4.5 (на основе более чем 3000 Читать далее

Как установить WordPress: полное руководство для начинающих

Это полное пошаговое руководство для начинающих, которое поможет вам создать свой первый сайт на WordPress на любом веб-хостинге или локальном сервере. Почему WordPress? WordPress является самой популярной платформой для создания веб-сайтов. На сегодняшний день её используют 59% всех веб-сайтов созданных Читать далее

WordPress создание темы с нуля

Давно хотел написать подробное руководство о том, как создать тему на WordPress с нуля. Вам это пригодится: если вы хотите научиться разрабатывать сайты на WP, а не просто устанавливать шаблонные решения; вы хотите сделать уникальный дизайн для своего сайта или Читать далее

Как создать виджет WordPress

Виджеты используются для добавления контента на страницу WordPress без изменения шаблонов тем. Боковая панель является областью по умолчанию для добавления содержимого виджетов. Также вы можете зарегистрировать собственную область виджетов и добавить в нее виджеты. WordPress содержит некоторые виджеты по умолчанию Читать далее

Оптимизация WordPress

Ваш сайт WordPress может быть медленным по многим различным причинам: забитая база данных, работающая в фоновом режиме, является одним из них. Профессиональный рабочий процесс поддержки WordPress включает в себя регулярную оптимизацию базы данных, в ходе которой вы избавляетесь от ненужных Читать далее

Отправка сообщений в Telegram из Contact Form 7

Мы уже рассматривали как отправлять сообщения в телеграмм из обычного PHP скрипта и заказы из OpenCart. В этой статье вы узнаете как отправлять сообщения в телеграмм из плагина WordPress Contact Form 7. Создаем бота Боты в Telegram создаются через другого Читать далее

Добавить комментарий

*

code