Вывести название таксономии wordpress

Содержание
  1. get_terms() – функция для вывода элементов таксономий
  2. Пример. Выводим отсортированные по имени рубрики в виде выпадающего списка
  3. Синтаксис
  4. Параметры массива $args
  5. Возвращаемые значения
  6. Выводим список из 5-и рубрик, отсортированных по количеству записей
  7. Таксономии
  8. 1. Стандартные таксономии в WordPress
  9. Рубрики и метки
  10. Рубрики ссылок
  11. Форматы постов
  12. 2. Пользовательские таксономии
  13. Чуть подробнее про регистрацию таксономии
  14. Как присваивать таксономии к различным типам записей
  15. Вывод таксономий в виде списка
  16. Вывод постов из таксономии
  17. 3. Плагины для работы с таксономиями
  18. Некоторые из функций для работы с таксономиями
  19. get_taxonomies() WP 3.0.0
  20. Возвращает
  21. Использование
  22. Примеры
  23. #1. Получим массив названий всех зарегистрированных таксономий
  24. #2. Получим только публичные таксономии
  25. #3. Получим таксономию ‘genre’
  26. Как вывести заголовок текущей таксономии, ссылку и другое в WordPress

get_terms() – функция для вывода элементов таксономий

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

Короче говоря вы можете вывести в любом виде рубрики с блога, метки, а также таксономии, созданные вами . Если же надо получить текущий элемент таксономии, то воспользуйтесь функциями get_query_var() (co значением параметра равным term — так вы получите ярлык текущего элемента таксономии) и get_term_by() (со значением первого параметра равным slug ).

Пример. Выводим отсортированные по имени рубрики в виде выпадающего списка

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

Вот что у меня получилось в результате выполнения этого кода на тестовом сайте:

Слева — сам список (открытый), а справа его HTML-код.

Синтаксис

$args
(строка|массив) параметры по типу, как в WP_Query, их тоже можно записать и в виде массива и в виде строки.

Читайте также:  Мембранные ткани что это такое как стирать

Параметры массива $args

taxonomy
(строка|массив) название таксономии или массив таксономий, например array( ‘category’, ‘post_tag’ ) .

number
(целое число) количество элементов, которые нужно вывести, по умолчанию выводятся все.

offset
(целое число) сколько элементов нужно пропустить, то есть если offset=2 , то начинаем с третьего.

include
(целое число|строка|массив) укажите ID элементов, которые нужно вывести, можно указать число, числа через запятую в виде строки или одномерный массив чисел, например так:

Если вы хотите исключить какие-то элементы, не пытайтесь использовать минус перед числом, просто смотрите следующий параметр.

exclude
(целое число|строка|массив) укажите ID элементов, которые нужно исключить.

exclude_tree
(целое число|строка|массив) если вы исключате родительские элементы и хотите сразу же исключить все дочерние, то этот параметр для вас.

orderby
(строка) сортировать по:

  • id — по ID элементов (по умолчанию),
  • count — по количеству постов,
  • name — по имени,
  • slug — по ярлыку,
  • term_group — по значениям колонки term_group в таблице wp_terms базы данных,
  • include — в том же порядке, в котором указаны элементы в параметре include,
  • meta_value и meta_value_num – по значению произвольного поля,
  • none — без сортировки;

order
(строка) порядок сортировки.

  • ASC — по возрастанию (по умолчанию),
  • DESC — по убыванию;

hide_empty
(логическое) нужно ли добавлять в результат также и пустые (без постов) рубрики/метки/элементы таксономий:

  • true — не нужно (по умолчанию),
  • false — нужно;

fields
(строка) в каком виде выводить результат:

    all — массив объектов элементов таксономий (по умолчанию), после print_r() он будет выглядеть так:

slug
(строка) возвращает элементы, ярлыки которых совпадают с заданным значением.

hierarchical
(логическое) нужно ли включить в результат родительские элементы, даже если в них нет постов?

  • 1 — нужно (по умолчанию),
  • 0 — не нужно;

name__like
(строка) возвращает только те элементы, названия которых начинаются с заданного значения (без чувствительности в регистру), например:

search
(строка) возвращает только те элементы, названия которых содержат заданное значение (без чувствительности в регистру).

pad_counts
(логическое) влияет только на числовые значения количества постов в родительских элементах.

  • 1 — количество постов родительского элемента суммируется с количеством постов дочерних элементов,
  • 0 — не суммируется (по умолчанию);

