Изменение количества выводимых постов в определенных категориях WordPress
WordPress дает возможность задать количество выводимых постов на странице для всего сайта. Однако, иногда необходимо для некоторых категорий изменить этот параметр. Решение достаточно простое и не требует каких-либо плагинов, все реализуется через hooks.
В файл functions.php необходимо добавить следующий код
1 2 3 4 5 6 | function delfiChangePagesize($query) { if (is_category('news')) { $query->query_vars['posts_per_page'] = 20; } } add_action('pre_get_posts', 'delfiChangePagesize', 1 ); |
В данной функции мы проверили, что slug категории = news и поменяли значение параметра posts_per_page на 20. Далее мы добавили данную функцию к хуку «pre_get_posts», который позволяет изменять параметры запроса перед его выполнением. Пагинация в данном случае не ломается.
Единственный минус данного подхода — жесткая привязка в коде, но обычно этого хватает при разработке.
Комментарии к Изменение количества выводимых постов в определенных категориях WordPress (2)
SergeySL
Спасибо! Только почему не написать:
if (is_category(‘news’))
$query->query_vars[‘posts_per_page’] = 20;
return;
}
Stanislav
Пожалуйста. В принципе верно, return там не нужен. Поправлю в статье