- Вывод категорий в WordPress: функция wp_list_categories
- Общие параметры функции
- Вывод определенных категорий в WordPress
- Вывод количества записей в рубрике
- Сортировка категорий по алфавиту
- Использование wp_list_categories с комплексом параметров
- Другие возможности wp_list_categories
- wp_list_categories() │ WP 2.1.0
- Возвращает
- Шаблон использования
- Использование
- Аргументы параметра $args
Вывод категорий в WordPress: функция wp_list_categories
Приветствую всех посетителей блога DmitriyZhilin.ru, в этой статье я расскажу вам о функции wp_list_categories, отвечающей за вывод категорий в WordPress. Данная функция позволяет нам в разном виде выводить рубрики наших сайтов без использования стандартного виджета «Рубрики».
Честно сказать, я не любитель ковыряться в коде, предпочитаю все специфические моменты в работе над своим блогом перекладывать на плечи профессиональных фрилансеров (найти их можно тут – Kwork ). Однако жизнь заставляет порой сделать что-то самому, особенно если объем работ небольшой и прибегать к услугам программистов нецелесообразно.
Работа с функцией wp_list_categories как раз один из тех случаев. Данная функция позволяет нам легко, просто и, главное, быстро настроить вывод рубрик (категорий) сайта на WordPress так как нам удобно: сделать вывод определенных разделов или исключить лишнее, отсортировать по алфавиту, настроить внешний вид и еще много чего.
Я буду показывать применение wp_list_categories на своем блоге в сайдбаре, с помощью виджета «PHP-код», позволяющего выполнять команды языка PHP (добавляется плагином PHP Code Widget). В данный виджет я буду вставлять различные фрагменты кода, которые и позволят нам поэкспериментировать с выводом категорий.
Общие параметры функции
Итак, для того чтобы просто вывести перечень всех категорий достаточно вставить в виджет «PHP-код» вот такой код:
При использовании данной функции, по умолчанию в блоке категорий выводится стандартный заголовок.
Оформление данного заголовка редко вписывается в дизайн сайтов, поэтому его зачастую либо просто удаляют, либо изменяют.
Для этого в нашу функцию через символ & добавляется параметр title_li= . С помощью кода, приведенного ниже, заголовок просто удаляется:
Для того, чтобы все-таки добавить заголовок в блок категорий, вы можете задать стандартным способом название самому виджету в который мы вставляем код или оформить его обычным HTML:
Также, как я уже сказал выше, с помощью того же параметра title_li= мы можем изменять заголовок рубрик. В этом случае код функции будет выглядеть следующим образом:
Блок категорий при использовании этого кода не будет отличаться от первоначального, только с другим текстом в первой строке.
Кстати, название блока категорий (в моем примере это фраза «Мои рубрики») также можно заключать в теги. Например, можно воспользоваться тегами выделения шрифта жирным или как заголовок, например:
Это позволит вам в некоторых случаях более удачно оформить свой блок категорий.
Вывод определенных категорий в WordPress
Едем дальше. С помощью функции wp_list_categories мы имеем возможность вывести только какие-то определенные категории в WordPress. Другими словами, мы можем указать какие конкретно категории нужно отобразить в блоке и сделать активными.
Дело в том, что каждая рубрика имеет свой индивидуальный id-номер. И выводить категории мы можем именно по этим самым номерам. Здесь читайте как посмотреть id категории в WordPress.
Чтобы указать id рубрик, которые мы хотим вывести нужно воспользоваться параметром include=. Вот как выглядит код, который отображает категории моего блога с id-номерами 80 и 91:
В результате блок с рубриками выводит две категории «Как создать сайт самому» и «Вопросы и ответы», и соответственно выглядит так (не забываем что title_li= скрывает/изменяет стандартный заголовок тега):
Также wp_list_categories позволяет указать какие рубрики не нужно отображать в блоке. Для этого существует параметр exclude=. По аналогии с предыдущей функцией указываем в ней id тех категорий, которые мы не хотим выводить:
Данным кодом я исключил все те же рубрики «Как создать сайт самому» и «Вопросы и ответы», в результате блок стал выглядеть так:
Вывод количества записей в рубрике
Кроме этого, с помощью данной функции можно указывать количество записей (статей), которые содержатся в той или иной категории. Здесь нам понадобится параметр show_count= :
Использование данного кода придает блоку рубрик следующий вид:
Некоторым при использовании отображения количества записей в категориях не нравится скобки. Чтобы их убрать и выводить числа без скобок необходимо использовать такой код:
Сортировка категорий по алфавиту
На случай если категории в блоке выводятся без сортировки по алфавиту предусмотрен параметр orderby= . Чтобы рубрики выстроились по названию необходимо задать этому параметру значение name :
У меня на блоге все рубрики изначально отсортированы по алфавиту, поэтому задавать этот параметр не нужно.
Ну что ж, теперь для закрепления информации давайте реализуем с помощью кода сразу несколько задач.
Использование wp_list_categories с комплексом параметров
Выведем только три рубрики с id 80 и 91, покажем сколько в этих категориях статей, уберем скобки вокруг цифры статей и зададим название блоку. Вот как в этом случае будет выглядеть код:
Этим кодом мы задали функции сразу несколько параметров и вот что получилось в результате:
Как вы заметили все параметры сработали и наш блок отобразился именно так, как мы и хотели.
Другие возможности wp_list_categories
Некоторым может показаться, что использовать wp_list_categories нет необходимости, ведь существует стандартный виджет «Рубрики». Отчасти да, применять на каждом шагу данную функцию смысла нет, но многие возможности в виджете не реализованы, кроме того, виджет работает только в сайдбаре, а с помощью функции вы можете делать вывод рубрик на страницу WordPress в любые места.
При работе над своим интернет ресурсом часто необходим особый подход к делу и реализация каких-то нестандартных задач. Поэтому информация о том, как можно гибко работать с различными функциями лишней не будет.
Те возможности данного тега, которые я привел в статье далеко не единственные. wp_list_categories обладает еще целым рядом параметров.
- параметрshow_option_all вырезает ссылки, т.е. он позволяет просто вывести список категорий вашего сайта без возможности перейти на страницу со статьями рубрик.
- hide_empty— этот параметр позволяет выводить/не выводить в блоке рубрики, в которых еще не опубликовано ни одной статьи.
- child_of— позволяет настраивать вывод подкатегорий одной или нескольких указанных категорий.
- number— дает возможность указать, сколько рубрик выводить в блоке.
Показывать и рассказывать обо всех возможностях функции wp_list_categories я не буду. Моя задача была рассказать вам, что такая функция есть, и ее легко можно применять при работе со своим сайтом.
Кому интересно узнать о всех возможностях этого тега, можете поискать информацию в интернете. Я уверен, сайтов, которые до винтиков разбирают функцию wp_list_categories будет много.
Подводя итог, могу сказать, что различных фишек, позволяющих расширить функционал наших с вами сайтов, огромное количество. И некоторые из них в той или иной ситуации могут облегчить нам работу.
О многих других интересных и полезных фишках я буду рассказывать в своих следующих статьях. Поэтому тем, кто серьезно занимается своим блогом я рекомендую подписаться на обновления.
wp_list_categories() │ WP 2.1.0
Выводит список категорий в виде ссылок. Если перейти по ссылке, то будут показаны все посты из категории.
Хуки из функции
Возвращает
null|Строку|false . HTML код если echo=1 . Если echo=0 вернет HTML код в переменную для дальнейшей обработки.
Шаблон использования
Использование
Аргументы параметра $args
Кроме указанных ниже параметров может принимать параметры get_terms().
- child_of (число)
- current_category (строка/массив)
- depth (число)
- echo (логический)
- exclude (строка)
- exclude_tree (строка)
- include (строка / массив)
- hide_empty (логический)
- hide_title_if_empty (логический)
- hierarchical (логический)
- order (строка)
- orderby (строка)
- separator (строка)
- show_count (логический)
- show_option_all (строка)
- show_option_none (строка)
- style (строка)
- taxonomy (строка)
- title_li (строка)
- use_desc_for_title (логический)
- number (число)
- pad_counts (логический)
- feed (логический)
- feed_type (строка)
- feed_image (строка)
- walker (объект)
child_of(число) Показать дочерние категории. В параметре указывается ID родительской категории (категория, вложенные категории которой нужно показать). current_category(строка/массив)
ID категории или массив из ID. К которым нужно добавить класс current-cat (class=»current-cat»). Это нужно, чтобы подсветить категорию через CSS стили.
В нормальном режиме такой класс добавляется к текущей категории на странице категорий. Этот параметр нужен, чтобы, например, добавить этот класс на отдельных страницах, которые не относятся к текущей категории.
С версии 4.4. в этот параметр можно передавать массив ID.
По умолчанию: »
Этот параметр контролирует глубину вложенности категорий, которые будут показаны. По умолчанию 0 — показывать все уровни вложенности (все дочерние категорий). С версии 2.5.
- 0 — все уровни вложенности (По умолчанию);
- -1 — показать все дочерние категории, но без вложенности li списков. Отменяет параметр hierarchical ;
- 1 — показать только категории первого уровня (все виды вложенных категорий не будут показываться);
- n — число — глубина вложенности которую нужно показывать. 2 — покажет категорий первого и второго уровня.
echo(логический)
Выводить на экран или возвращать для обработки.
- 1 (true) — да, выводить на экран;
- 0 (false) — нет, просто возвратить данные.
По умолчанию: true
Исключить категории из списка. Нужно указывать ID категорий через запятую.
- Если этот параметр указан, параметр child_of будет отменен.
- Если параметр heiararchical=true , то будет исключаться вся ветка. Если heiararchical=false , то для исключения ветки используйте параметр exclude_tree .
exclude_tree(строка) Исключить дерево категорий из списка. Указывайте ID категорий через запятую. Параметр include должен быть пустым. Если параметр heirarchical=true , то используйте exclude вместо exclude_tree .
По умолчанию: » include(строка / массив) Вывести списком только указанные категории. Список ID категорий проходит через wp_parse_id_list, поэтому можно указывать ID строкой через запятую или массивом.
По умолчанию: » hide_empty(логический)
Скрывать ли категории в которых нет записей?
- 0 (false) — показывать пустые (не скрывать);
- 1 (true) — не показывать пустые категории (скрывать).
hide_title_if_empty(логический) Нужно ли прятать $title_li если в списке нет элементов. С версии 4.4.
По умолчанию: false (всегда будет показываться) hierarchical(логический)
Показывать категории как дерево. Показывать вложенные (дочерние категории), как вложенный список.
- 1 (true) — да, древовидный тип отображения;
- 0 (false) — нет, показать сплошным типом.
По умолчанию: true
- ASC — по порядку, от меньшего к большему (1, 2, 3; a, b, c);
- DESC — в обратном порядке, от большего к меньшему (3, 2, 1; c, b, a).
Сортировка списка по определенным критериям. Например по количеству постов в каждой категории или по названию категорий. Доступны следующие критерии:
- ID — сортировка по ID;
- name — сортировка по названию (по умолчанию);
- slug — сортировка по алт. имени (slug);
- count — по количеству записей в категории;
- term_group — по группе.
По умолчанию: ‘name’
separator(строка) Разделитель между элементами. С версии 4.4.
По умолчанию: ‘
‘ show_count(логический)
Показывать/нет количество записей в категории. Число записей будет показано после названия категории в скобках (например, Психология (16)).
- 1 (true) — показывать количество записей;
- 0 (false) — не показывать количество записей.
show_option_all(строка)
Текст для отображения всех категорий.
Если передать не пустую строку, например ‘Все категории’ , то в список будет добавлена ссылка на все категории (часто это ссылка на главную страницу блога). Текстом ссылки станет текст переданный параметру, в данном случае Все категории .
По умолчанию: »
show_option_none(строка) Если функция не нашла ни одной категории для показа, то будет показан этот текст.
По умолчанию: ‘Нет рубрик’ style(строка)
Стиль вывода списка.
- list — означает, что нужно выводить списком в теге
- , вложенность категорий будет соблюдена.
- none — будут выведены только ссылки на категории ( ) разделенные тегом
.
По умолчанию: ‘list’
taxonomy(строка) Название таксономии, которую нужно обрабатывать.
По умолчанию: ‘category’ title_li(строка) Установить заголовок списка. Если изменить этот параметр на » ( title_li= ), то заголовок не будет выводиться вовсе.
По умолчанию: ‘Категории’ use_desc_for_title(логический)
Вставлять ли описание категории в атрибут title у ссылки ( ):
- 1 (true) — да, вставлять описание в title, если оно есть;
- 0 (false) — нет, не использовать описание (будет: Посмотреть все записи в рубрике «название категории»).
По умолчанию: false
number(число) Установить максимальное количество отображаемых категорий (SQL LIMIT). По умолчанию выводится без ограничений.
По умолчанию: » pad_counts(логический) Считать общее количество постов во вложенных категориях и показывать это число рядом с родительской категорией. Параметр включается автоматически при включенных show_count и hierarchical .
По умолчанию: 0 (false) feed(логический) Показать ли рядом с названием ссылку на RSS фид (rrs-2) категории. Текст переданный в этом параметре станет текстом ссылки.
По умолчанию: » feed_type(строка) Тип фида
По умолчанию: ‘rss-2’ feed_image(строка) Показать ли рядом с названием ссылку-картинку на RSS фид (rrs-2) категории. В параметре нужно указать ссылку на картинку. Если этот параметр указан, параметр $feed будет отменен.
По умолчанию: » walker(объект) Расширение объекта (класса), который предназначен для создание списка категорий. Передаваемый параметру объект — это расширение для класса Walker_Category или Walker .
По умолчанию: ‘Walker_Category’