get_the_tags()
Получает массив меток текущего поста. Каждый элемент массива - это объект WP_Term. Можно использовать внутри Цикла.
Функция ничего не выводит на экран. Данные нужно обработать: получить из полученного массива и только потом вывести на экран.
Хуки из функции
Возвращает
WP_Term[]|false|WP_Error
. Каждый объект WP_Term содержит следующие данные:
WP_Term Object ( [term_id] => 37 - ID метки [name] => Кодекс - название метки [slug] => codex - альтернативное название - ярлык [term_group] => 0 - группа, к которой принадлежит метка, если такая имеется [term_taxonomy_id] => 37 - с версии 4.4 равно term_id [taxonomy] => post_tag - таксономия. Для этого примера всегда 'post_tag' [description] => - описание метки, указанное в настройках [parent] => 0 - родительский термин (у метки всегда 0) [count] => 19 - количество постов у метки )
Использование
get_the_tags( $post );
- $post_id(число|WP_Post)
- ID поста, метки которого нужно получить.
Примеры
#1 Выведем метки поста
1) Выведем названия меток текущего поста (в цикле) через пробел:
$posttags = get_the_tags(); if( $posttags ){ foreach( $posttags as $tag ){ echo $tag->name . ' '; } }
2) Выведем название только первой метки поста:
$posttags = get_the_tags(); if ( $posttags ) { echo $posttags[0]->name . ' '; }
#2 Выведем картинки меток поста.
У нас есть картинки в папке image в каталоге сайта, названные по ID меток (12.jpg - картинка для метки 12). Выведем картинки меток текущего поста, в атрибуте alt укажем называние метки:
$posttags = get_the_tags(); if ( $posttags ) { foreach( $posttags as $tag ) { echo '<img src="http://example.com/images/' . $tag->term_id . '.jpg" alt="' . $tag->name . '" />'; } }
#3 Выведем нужный код, если у поста есть нужная метка.
Этот пример выведет HTML код, в зависимости от того есть у записи определенная метка или нет. Просто добавьте несколько условий else if, как показано в примере:
$all_the_tags = get_the_tags(); if( $all_the_tags ){ foreach( $all_the_tags as $this_tag ){ if( $this_tag->name == 'sometag' ) { echo '<p>HTML КОД <img src="someimage.jpg" /></p>'; } elseif( $this_tag->name == 'someothertag' ){ echo '<p>ДРУГОЙ HTML КОД <img src="someotherimage.jpg"></p>'; } else { // не найдена ни одна метка } } }
#4 Функция вывода меток в выпадающем списке.
function drop_tags(){ echo "<select onChange="document.location.href=this.options[this.selectedIndex].value;">"; echo "<option>Tags</option>n"; foreach( get_the_tags() as $tag ){ echo "<option value=""; echo get_tag_link($tag->term_id); echo "">".$tag->name."</option>n"; } echo "</select>"; }
Список изменений
С версии 2.3.0 | Введена. |
Код get_the_tags() get the tags WP 6.6.1
function get_the_tags( $post = 0 ) { $terms = get_the_terms( $post, 'post_tag' ); /** * Filters the array of tags for the given post. * * @since 2.3.0 * * @see get_the_terms() * * @param WP_Term[]|false|WP_Error $terms Array of WP_Term objects on success, false if there are no terms * or the post does not exist, WP_Error on failure. */ return apply_filters( 'get_the_tags', $terms ); }