get
(строка)

  • all — вывести все элементы, вне зависимости от параметров offset , hide_empty , child_of (по умолчанию — пустая строка)

child_of
(целое число) вывести все элементы таксономии, которые являются дочерними для элемента с указанным ID вне зависимости от уровня вложенности.

parent
(целое число) вывести элементы таксономии, которые являются дочерними для элемента с указанным ID и находятся на первом уровне вложенности. Если указать 0, то будут выведены только элементы верхнего уровня.

meta_key
(строка) Укажите это значение ключа мета поля, если хотите получить только элементы таксономи, содержащие его.

meta_value
(строка) Значение мета поля элементов таксономии для указанного ключа meta_key .

meta_query
(массив) Работает так же, как и meta_query в WP_Query при выводе постов. О нём даже есть отдельный урок.

cache_domain
(строка) (с версии 3.2) если вы планируете использовать get_terms с указанными параметрами несколько раз, укажите в качестве значения cache_domain уникальную фразу, чтобы задействовать кэш (по умолчанию — «core»).

Возвращаемые значения

Если параметр fields не изменен, то функция возвращает массив объектов, каждый из которых содержит следующую информацию об элементе таксономии.

  • term_id — ID рубрики/метки/элемента таксономии
  • name — название
  • slug — ярлык
  • term_group — значение term_group из базы данных (особого применения пока что нет, в основном — в плагинах)
  • term_taxonomy_id — ID таксономии
  • taxonomy — название таксономии
  • description — описание элемента (можно заполнить в админке при создании и редактировании)
  • parent — ID родительского элемента
  • count — количество записей

Выводим список из 5-и рубрик, отсортированных по количеству записей

В этом примере параметры функции задаются в виде массива:

Тот же самый пример, но только с заданными в виде строки параметрами:

Источник

Таксономии

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

Начну с того, что таксономии нужны для группировки постов.

Каким образом? Ну возьмём к примеру хэштеги в инстаграм — когда вы постите фото и присваиваете ему теги — это как раз и есть та самая группировка, о которой я говорю. По умолчанию WordPress тоже поддерживает теги для постов, а ещё рубрики. И их можно объединить одним словом — таксономии.

В WP есть стандартные таксономии, а также те, которые разработчики и пользователи создают сами.

1. Стандартные таксономии в WordPress

Рубрики и метки

Что-то мне подсказывает, что если вы читаете этот пост, то вы уже представляете, что такое рубрики (категории) и метки (теги), что у рубрик есть иерархия, у меток нет и так далее.

А теперь мне нужно донести одну важную мысль.

В WordPress есть своя группа функций для работы с рубриками и отдельная группа функций для работы с метками. Наверняка с какими-то из них вы уже знакомы.

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

Рубрики ссылок

Если рубрики и метки в WordPress были нужны для группировки записей, то данная таксономия, как понятно из названия — для группировки ссылок.

Если вы недавно установили WP, то вы не найдёте их у себя в админке. Дело в том, что с версии 3.5 ссылки по умолчанию сделали отключенными. Но не удалили — вставьте следующий код в файл functions.php вашей темы и ссылки вновь появятся у вас в админке. Вполне возможно, что вы найдете им применение.

Форматы постов

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

2. Пользовательские таксономии

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

Чуть подробнее про регистрацию таксономии

Техническую сторону регистрации я подробно описал в статье про функцию register_taxonomy(). Сейчас же мы рассмотрим несколько моментов.

    Регистрация таксономии бывает нужна, когда требуется добавить еще один критерий группировки постов, в особенности — произвольных типов постов.

Пример: вы зарегистрировали тип записей — Автомобили, и их нужно группировать скажем по марке, стране и по объему двигателя (хотя объем лучше затолкать в произвольные поля).

Как присваивать таксономии к различным типам записей

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

Если же изменение параметров регистрирующей функции не в вашей власти (возьмем те же рубрики и метки), тогда вы можете и должны использовать register_taxonomy_for_object_type().

Допустим вы взяли и захотели, чтобы в рубрику можно было добавлять не только записи но и страницы! Тогда код будет следующим:

Другие примеры смотрите в описании функции, ссылку на которое я дал вам выше.

Вывод таксономий в виде списка

Вы знакомы с функцией wp_list_categories()? Если нет, то наверняка видели, как на блогах рубрики выводятся в столбик в виде списка (иногда еще справа в скобках указывается количество постов в рубрике).

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

