X
  • Дизайн та розробка сайту
  • Дизайн і створення сайтів. Розробка тем для WordPress. Створення Landing Page.
  • office@gnatkovsky.com.ua
  • @vgnat
  • Написати мені
Замовити послугу

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

Приклад
  • 2024-12-08
  • 8592 переглядів

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

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

Эта статья будет полезной для тех, кому близко создание или доработка тем 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
Проголосовало: 17, в среднем: 4.8 из 5
Читайте також

Deprecated: Функція WP_Query викликана з аргументом, який вважається застарілим з версії 3.1.0! Вираз caller_get_posts застарілий. Використовуйте ignore_sticky_posts. in /var/www/vhosts/gnatkovsky.com.ua/gnatkovsky.com.ua/public/wp-includes/functions.php on line 6078