X
Заказать услугу

Как вывести подрубрики на странице рубрик в WordPress?

Плагины и Шаблоны для Wordpress
  • 2019-03-25
  • 731 просмотр

    5 комментарий

  • Дизайн и разработка сайта

Доброго времени суток. 🙂

Эта статья будет полезной для тех, кому близко создание или доработка тем WordPress. В ней я покажу как на странице рубрики вывести список подрубрик. Ни для кого не секрет, что WordPress имеет возможность разделять записи на рубрики, при этом их можно разбить на подрубрики. Такая структура очень удобная и позволяет разделять контент так как захочет автор. Именно эти подрубрики и можно выводить на странице рубрики, чтобы упростить поиск для посетителей. Недавно я сам воспользовался данным методом и применил его на одном из сайтов заказчика, после чего вспомнил, что об этом способе я не писал здесь и вот теперь наверстываю упущенное.

Как вывести подрубрики на странице рубрик в WordPress?

Последний сайт, на котором я применил данный метод был о фермерстве и готовый результат там выглядел примерно так:

подрубрики WordPress

Чтобы получить такой результат нужно в первую очередь определить где у вас выводится список записей из определенной рубрики. Чаще всего это файл - category.php, так же бывают темы, где вывод записей рубрики объединен с архивами, тогда это файл - archive.php.. Все зависит от конкретной темы и цикл записей рубрики, может быть совсем в другом файле. Вы должны найти такой файл и перед циклом записей разместить следующий код:

<?php
if (is_category()) {
if (count(get_categories('child_of='.$cat)))
echo '<ul class="sub_categories">';
$current_cat=get_query_var('cat');
wp_list_categories('child_of='.$current_cat.'&title_li=&show_count=0'); 
echo '</ul>';
}
?>

Давайте рассмотрим код поближе, чтобы разобрать, за что отвечает каждая строка:

  • <?php ... ?> - Как видите по коду, наш код мы обернули в теги PHP, для того чтобы добавить код в среду HTML. Если же вам надо будет добавить его в PHP то удалите их.
  • if (is_category()) { - Проверяем размещен ли данный код на странице категории, если да то продолжаем обработку кода, в противном случаи ничего не произойдет.
  • if (count(get_categories('child_of='.$cat))) - Вторая проверка на то, есть ли у рубрики подрубрики. Если таковых нет, то в месте куда вы добавили код ничего не добавится.
  • echo '<ul class="sub_categories">'; - Оборачиваем наши подрубрики в теги списка, для того чтобы потом задать стили. Если вы хотите выводить не списком или поменять классы, можете удалить или переименовать.
  • $current_cat=get_query_var('cat'); - создаем переменную, которая узнает в какой категории мы находимся.
  • wp_list_categories('child_of='.$current_cat.'&title_li=&show_count=0') - запускаем функцию для вывода рубрик, в данном случаи подрубрик. Осуществляется это благодаря параметрам заданным в ней:
    1. child_of='.$current_cat.' - параметр что и указывает рубрику, подрубрики которой выводить.
    2. title_li= - запрещаем выводить заглавие для списка подрубрик.
    3. show_count=0 - Настраиваемый параметр, что означает - выводить ли рядом с названием подрубрики количество записей в ней. 0 - не выводить. 1 - выводить.
  • echo '</ul>'; - закрываем наш список.

Чтобы это выглядело как на картинке выше, нужно задать стили.

.sub_cat{margin:35px 0;}
.sub_cat li{display:inline-block;width:24%;vertical-align:top;margin-bottom:5px;}
.sub_cat a{display:block;font-size:18px;background:#111;color:#fff;padding:5px;text-align:center;}
.sub_cat a:hover{background:#009b00;color:#fff;}

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

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

На этом все, спасибо за внимание. 🙂

Если Вам был полезным мой труд, можете поддержать сайт, обменяться со мной текстовыми ссылками или посмотреть рекламку, что займет 2 минуты :)

Оцените статью
  1. 5
  2. 4
  3. 3
  4. 2
  5. 1
Проголосовало: 4, в среднем: 5 из 5
Читайте также
Опубликовано 5 комментариев

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

Чтобы оставить комментарий - заполните поля ниже. Ваш e-mail не будет опубликован. Все поля обязательны

Нажмите, чтобы добавить код в комментарий. Далее добавьте свой код внутрь тегов <code> тут код </code>
Я ознакомлен(а) с политикой конфиденциальности и даю согласие на обработку персональных данных*

Этот сайт использует Akismet для борьбы со спамом. Узнайте как обрабатываются ваши данные комментариев.