Где же брать название таксономии?

  • Если таксономию создавали вы сами, то этот вопрос у вас не должен возникать.
  • Если же нет, то просто откройте страницу этой таксономии и посмотрите на ссылку в браузере:

Более сложный, но в то же время более удобный и настраиваемый вариант — функция get_terms(). Если бы мне предложили выбрать любимую функцию из кодекса, я бы выбрал её — она реально потрясающая.

Вывод постов из таксономии

Тут нам безусловно поможет WP_Query с параметром tax_query . Подробное описание и примеры смотрите здесь.

3. Плагины для работы с таксономиями

Сам я придерживаюсь мнения, что в данном случае лучше обойтись без лишних плагинов, тем не менее вот некоторые бесплатные варианты:

  • Simple Taxonomies by Yoast,
  • Pods,
  • Types.

Некоторые из функций для работы с таксономиями

Впервые познакомился с WordPress в 2009 году. Организатор и спикер на конференциях WordCamp. Преподаватель в школе Нетология.

Если вам нужна помощь с сайтом или разработка с нуля на WordPress / WooCommerce — пишите. Я и моя команда будем рады вам помочь!

Источник

get_taxonomies() WP 3.0.0

Получает список зарегистрированных таксономий. Можно ограничить список по нужным параметрам.

Возвращает

  • массив названий, если параметр $output равен ‘names’
  • массив объектов таксономий, если параметр $output равен ‘objects’.

Массив объектов таксономий представляет собой массив, описывающий подробно каждую таксономию.

Использование

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

Параметры которые можно указать в массиве:

  • name — название таксономии;
  • object_type — (массив) к каким типам записей прикреплена таксономия;
  • hierarchical — true — покажет только древовидные таксономии;
  • show_in_nav_menus
  • cap — (объект) права;
  • label — заголовок (название таксономии);
  • labels — (объект) заголовки таксономии (различные названия);
  • singular_label
  • show_ui
  • show_tagcloud
  • public — true — получить публичные таксономии;
  • update_count_callback
  • rewrite
  • query_var
  • manage_cap
  • edit_cap
  • delete_cap
  • assign_cap
  • _builtin — false — исключить встроенные таксономии (например, category).

Полный список и что означает каждый параметр, смотрите в описании функции register_taxonomy().

По умолчанию: нет

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

names — Получить только названия зарегистрированных таксономий. По умолчанию.

  • objects — Получить массив объектов, содержащих полную информацию о таксономиях.
  • По умолчанию: «names»

    $operator(строка) Оператор который будет использоваться для множественных аргументов параметра $args. Может быть: and или or .
    По умолчанию: ‘and’

    Примеры

    #1. Получим массив названий всех зарегистрированных таксономий

    1.2. Выведем на экран все зарегистрированные таксономии:

    #2. Получим только публичные таксономии

    Выведем на экран список публичных (‘public’ => true) не встроенных таксономий (произвольных) (‘_builtin’ => false):

    #3. Получим таксономию ‘genre’

    Получим таксономию с названием ‘genre’ (‘name’ => ‘genre’) и выведем на экран название:

    Источник

    Как вывести заголовок текущей таксономии, ссылку и другое в WordPress

    Опубликовано: ADv Дата 18.10.2013 в рубрике Своя тема 7 комментариев

    Недавно один из наши читателей попросил разобраться с проблемой в шаблоне. У него была установлена кнопка «Поделиться» на всех страницах, включая страницу архивов. Однако, таксономия страниц архива передавала информацию кнопке о последних записях, вместо собственно таксономии архива (т.е. пользователь «делился» не самой текущей страницей, а записями на ней). Разобравшись в коде, мы выяснили что вызывались теги the_permalink(); и the_title();, которые зарезирвированы для записей блога, а не страниц архива. В этой статье мы покажем вам как получить заголовок текущей таксономии, ссылку другую информацию определенной таксономии страницы архива.

    Все, что нужно сделать, это вставить следующий код в вашу страницу архива.

    Этот код получает информацию текущей таксономии, в зависимости от страницы архива, на которой вы находитесь. Например, если вы — в категории под названием “business”, то код получит информацию для этой таксономии.

    После этой строки кода вы можете использовать ее для вывода заголовка таксономии и другой информации типа:

    Можно подставлять сюда следующие значения:

    • term_id
    • name
    • slug
    • term_group
    • term_taxonomy_id
    • taxonomy
    • description
    • parent
    • count

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

    Источник

    Оцените статью