Изменение количества выводимых постов в определенных категориях WordPress

WordPress дает возможность задать количество выводимых постов на странице для всего сайта. Однако, иногда необходимо для некоторых категорий изменить этот параметр. Решение достаточно простое и не требует каких-либо плагинов, все реализуется через hooks.

В файл functions.php необходимо добавить следующий код

В данной функции мы проверили, что slug категории = news и поменяли значение параметра posts_per_page на 20. Далее мы добавили данную функцию к хуку «pre_get_posts», который позволяет изменять параметры запроса перед его выполнением. Пагинация в данном случае не ломается.

Единственный минус данного подхода — жесткая привязка в коде, но обычно этого хватает при разработке.


  • Спасибо! Только почему не написать:
    if (is_category(‘news’))
    $query->query_vars[‘posts_per_page’] = 20;
    return;
    }

    • Stanislav

      Пожалуйста. В принципе верно, return там не нужен. Поправлю в статье