- get_categories() — функция для вывода рубрик
- Возвращаемые значения функции
- Пример 1. Выводим названия всех категорий через запятую
- Пример 2. Выводим все категории, даже пустые, в виде ссылок через запятую
- Пример 3. Создание выпадающего списка рубрик с автоматическим переходом на них при выборе
- Фильтр get_categories_taxonomy
- Вывод списка рубрик (категорий) на WordPress. Функции их аргементы и примеры использования.
- Функция wp_list_categories()
- Пример 1. Сортировка по ID.
- Пример 2. Удаляем заголовок списка рубрик.
- Пример 3. Вывод только дочерних пунктов одной из категорий.
- CSS классы
- Функция get_categories()
- Пример 4. Вывод ссылок на категории через запятую (в том числе будут включены и пустые).
- wp_list_categories() — вывод категорий в виде списка
- SEO Маяк
- wp_list_categories() — как выводить рубрики WordPress
- Функция wp_list_categories()
- Все аргументы функции wp_list_categories()
- Встроенные CSS классы для тегов li и ul
- Хуки функции
- Таблица изменений
get_categories() — функция для вывода рубрик
Удобная функция для вывода категорий в WordPress. Очень широко используется в плагинах и темах. Хотя лично я вместо неё предпочитаю get_terms().
taxonomy (строка) таксономия, по умолчанию — category (т.е. рубрики).
Все остальные параметры переменной $args полностью идентичны параметрам массива $args функции get_terms().
Возвращаемые значения функции
Функция возвращает массив, состоящий из объектов категорий (или других таксономий), удовлетворяющих заданным критериям. Каждый из объектов содержит информацию о категории, например ID, название, ярлык, описание и т.д. Содержимое объекта я уже рассматривал тут.
Пример 1. Выводим названия всех категорий через запятую
Напоминаю, что подробное описание всех параметров есть в документации функции get_terms().
Пример 2. Выводим все категории, даже пустые, в виде ссылок через запятую
Для получения ссылки на страницу архива рубрики можно использовать функции get_category_link() или get_term_link().
Пример 3. Создание выпадающего списка рубрик с автоматическим переходом на них при выборе
На момент написания этой статьи подобная навигация по рубрикам стоит у меня на блоге. На самом деле делается это совсем не трудно. Буквально одна строчка JavaScript — и всё готово.
Фильтр get_categories_taxonomy
Начиная с версии WordPress 2.7.0 параметр таксономии taxonomy можно пропустить через фильтр.
Если просто вставить этот фильтр в functions.php вашей темы, то функция get_categories() уже будет работать неправильно — вместо рубрик возвращать метки.
Используйте этот фильтр при необходимости и с осторожностью.
Впервые познакомился с WordPress в 2009 году. Организатор и спикер на конференциях WordCamp. Преподаватель в школе Нетология.
Если вам нужна помощь с сайтом или разработка с нуля на WordPress / WooCommerce — пишите. Я и моя команда будем рады вам помочь!
Источник
Вывод списка рубрик (категорий) на WordPress. Функции их аргементы и примеры использования.
Иногда перед разработчиками стоит задача вывести блок со списком рубрик на сайте на WordPress. Зачастую такие блоки вставляют либо на главной странице сайта, либо же в сайдбаре. Использовать стандартный виджет не очень удобно, так как у него нет настроек, а вам, например, нужно отсортировать, скрыть определенные рубрики, стилизировать, вывести дочерные рубрики и задать прочие параметры, чтобы получить результат как на макете дизайна. Конечно же, можно поискать плагины в репозитории, по типу «NS Category Widget», где есть дополнительные настройки для виджетов, но в этой статье мы рассмотрим, как реализовать такой функционал с помощью встроенных функций WordPress.
Функция wp_list_categories()
Для вывода списка категорий WordPress в виде ссылок используеться встроенная функция WordPress — wp_list_categories().
Пример кода, в котором для данной функции задается набор аргументов.
Аргументов, которые можно задать много, давайте рассмотрим те, которые чаще всего используются на практике.
- child_of – параметр, который указывает, отображать ли дочерние категории рубрик.
- depth – задает глубину вложенности категорий. По дефолту параметр «0», что означает вывод всех категорий. «1» — выведет только рубрики первого уровня. «n» — произвольное число вложенности, например, задав «2», вы ограничите вывод рубрики только первого и второго уровня вложенности. «-1» — показывать все категории, в том числе и дочерние в одном формате с родительскими, без системы вложенности.
- echo. Указывает выводить ли результат функции на экран, либо же просто возвращать его для последующей обработки. Варианты значений: «1» (true) – выводить, «0» (false) – не выводить, а просто вернуть данные.
- exclude – задаются id категорий через запятую, которые нужно исключить из списка вывода.
- include – также, задаются id рубрик через запятую, только уже тех, которые нужно вывести на сайте, остальные выводиться не будут.
- hide_empty – указывает выводить или нет пустые категории, к которым не привязана ни одна запись.
- hierarchical – показывать ли рубрики в виде вложенных списков в формате родительские и дочерние категории (древовидный вид).
- order – направление сортировки в списке категорий. Два параметры «ASC», от меньшего к большему, например (1, 2, 3), «DESC» наоборот, от большего к меньшему (3, 2, 1).
- orderby – параметр, по которому будет сортироваться ваш список рубрик. Возможные значения: «ID», «name» (названию), «slug» (по url, который вы задаете в админке), «count» (по количеству постов в категории), «term_group» (по группе). По-умолчанию сортировка идет по названию.
- separator – код разделителя между элементами списка.
- show_count – определяет отображать или нет количество записей в каждой категории. Число выводиться в скобках возле каждой ссылки. Значения: «1» (true) показывать, «0» (false) не показывать.
- style – стиль вывода рубрик. Тут возможные значения: «list» — выводит ссылки рубрик в виде списка (
- ), соблюдает вложенность; «none» — выводит только ссылки (), разделенные тегом (
). - taxonomy – определяет таксономию, с которой мы хотим работать, например «category».
- title_li – параметр, где задается заголовок списка. Если в качества значения для этого параметра задать пустые кавычки, то значение выводиться не будет. По умолчанию – «Категории».
- number – задает максимальное значение выводимых категорий. По дефолту выводятся все рубрики WordPress.
- pad_counts – подсчет всех постов дочерних категорий и вывод числа с их количеством возле родительской категории.
- walker — расширение объекта (класса), который предназначен для создания списка категорий.
Теперь, давайте рассмотрим конкретные примеры использования данной функции на практике.
Пример 1. Сортировка по ID.
Нужно вывести список рубрик в WordPress, отсортировать их по ID и исключить из списка несколько категорий.
Данный код отсортирует рубрики по ID и скроет вывод рубрик с ID 4 и 7.
Пример 2. Удаляем заголовок списка рубрик.
В этом примере мы указываем пустое значение для параметра title_li, которое и отвечает за заголовок блока, также мы задаем нужный нам список ID рубрик (2, 6), которые мы хотим выводить в этом блоке с помощью параметра include.
Таким образом, с помощью include вы полностью можете контролировать, какие из рубрик выводить, а какие нет.
Пример 3. Вывод только дочерних пунктов одной из категорий.
Задача: вывести дочерние рубрики, вложенные в категорию с отсортировать их по количеству постов, задать направление сортировки.
Тут, параметр child_of=2 и указывает, из какой категории брать вложенные пункты.
CSS классы
Функция wp_list_categories() при использования вывода в виде списка создает следующую структуру классов для стилизации блока.
Функция get_categories()
Второй вариант вывода списка рубрик в CMS WordPress – это использование функции get_categories(), которая возвращает массив, состоящий из объектов категорий (или других таксономий), удовлетворяющих заданным разработчиком критериям. Каждый объект содержит данные о категории: ID, название, уровень вложенности и прочее.
Код примера использования:
Пример 4. Вывод ссылок на категории через запятую (в том числе будут включены и пустые).
Для вывода ссылок на страницы рубрик, можно также использовать функции: get_category_link() или get_term_link().
Таким образом, используя функцию wp_list_categories(), которая помогает вывести как все, так и определенные рубрики, а также функцию get_categories(), которая помогает получить объекты всех рубрик для последующей работы с ними, можно реализовать кастомный блок с категориями на сайте на WordPress. Еще больше аргументов для функций для реализации гибкой настройки функций вы можете найти в кодексе данной CMS.
Источник
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». По умолчанию он добавляется к той категории, в которой в данный момент находится пользователь.
Источник
SEO Маяк
Блог Виталия Кириллова | Все о создании,
продвижении сайтов и заработке в интернете
Создание и продвижение сайтов, заработок в интернете
wp_list_categories() — как выводить рубрики WordPress
Всем привет! Сегодня на seo-mayak.com мы будем разбирать функцию wp_list_categories() , которая отвечает за вывод рубрик на WordPress.
Рубрики есть на большинстве сайтах, будь то коммерческие проекты или личные блоги и поэтому данная статья будет полезна многим веб-мастерам.
Известно, что рубрики или категории, как угодно, разбивают сайт на разделы. Заголовки данных разделов выводятся в виде меню на боковой панели сайта (сайдбаре) или в шапке, а в некоторых темах рубрики можно найти даже в подвале. Как они там оказываются?
Конечно в админке есть интерфейс виджетов, с помощью которых можно вывести меню на экран. Но я спрашивал не об этом!
Как там оказываются заголовки разделов и ссылки на них? Ведь мы же их там не прописывали. Вот об этом мы и будем сегодня с Вами говорить.
В WordPress заложено несколько функций, которые так или иначе, касаются вывода рубрик, но самая используемая из них — это wp_list_categories() .
Функция имеет массу настроек и уверен, что каждому, даже самому зеленому вебмастеру, не лишнем будет знать, как работает данная функция. Поехали!
Функция wp_list_categories()
Для начала я хочу сказать несколько слов об иерархической цепочке функций WordPress по работе с рубриками, где wp_list_categories() занимает не самое первое место.
Функция wp_list_categories() — это, так сказать, дочерняя функция, т.е. она работает на основе другой функции, а именно get_categories(), которая в свою очередь тоже имеет своего родителя — функцию get_terms().
В данной статье я не стану описывать всю анатомию взаимодействия вышеупомянутых функций, оставлю данную тему будущих постов, так что подписывайтесь на обновления блога , будет интересно!
Достаточно будет просто иметь представление о том, что процесс вывода рубрик — это сложное, многоступенчатое программное действо, которое в долю секунды осуществляется благодаря совместной работе нескольких php функций.
Функция wp_list_categories() — это конечный пункт сего действа, так сказать, продукт готовый к употреблению, поэтому работать с данной функцией довольно просто, если знать как устроена функция и какие аргумента она может принимать.
Теперь, для наглядного примера, возьмем стандартный виджет «Текст» и вставим в него функцию wp_list_categories() . Должно получится так:
Сохраняем и идем смотреть результат:
Вот так функция wp_list_categories() формирует вывод рубрик по умолчанию. Даже заголовок есть!
А теперь давайте разберемся, какие аргументы может принимать функция.
Все аргументы функции wp_list_categories()
В данном шаблоне приведены все аргументы которые может принимать функция.
Это шаблон! Не надо его никуда вставлять!
Итак, давайте пройдемся по всем аргументам и рассмотрим их на конкретных примерах. Приступим.
Значением данного аргумента может быть любой текст, который будет выведен первым пунктом в общем списке рубрик в качестве ссылки на главную страницу. Например:
По умолчанию: нет.
C помощью аргумента orderby можно сортировать вывод рубрик, в зависимости от его значений. Вот список значений:
ID — Сортировка будет осуществляться по ID родительских рубрик, начиная с 1 и по возрастанию;
name — Сортировка будет осуществляться по названию родительских рубрик, согласно алфавиту;
slug — Сортировка будет осуществляться по ярлыкам родительских рубрик, согласно алфавиту;
count — Сортировка будет осуществляться по количеству записей;
term_group — Сортировка по группе.
Давайте рассмотрим пример сортировки по количеству записей в рубриках, дополнительно используя аргумент show_count:
По умолчанию: name.
Данный аргумент отвечает за направление сортировки. Возможные значения:
ASC — сортировка в обычном порядке (от меньшего к большему);
DESC — сортировка в обратном порядке (от большего к меньшему);
Здесь есть один момент, который я хотел бы отметить. Рубрики без подрубрик окажутся в вверху списка не зависимо от количества записей:
По умолчанию: ASC.
С помощью этого аргумента можно задавать разделитель между ссылками. Действует только если значение аргумента: ‘style’ установлено ‘none’ .
С помощью этого аргумента можно задавать html структуру для меню рубрик.
list — Структура html для рубрик будет формироваться с использованием тегов
- и
;
none — Список рубрик будет выведен в виде обычных ссылок. Если не изменено значение аргумента: ‘separator’ , то перенос строк будет осуществляться с помощью тега
(вложенность подрубрик будет соблюдена).
По умолчанию: list.
Определяет показывать или не показывать количество записей в рубриках.
1 — Будет выводится количество записей в каждой рубрике;
0 — Количество записей выводится не будет.
Определяет включать или не включать в меню пустые рубрики.
1 — Пустые рубрики будут скрыты;
0 — Пустые рубрики будут включены в список.
Для каждой рубрики можно сделать описание (description). Если такое описание существует, то с помощью данного аргумента его можно встроить в html код.
1 — Описание (если оно есть) будет встроено в html код;
0 — Описание встраиваться не будет.
В качестве значения для аргумента child_of служит ID родительской рубрики, из которой надо вывести все дочерние категории. Допускается указывать только один ID.
Добавляет к названию каждой рубрики ссылку на rss-канал. В качестве значения задается текст, который и будет отображаться.
Не знаю использовал ли кто-нибудь данный аргумент, по мне, так он лишний.
По умолчанию: нет.
Указывает на тип фида.
По умолчанию: rss-2.
В качестве значения этого аргумента задается ссылка на изображение, которое будет выводится рядом с названием каждой рубрики, при этом аргумент feed перестает действовать.
По умолчанию: нет.
Аргумент exclude позволяет исключать одну или несколько рубрик из списка по их ID, при этом действие аргумента child_of (если он указан) будет отменено.
Если исключить родительские рубрики, например с ID 10 и 14:
В этом случаи будут исключены все дочерние рубрики, относящиеся к родителям с вышеупомянутыми ID.
Чтобы этого не произошло, в значении аргумента hierarchical надо установить 0, при этом дерево рубрик будет отключено.
Если hierarchical равен 0, то для исключения всей ветки используется аргумент exclude_tree.
По умолчанию: нет.
C помощью данного аргумента можно исключить из списка дерево одной или нескольких рубрик. В значении указывается ID одной или нескольких рубрик через запятую.
Если значение аргумента hierarchical равно 0, то используется аргумент exclude, вместо exclude_tree.
По умолчанию: нет.
Аргумент include позволяет вывести в меню только указанные рубрики. ID рубрик перечисляется через запятую.
Рубрики выводятся в точно соответствии с ID , т.е. если указать ID родительских рубрик, дочерние рубрики выведены не будут.
По умолчанию: нет.
Позволяет выводить дочерние категории в виде вложенного списка (дерева).
1 — выведет древовидный список рубрик.
0 — выведет рубрики сплошным типом, при этом родительские рубрики будут исключены.
Устанавливает заголовок для списка рубрик. В качестве значения указывается текст.
По умолчанию: Рубрики.
В том случаи, если по запросу не будет найдено ни одной рубрики, будет выведен указанный тест.
По умолчанию: Нет рубрик.
В данной аргументе можно установить лимит на отображение рубрик. Например:
Будет выведено 5 рубрик.
По умолчанию: нет.
Применения данного аргумента позволяет возвращать html код списка рубрик или выводить его на экран.
0 — Возвращать данные для дальнейшей обработки;
1 — Выводить список рубрик на экран.
Определяет глубину вложенности рубрик.
0 — Будут выведены все уровни рубрик без ограничений;
-1 — Будут выведены все уровни, но без дерева (сплошным типом). Отменяет аргумент hierarchical;
1 — Будут выведены рубрики только первого уровня. Все дочерние категории исключаются.
n — Произвольное числовое значение глубины вложенности рубрик для вывода на экран.
Интересный аргумент, позволяющий добавлять css класс current-cat к определенной рубрике. В обычном режиме такой класс добавляется к текущей рубрики и в основном применяется для подсветки. Также данный класс используется в php скриптах для удаления циклических ссылок.
В качестве значения указывается ID рубрики или нескольких рубрик через запятую.
По умолчанию: текущая рубрика.
Суммирует количество записей в дочерних рубриках и выводит результат в родительскую рубрику.
1 — выводит количество записей в родительскую рубрику;
0 — количество записей не выводится.
Значение 1 устанавливается автоматически при использовании show_count=1 и hierarchical=1 .
Определяет выводить или не выводить заголовок списка рубрик если нет ни одной записи.
0 — выводить заголовок;
1 — не выводить заголовок.
В качестве значение указывается название таксономии, рубрики которой будут выведены на экран. Незаменимый аргумент для вывода таксономий произвольных типов записей.
По умолчанию: category.
Аргумент принимает расширение объекта (класса), который предназначен для создание списка категорий. Передаваемый аргументу объект — это расширение для класса Walker_Category или Walker.
По умолчанию: Walker_Category.
Функция возвращает: HTML-контент, только если аргумент «echo» равен 0.
Встроенные CSS классы для тегов li и ul
Хуки функции
В работу функции можно вмешаться с помощью одноименного хука-фильтра wp_list_categories :
Живой пример использования хука можно посмотреть в статье Сквозные ссылки.
Таблица изменений
Версия | Дата | Описание |
---|---|---|
2.1.0 | 22.01.2007 | Внедрение |
2.3.0 | 24.09.2007 | Введен аргумент echo. |
2.5.0 | 29.03.2008 | Введен аргумент depth. |
2.6.0 | 15.07.2008 | Введен аргумент current_category. |
2.7.1 | 10.02.2009 | Введен аргумент exclude_tree. |
2.9.0 | 19.12.2009 | Введен аргумент pad_counts. |
3.0.0 | 17.06.2010 | Введен аргумент taxonomy. |
3.4.0 | 13.06.2012 | Удален аргумент show_last_update. |
4.4.0 | 08.12.2015 | Введены аргументы hide_title_if_empty и separator. Изменен аргумент current_category (теперь он стал необязательным). |
Файл: wp-includes/category-template.php (Развернуть)
С уважением, Виталий Кириллов
Источник