Функция get_tags()
в WordPress используется для получения всех меток (тегов) записей, зарегистрированных в таксономии post_tag
. Она возвращает массив объектов, содержащих данные о метках, и позволяет гибко настраивать критерии получения меток с помощью аргументов.
get_tags( string|array $args = '' ): WP_Term[]|int|WP_Error
Параметры
- $args (необязательный) — массив или строка с аргументами для настройки получения меток. Поддерживает аргументы функции
get_terms()
, включая параметры сортировки, фильтрации и ограничения по количеству. По умолчанию, используется таксономияpost_tag
.
Возвращаемые значения
- Массив объектов (
WP_Term[]
) — возвращает массив объектов с данными о метках. - Целое число — количество меток, если указано соответствующее требование.
- Объект
WP_Error
— возвращает ошибку, если указаны неверные таксономии.
Основные свойства объекта WP_Term
Каждый объект WP_Term
, полученный с помощью get_tags()
, содержит следующую информацию:
- term_id — уникальный идентификатор метки.
- name — название метки.
- slug — слаг (альтернативное название, используемое в URL).
- term_taxonomy_id — ID элемента таксономии.
- taxonomy — название таксономии (в случае меток —
post_tag
). - description — описание метки.
- count — количество записей, привязанных к этой метке.
Пример 1: Вывод списка меток с ссылками
В этом примере мы получим все метки и выведем их в виде списка ссылок, каждая из которых будет содержать уникальный класс и атрибут title
:
$tags = get_tags();
$html = '<div class="post_tags">';
foreach ( $tags as $tag ) {
$tag_link = get_tag_link( $tag->term_id );
$html .= "<a href='{$tag_link}' title='{$tag->name} Tag' class='{$tag->slug}'>";
$html .= "{$tag->name}</a>";
}
$html .= '</div>';
echo $html;
Этот код создаст HTML-вывод со списком меток, где каждая метка будет ссылкой на страницу архива записей с этой меткой.
Пример 2: Получение меток с сортировкой по имени
Этот пример демонстрирует использование аргументов для получения всех меток и сортировки их по имени в алфавитном порядке:
$tags = get_tags( array(
'taxonomy' => 'post_tag',
'orderby' => 'name',
'hide_empty' => false, // Показывать даже метки без записей
) );
$html = '<div class="sorted_tags">';
foreach ( $tags as $tag ) {
$tag_link = get_tag_link( $tag->term_id );
$html .= "<a href='{$tag_link}'>{$tag->name}</a> ";
}
$html .= '</div>';
echo $html;
Пример 3: Вывод всех меток в формате списка <ul>
Этот пример выводит все метки в виде упорядоченного списка (<ul>
), каждая метка будет ссылкой на страницу этой метки:
$tags = get_tags( array('get' => 'all') );
$output = '<ul class="tag-cloud-list">';
if ( $tags ) {
foreach ( $tags as $tag ) {
$output .= '<li><a href="' . get_term_link( $tag ) . '">' . $tag->name . '</a></li>';
}
} else {
$output .= '<li>' . __( 'Метки не созданы.', 'text-domain' ) . '</li>';
}
$output .= '</ul>';
echo $output;
Этот код генерирует HTML, который создаст список всех меток с активными ссылками.
Пример 4: Получение меток с ограничением по количеству
В этом примере мы получаем только первые 10 меток и выводим их в виде ссылок:
$tags = get_tags( array(
'number' => 10,
'orderby' => 'count',
'order' => 'DESC'
) );
$html = '<div class="top_tags">';
foreach ( $tags as $tag ) {
$tag_link = get_tag_link( $tag->term_id );
$html .= "<a href='{$tag_link}'>{$tag->name}</a> ";
}
$html .= '</div>';
echo $html;
Аргументы для get_tags()
Некоторые важные аргументы, которые можно передавать в get_tags()
:
- taxonomy — таксономия для меток. По умолчанию:
post_tag
. - orderby — сортировка меток. Возможные значения:
name
,count
,id
. - order — порядок сортировки:
ASC
(по возрастанию) илиDESC
(по убыванию). - number — количество меток, которые нужно получить.
- hide_empty — скрывать метки без записей (по умолчанию
true
). - slug — фильтрация меток по слагу.
- fields — какие поля вернуть. По умолчанию возвращает все поля.
Заключение
Функция get_tags()
— это мощный инструмент для получения меток в WordPress. Она позволяет настроить гибкие параметры для фильтрации, сортировки и ограничения количества получаемых меток. Вы можете использовать её для динамического отображения меток в различных шаблонах и сценариях, улучшая функциональность вашего сайта.