WordPress как на ладони
Недорогой хостинг для сайтов на WordPress: wordpress.jino.ru

get_tags() WP 2.3.0

Получает массив объектов, с данными о метках. Данные можно получать по разным критериям (задается в параметре $args).

Работает на основе: get_terms()
Хуки из функции
Возвращает

Массив/число. Массив объектов WP_Term, содержащих данные о метке. Каждый объект содержит следующие данные:

  • term_id - ID метки;
  • name - название метки;
  • slug - альтернативное название;
  • term_group - группа (не используется);
  • term_taxonomy_id - ID элемента таксономии (обычно совпадает с term_id);
  • taxonomy - название таксономии;
  • description - описание;
  • parent - ID родительского элемента таксономии (для меток не используется);
  • count - количество записей.

Шаблон использования

$terms = get_tags( [
	'number'       => 0,
	'offset'       => 0,
	'orderby'      => 'id',
	'order'        => 'ASC',
	'hide_empty'   => true,
	'fields'       => 'all',
	'slug'         => '',
	'hierarchical' => true,
	'name__like'   => '',
	'pad_counts'   => false,
	'get'          => '',
	'child_of'     => 0,
	'parent'       => '',
] );

Использование

$tags = get_tags( $args );
$args(строка/массив)
Аргументы в соответствии с которыми будут получены метки. Значение агрументов смотрите в описании функции get_terms().
По умолчанию: предустановленные

Примеры

#1. Выведем список меток, в виде ссылок на каждую метку.

И зададим тегу <a> уникальный класс и атрибут title:

$tags = get_tags();
$html = '<div class="post_tags">';

foreach ( $tags as $tag ) {
	$tag_link = get_tag_link( $tag->term_id );

	$html .= "<a href='{$tag_link}' title='{$tag->name} Tag' class='{$tag->slug}'>";
	$html .= "{$tag->name}</a>";
}

$html .= '</div>';

echo $html;

Список изменений

С версии 2.3.0 Введена.

Код get_tags() WP 5.5.1

wp-includes/category.php
<?php
function get_tags( $args = '' ) {
	$defaults = array( 'taxonomy' => 'post_tag' );
	$args     = wp_parse_args( $args, $defaults );

	$tags = get_terms( $args );

	if ( empty( $tags ) ) {
		$tags = array();
	} else {
		/**
		 * Filters the array of term objects returned for the 'post_tag' taxonomy.
		 *
		 * @since 2.3.0
		 *
		 * @param WP_Term[]|int|WP_Error $tags Array of 'post_tag' term objects, a count thereof,
		 *                                     or WP_Error if any of the taxonomies do not exist.
		 * @param array                  $args An array of arguments. @see get_terms()
		 */
		$tags = apply_filters( 'get_tags', $tags, $args );
	}

	return $tags;
}

Cвязанные функции

Из раздела: Метки

4 коммента