- Вывод категорий в WordPress: функция wp_list_categories
- Общие параметры функции
- Вывод определенных категорий в WordPress
- Вывод количества записей в рубрике
- Сортировка категорий по алфавиту
- Использование wp_list_categories с комплексом параметров
- Другие возможности wp_list_categories
- get_categories() WP 2.1.0
- Возвращает
- Шаблон использования
- Использование
- Аргументы передаваемые в $args
- Примеры
- #1 Выпадающий список
- #2 Список категорий и их описание
- wp_list_categories() — вывод категорий в виде списка
Вывод категорий в 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 будет много.
Подводя итог, могу сказать, что различных фишек, позволяющих расширить функционал наших с вами сайтов, огромное количество. И некоторые из них в той или иной ситуации могут облегчить нам работу.
О многих других интересных и полезных фишках я буду рассказывать в своих следующих статьях. Поэтому тем, кто серьезно занимается своим блогом я рекомендую подписаться на обновления.
Источник
get_categories() WP 2.1.0
Возвращает массив объектов содержащих информацию о категориях.
Параметры передаваемые этой функции очень похожи на параметры передаваемые функции wp_list_categories() и могут быть переданы как в виде массива, так и в виде строки запроса: type=post&order=DESC .
Хуки из функции
Возвращает
Массив . Массив объектов рубрик (категорий).
Шаблон использования
Использование
Аргументы передаваемые в $args
Полный список параметров и их значений смотрите в описании get_terms().
Тип категорий, которые будут получены.
- post — категории для постов (по умолчанию);
- link — разделы ссылок.
По умолчанию: «post»
child_of(строка) Получить дочерние категории (включая все уровни вложенности), указанной категории. В параметре указывается ID родительской категории (категория, вложенные категории которой нужно показать). parent(число) Получает категории, родительская категория которых указана в этом параметре. Отличие от child_of в том, что будет показан один (только первый) уровень вложенности.
По умолчанию: » orderby(строка)
Сортировка полученных данных по определенным критериям. Например, по количеству постов в каждой категории или по названию категорий. Доступны следующие критерии:
- id или term_id — по ID.
- name — по названию. По умолчанию.
- count — по полю count в term_taxonomy — по количеству записей.
- slug — по альтернативному названию.
- description — по описанию.
- term_group — по группе.
parent — по полю parent.
По умолчанию: «name»
Направление сортировки, указанной в параметре «orderby»:
- ASC — по порядку, от меньшего к большему (1, 2, 3; a, b, c);
- DESC — в обратном порядке, от большего к меньшему (3, 2, 1; c, b, a).
Получать или нет пустые категории (не имеющие записей):
- 1 (true) — не получать пустые,
- 0 (false) — получать пустые.
По умолчанию: true
hierarchical(логический) Если параметр установлен в true, то в результат будут включены пустые дочерние категории, дочерние категории которых имеют записи (непустые).
По умолчанию: true exclude(строка/массив) Исключить какие-либо категории из списка. Нужно указывать ID категорий через запятую или в массиве. Если этот параметр указан, параметр child_of будет отменен.
По умолчанию: » include(строка/массив) Вывести списком только указанные категории. Указывать нужно ID категорий через запятую или в массиве.
По умолчанию: » number(число) Лимит. Число категорий, которые будут получены. По умолчанию без ограничений — будут получены все категории. pad_counts(логический) Если передать true, то число которое показывает количество записей в родительских категориях будет суммой своих записей и записей из дочерних категорий.
По умолчанию: false
Примеры
#1 Выпадающий список
Для того, чтобы создать выпадающий список из категорий мы можем воспользоваться другой специальной для этой цели, функцией wp_dropdown_categories() :
однако с таким подходом мы лишимся определенной гибкости в настройке списка, так как мы получи уже полностью сформированный список.
Поэтому, в некоторых случаях будет логичнее создать выпадающий список с помощью функции get_categories(). Вот пример (предполагается что нам нужно вывести подкатегории (дочерние) категории 10):
#2 Список категорий и их описание
Этот пример покажет нам как можно вывести списком ссылки на категории, где сразу после каждой ссылки будет идти описание категории (указывается при создании/редактировании категории):
Источник
wp_list_categories() — вывод категорий в виде списка
Эта функция довольно часто используется в темах WordPress для создания меню. А так же с её помощью очень удобно выводить виджет со списком категорий в сайдбаре. Когда я говорю список, я имею ввиду HTML-список.
Если же вам нужно вывести рубрики к текущей записи или к записи с указанным ID — воспользуйтесь функцией the_category() или get_the_category().
А теперь рассмотрим простейший пример:
Этот код выведет список категорий, отсортированных по имени. Вот как это будет выглядеть в HTML, самый обычный список со ссылками:
Теперь добавим несколько параметров
Оставляем сортировку по имени, но теперь категории будут выводиться не через
-список, а просто в виде ссылок (каждая с новой строки), пустой параметр title_li означает, что не нужно добавлять заголовок. Вот, как это выглядит в HTML-коде:
Понятно, что чем больше вы засунете параметров в скобки, тем труднее будет во всем этом разобраться в дальнейшем, поэтому есть ещё один вариант записи.
Сначала идёт присвоение значений массиву $args, а потом он просто указывается в скобках.
Теперь посмотрим, какие ещё могут быть параметры у функции:
show_option_all
(строка) Нужно ли добавить ссылку на главную страницу? Можно указать любое значение, например ‘На главную’ — оно и будет анкором для ссылки.
orderby
(строка) Каким образом вы хотите отсортировать категории?
- ID — по id категории (по умолчанию)
- name — по имени
- slug — по ярлыку
- count — по числу записей
order
(строка) Устанавливает порядок сортировки.
- asc — по возрастанию (по умолчанию)
- desc — по убыванию
style
(строка) Стиль вывода списка категорий.
- list — в виде
- -списка (по умолчанию)
- none — в виде ссылок, разделенных тегом
show_count
(логическое) Указывает в скобках количество постов в каждой из рубрик.
hide_empty
(логическое) Нужно ли исключить пустые рубрики (категории) из списка?
use_desc_for_title
(логическое) Нужно ли использовать описание рубрик в атрибуте title для ссылок, если оно имеется. (пример:
- 1 — да (по умолчанию)
- 0 — нет
child_of
(целое число) Нужно указать id рубрики, подрубрики которой вы хотите вывести.
feed
(строка) Рядом с каждой категорией вставляет ссылку на RSS-ленту. Указанное значение будет анкором этих ссылок.
feed_image
(строка) Аналогичен предыдущему параметру, но только вставляет ссылку с картинкой. В качестве значения укажите адрес картинки.
feed_type
(строка) Тип RSS-ленты.
exclude
(целое число) Перечислите через запятую id категорий, которые вы хотите исключить из списка.
exclude_tree
(целое число) Исключить рубрику и все её подрубрики из списка. Работает только при выключенном hierarchical.
include
(целое число) Укажите через запятую категории (их id), которые вы хотите включить в список.
hierarchical
(логическое) Нужно ли создавать вложенные списки для подкатегорий?
title_li
(строка) Заголовок для списка категорий. По умолчанию __( ‘Categories’ ). То есть в русском WordPress это будет переведено в «Рубрики». Оставьте параметр пустым, чтобы избавиться от заголовка.
number
(целое число) Сколько категорий нужно отобразить в списке?
echo
(логическое) Вывод списка категорий или сохранение результата в переменную.
depth
(целое число) Количество уровней вложенности списка.
- 0 — неограниченно (по умолчанию)
- -1 — без уровней вложенности, параметр hierarchical игнорируется
- n — любое целое число
taxonomy
(строка) Выберите таксономию для вывода:
- category — рубрики (по умолчанию)
- taxonomy — любая зарегистрированная таксономия
current_category
(целое число) Укажите id категории из списка, для которой вы хотите добавить css-класс «current-cat». По умолчанию он добавляется к той категории, в которой в данный момент находится пользователь.
Источник