Как изменить стандартное количество выводимых записей в WordPress

Владислав Белецкий
Владислав Белецкий .
Категория:
Комментариев: 0

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

function devise_number_displayed_posts($query) {
	if (is_admin() || !$query->is_main_query()) {
		return;
	}
	if (is_search()) {
		$query->set('posts_per_page', 10);
		return;
	}
}
add_action('pre_get_posts', 'devise_number_displayed_posts', 1);

В этом коде мы определили функцию под названием devise_number_displayed_posts, которая перехватывает в WordPress хук pre_get_posts. Внутри этой функции мы сначала проверяем, чтобы убедиться, что запрос является основным, а не non-admin. Если это соответствует действительности, тогда функция продолжает проверять наличие is_search(). is_search() в свою очередь является условным тегов, который возвращает true, если текущий запрос является запросом поиска. Если запрос — поисковый, тогда мы используем метод set() для того, чтобы изменить значение posts_per_page на 10.

Конечно же, можно изменить условный тег на что-то другое недели is_search() для того, чтобы настроить количество выводимых записей для другого типа запроса. Ниже мы приведем пример, где мы изменили количество отображаемых записей для архива произвольного типа записей под названием forum:

function devise_number_displayed_posts($query) {
	if (is_admin() || !$query->is_main_query()) {
		return;
	}
	if (is_post_type_archive('forum')) {
		$query->set('posts_per_page', 10);
		return;
	}
}
add_action('pre_get_posts', 'devise_number_displayed_posts', 1);

Это тот же самый код, за исключением отсутствия условного тега, вместо которого теперь мы указали is_post_type_archive(). Как вы наверное уже успели представить, перехват pre_get_posts вроде вышеуказанного открывает двери для любых способов кастомизации наших запросов к WordPress. По ссылке можно найти дополнительные условные теги WordPress, которые могут помочь реализовать ваши идеи.

По всем вопросам и отзывам просьба писать в комментарии ниже.

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

VN:F [1.9.22_1171]

Подписаться
Уведомить о
guest
0 комментариев
Межтекстовые Отзывы
Посмотреть все комментарии