Функция get_the_tags()
используется для получения меток, присвоенных записи. В отличие от функции get_the_tag_list()
, которая возвращает строку с HTML-кодом, эта функция возвращает массив объектов меток, что дает возможность более гибкой работы с данными.
get_the_tags( int|WP_Post $post ): WP_Term[]|false|WP_Error
Описание параметров
- $post (обязательный)
ID записи или объект записи (WP_Post
). Если функция используется внутри Цикла WordPress, этот параметр можно не указывать, и функция автоматически возьмет текущий пост.
Возвращаемое значение
- Массив объектов
WP_Term
: если у записи есть метки, функция возвращает массив объектов меток, каждая из которых содержит данные о метке. false
: если у записи нет меток.WP_Error
: если произошла ошибка, например, если пост с указанным ID не существует.
Пример структуры объекта WP_Term
Каждый объект в массиве, который возвращает функция get_the_tags()
, содержит следующую информацию:
WP_Term Object
(
[term_id] => 108
[name] => Tag 1
[slug] => tag-1
[term_group] => 0
[term_taxonomy_id] => 109
[taxonomy] => post_tag
[description] =>
[parent] => 0
[count] => 10
[filter] => raw
)
Пример 1: Вывод названий меток через пробел
Этот пример выводит названия всех меток записи, разделяя их пробелом:
$post_tags = get_the_tags();
if ( $post_tags ) {
foreach ( $post_tags as $tag ) {
echo $tag->name . ' ';
}
}
Пример 2: Вывод первой метки
Иногда требуется вывести только одну, первую метку записи:
$post_tags = get_the_tags();
if ( $post_tags ) {
echo $post_tags[0]->name;
}
Пример 3: Вывод меток с ссылками
Этот пример выводит метки записи в виде ссылок, ведущих на страницы соответствующих архивов меток:
$post_tags = get_the_tags();
if ( ! empty( $post_tags ) ) {
foreach ( $post_tags as $tag ) {
echo '<a href="' . get_tag_link( $tag->term_id ) . '">' . $tag->name . '</a><br>';
}
}
Пример 4: Получение меток по ID записи
Вы можете использовать функцию вне Цикла WordPress и получить метки для определённой записи, передав её ID:
$post_tags = get_the_tags( 24 ); // ID поста
if ( $post_tags ) {
print_r( $post_tags ); // Выводит массив объектов меток
}
Пример 5: Вывод меток в виде списка <ul>
Этот код выводит метки записи в виде списка <ul>
, где каждая метка является элементом <li>
:
$post_tags = get_the_tags();
if ( ! empty( $post_tags ) ) {
echo '<ul>';
foreach( $post_tags as $post_tag ) {
echo '<li><a href="' . get_tag_link( $post_tag->term_id ) . '">' . $post_tag->name . '</a></li>';
}
echo '</ul>';
}
Пример 6: Выбор меток в выпадающем списке
Этот пример создаёт выпадающий список (<select>
), в котором можно выбрать метку:
function dropdown_tags() {
$post_tags = get_the_tags();
if ( ! empty( $post_tags ) ) {
echo '<select name="tag" id="tag">';
foreach ( $post_tags as $tag ) {
echo '<option value="' . esc_attr( $tag->name ) . '">' . esc_html( $tag->name ) . '</option>';
}
echo '</select>';
}
}
Заключение
Функция get_the_tags()
предоставляет гибкий инструмент для работы с метками записи в WordPress. Она позволяет получать данные меток в виде объектов, что открывает множество возможностей для их отображения и обработки в шаблонах и плагинах.