get_the_tags()
Отримує масив міток поточного посту. Кожен елемент масиву – це об’єкт WP_Term . Можна використовувати всередині циклу.
Функція нічого не відображає на екрані. Дані потрібно обробити: отримати з отриманого масиву і потім вивести на екран.
Працює на основі:
get_the_terms()
get_the_terms()
1 раз – 0.004595 сек
(дуже повільно) | 50000 разів – 1.34 сек
(швидко) |
PHP 7.2.16, WP 5.2
(дуже повільно) | 50000 разів – 1.34 сек
(швидко) |
PHP 7.2.16, WP 5.2
Хуки з функції
Повертає
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_id);
-
$post_id
(число) - 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 в каталозі сайту, названі за мітками (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.0.2
function get_the_tags( $post_id = 0 ) { $ terms = get_the_terms ($ post_id, 'post_tag'); /** * Filters array tags for given post. * * @ Since 2.3.0 * * @see get_the_terms() * * @param WP_Term[]|false|WP_Error $terms Знайомство з WP_Term об'єктами на успіх, false, якщо немає часу. * or the post does not exist, WP_Error on failure. */ return apply_filters( 'get_the_tags', $terms); }