get_the_tags() WP 2.3.0

Отримує масив міток поточного посту. Кожен елемент масиву – це об’єкт WP_Term . Можна використовувати всередині циклу.

Функція нічого не відображає на екрані. Дані потрібно обробити: отримати з отриманого масиву і потім вивести на екран.

Працює на основі:
get_the_terms()
1 раз – 0.004595 сек
(дуже повільно) | 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 посту, мітки якого потрібно отримати.

Приклади

2

#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 . '';
}
0

#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 . '" />';
	}
}
0

#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 {
			// не знайдено жодної мітки
		}
	}
}
0

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

Залишити відповідь

Ваша e-mail адреса не оприлюднюватиметься. Обов’язкові поля позначені *