По-умолчанию, 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, которые могут помочь реализовать ваши идеи.
По всем вопросам и отзывам просьба писать в комментарии ниже.
Не забывайте, по возможности, оценивать понравившиеся записи количеством звездочек на ваше усмотрение.