Вывод категорий в WordPress: функция wp_list_categories

Приветствую всех посетителей блога DmitriyZhilin.ru, в этой статье я расскажу вам о функции wp_list_categories, отвечающей за вывод категорий в WordPress. Данная функция позволяет нам в разном виде выводить рубрики наших сайтов без использования стандартного виджета «Рубрики».

вывод категорий в WordPress

Честно сказать, я не любитель ковыряться в коде, предпочитаю все специфические моменты в работе над своим блогом перекладывать на плечи профессиональных фрилансеров (найти их можно тут — Kwork). Однако жизнь заставляет порой сделать что-то самому, особенно если объем работ небольшой и прибегать к услугам программистов нецелесообразно.

Работа с функцией wp_list_categories как раз один из тех случаев. Данная функция позволяет нам легко, просто и, главное, быстро настроить вывод рубрик (категорий) сайта на WordPress так как нам удобно: сделать вывод определенных разделов или исключить лишнее, отсортировать по алфавиту, настроить внешний вид и еще много чего.

Я буду показывать применение wp_list_categories на своем блоге в сайдбаре, с помощью виджета «PHP-код», позволяющего выполнять команды языка PHP (добавляется плагином PHP Code Widget). В данный виджет я буду вставлять различные фрагменты кода, которые и позволят нам поэкспериментировать с выводом категорий.

Общие параметры функции

Итак, для того чтобы просто вывести перечень всех категорий достаточно вставить в виджет «PHP-код» вот такой код:

<?php wp_list_categories('arguments');?>

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

wp_list_categories базовая функция

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

Для этого в нашу функцию через символ & добавляется параметр title_li= . С помощью кода, приведенного ниже, заголовок просто удаляется:

<?php wp_list_categories('arguments&title_li=');?>

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

виджет с названием

Также, как я уже сказал выше, с помощью того же параметра  title_li=  мы можем изменять заголовок рубрик. В этом случае код функции будет выглядеть следующим образом:

<?php wp_list_categories('title_li=Мои рубрики');?>

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

Кстати, название блока категорий (в моем примере это фраза «Мои рубрики») также можно заключать в теги. Например, можно воспользоваться тегами выделения шрифта жирным или как заголовок, например:

<?php wp_list_categories('title_li=<h3>Мои рубрики</h3>');?>

Это позволит вам в некоторых случаях более удачно оформить свой блок категорий.

Вывод определенных категорий в WordPress

Едем дальше. С помощью функции wp_list_categories мы имеем возможность вывести только какие-то определенные категории в WordPress. Другими словами, мы можем указать какие конкретно категории нужно отобразить в блоке и сделать активными.

Дело в том, что каждая рубрика имеет свой индивидуальный id-номер. И выводить категории мы можем именно по этим самым номерам. Здесь читайте как посмотреть id категории в WordPress.

Чтобы указать id рубрик, которые мы хотим вывести нужно воспользоваться параметром  include=. Вот как выглядит код, который отображает категории моего блога с id-номерами 80 и 91:

<?php wp_list_categories('include=80,91&title_li=');?>

В результате блок с рубриками выводит две категории «Как создать сайт самому» и «Вопросы и ответы», и соответственно выглядит так (не забываем что title_li= скрывает/изменяет стандартный заголовок тега):

вывод определенных категорий

Также wp_list_categories позволяет указать какие рубрики не нужно отображать в блоке. Для этого существует параметр exclude=. По аналогии с предыдущей функцией указываем в ней id тех категорий, которые мы не хотим выводить:

<?php wp_list_categories('exclude=80,91&title_li=');?>

Данным кодом я исключил все те же рубрики «Как создать сайт самому» и «Вопросы и ответы», в результате блок стал выглядеть так:

исключение рубрик по id

Вывод количества записей в рубрике

Кроме этого, с помощью данной функции можно указывать количество записей (статей), которые содержатся в той или иной категории. Здесь нам понадобится параметр show_count= :

<?php wp_list_categories('show_count=1&title_li=');?>

Использование данного кода придает блоку рубрик следующий вид:

категории с количеством записей

Некоторым при использовании отображения количества записей в категориях не нравится скобки. Чтобы их убрать и выводить числа без скобок необходимо использовать такой код:

<?php
$variable = wp_list_categories('echo=0&show_count=1&title_li=');
$variable = str_replace(array('(',')'), '', $variable);
echo $variable;?>

Скобки пропадут.

Сортировка категорий по алфавиту

На случай если категории в блоке выводятся без сортировки по алфавиту предусмотрен параметр orderby= . Чтобы рубрики выстроились по названию необходимо задать этому параметру значение name :

<?php wp_list_categories('orderby=name&title_li=');?>

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

Ну что ж, теперь для закрепления информации давайте реализуем с помощью кода сразу несколько задач.

Использование wp_list_categories с комплексом параметров

Выведем только три рубрики с id 80 и 91, покажем сколько в этих категориях статей, уберем скобки вокруг цифры статей и зададим название блоку. Вот как в этом случае будет выглядеть код:

<?php
$variable = wp_list_categories('echo=0&show_count=1&include=80,91&title_li=Рубрики сайта');
$variable = str_replace(array('(',')'), '', $variable);
echo $variable;
?>

Этим кодом мы задали функции сразу несколько параметров и вот что получилось в результате:

параметры функции wp_list_categories

Как вы заметили все параметры сработали и наш блок отобразился именно так, как мы и хотели.

Другие возможности wp_list_categories

Некоторым может показаться, что использовать wp_list_categories нет необходимости, ведь существует стандартный виджет «Рубрики». Отчасти да, применять на каждом шагу данную функцию смысла нет, но многие возможности в виджете не реализованы, кроме того, виджет работает только в сайдбаре, а с помощью функции вы можете делать вывод рубрик на страницу WordPress в любые места.

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

Те возможности данного тега, которые я привел в статье далеко не единственные. wp_list_categories обладает еще целым рядом параметров.

Например:

  • параметрshow_option_all вырезает ссылки, т.е. он позволяет просто вывести список категорий вашего сайта без возможности перейти на страницу со статьями рубрик.
  • hide_empty— этот параметр позволяет выводить/не выводить в блоке рубрики, в которых еще не опубликовано ни одной статьи.
  • child_of— позволяет настраивать вывод подкатегорий одной или нескольких указанных категорий.
  • number— дает возможность указать, сколько рубрик выводить в блоке.

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

Кому интересно узнать о всех возможностях этого тега, можете поискать информацию в интернете. Я уверен, сайтов, которые до винтиков разбирают функцию wp_list_categories будет много.

Подводя итог, могу сказать, что различных фишек, позволяющих расширить функционал наших с вами сайтов, огромное количество. И некоторые из них в той или иной ситуации могут облегчить нам работу.

О многих других интересных и полезных фишках я буду рассказывать в своих следующих статьях. Поэтому тем, кто серьезно занимается своим блогом я рекомендую подписаться на обновления.

А на сегодня всё, удачной работы!

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

Ваш адрес email не будет опубликован. Обязательные поля помечены *