wp_get_post_tags()

Владислав Белецкий
Владислав Белецкий .
Категория:
Комментариев: 0

Функция wp_get_post_tags() также как и get_the_tags() возвращает все метки поста. Работает на основе функции wp_get_post_terms().

wp_get_post_tags( $post_id, $args = array() )
$post_id
(число) ID поста. По умолчанию 0.
$args
(массив) Дополнительный параметр. Про возможные аргументы можете почитать в статье про get_terms().

Возвращает либо массив объектов меток текущего поста, либо ошибку WP_Error, либо пустой массив, если меток не найдено.

Пример

Выведем функцию без параметра $args. Также не забываем, что функция возвращает массив объектов WP_Term, поэтому используем внутри цикла foreach.

$post_id = get_the_ID();
 
if( $post_tags = wp_get_post_tags( $post_id ) ) {
	foreach ( $post_tags as $post_tag ) {
 
		echo '<pre>'; //используем, чтобы результат print_r имел читабельный вид
		print_r( $post_tag); //распечатаем результат, чтобы наглядно видеть, что у нас внутри объекта
 
	}
}

В итоге мы получим следующую информацию:

WP_Term Object
(
    [term_id] => 777
    [name] => приключения
    [slug] => adventure
    [term_group] => 0
    [term_taxonomy_id] => 777
    [taxonomy] => post_tag
    [description] => 
    [parent] => 0
    [count] => 3
    [filter] => raw
)

Теперь мы можем легко вывести любое представленное значение объекта:

echo $post_tag->name // получим имя метки
 
echo $post_tag->slug // ярлык метки
 
echo $post_tag->count // количество постов с данной меткой

Но если вам нужно получить только одно значение, например только наименование метки, то можно легко облегчить себе задачу, используя параметр $args. Вот пример:

$post_id = get_the_ID();
 
$post_tags = wp_get_post_tags( $post_id, array( 'fields' => 'names' ) ); 
//получим массив с наименованием меток -  Array ( [0] => путешествия [1] => море [2] => пляж )
 
foreach ( $post_tags as $post_tag ) { //не забываем про цикл
 
	echo $post_tag . '<br>'; //распечатаем результат
 
}
 
// В итоге получим 
// путешествия
// море
// пляж

Больше примеров с аргументами по ссылке. Там используется функция get_terms(), но параметры массива $args для обеих функций одинаковые.

Подписаться
Уведомить о
guest
0 комментариев
Межтекстовые Отзывы
Посмотреть все комментарии