wp_get_post_tags()
Получает список меток указанного поста в виде массива.
Это обертка для функции wp_get_post_terms().
Работает на основе: wp_get_post_terms()
1 раз — 0.016552 сек (тормоз) | 50000 раз — 16.89 сек (медленно) | PHP 7.2.5, WP 4.9.8
Хуков нет.
Возвращает
Массив|WP_Error
.
array( WP_Term, WP_Term )
— массив объектов WP_Termarray()
— пустой массив если меток не найдено.WP_Error
— object WP_Error если таксономия post_tag не существует.
Использование
wp_get_post_tags( $post_id, $args );
- $post_id(число)
- ID поста.
- $args(массив)
Переписывает аргументы по умолчанию. Весь список аргументов смотрите в описании функции wp_get_object_terms().
По умолчанию в $args устанавливается параметр
fields=all
(получить все поля термина). Другие значения этого аргумента:names
(получать только названия терминов) иids
(только ID терминов ).По умолчанию: array()
Примеры
#1 Получим метки текущего поста
Допустим пост имеет следующие метки: tag2, tag5 и tag6
:
$tags = wp_get_post_tags( $post->ID ); print_r( $tags ); /* В результате получим на экране следующий код: Array( [0] => stdClass Object ( [term_id] => 4 [name] => tag2 [slug] => tag2 [term_group] => 0 [term_taxonomy_id] => 4 [taxonomy] => post_tag [description] => [parent] => 0 [count] => 7 ) [1] => stdClass Object ( [term_id] => 7 [name] => tag5 [slug] => tag5 [term_group] => 0 [term_taxonomy_id] => 7 [taxonomy] => post_tag [description] => [parent] => 0 [count] => 6 ) [2] => stdClass Object ( [term_id] => 16 [name] => tag6 [slug] => tag6 [term_group] => 0 [term_taxonomy_id] => 16 [taxonomy] => post_tag [description] => [parent] => 0 [count] => 2 ) ) */
#2 Получим список ID меток текущего поста
В списке будут только ID меток (поле ids):
global $post; $tag_ids = wp_get_post_tags( $post->ID, array( 'fields' => 'ids' ) ); // $tag_ids = [ 4, 7, 16 ]
Список изменений
С версии 2.3.0 | Введена. |
Код wp_get_post_tags() wp get post tags WP 6.6.2
function wp_get_post_tags( $post_id = 0, $args = array() ) { return wp_get_post_terms( $post_id, 'post_tag', $args ); }