Меню

Вывести название всех рубрик wordpress

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 (Развернуть)

С уважением, Виталий Кириллов

Источник