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);
}