tag_exists() │ WP 2.3.0

Click here to view original web page at wp-kama.ru

Проверяет существует ли указанная метка (тег). Если существует, возвращает ID или массив данных этой метки.

Под метками или тегами понимаются термины таксономии post_tag, которые зарегистрированы в WordPress изначально и используются в Записях.

Эта функция определена только в админке, поэтому, если вызвать её во фронте, то получим ошибку:

Чтобы функция tag_exists() заработала во фронте, нужно подключить файл:

require_once ABSPATH . 'wp-admin/includes/taxonomy.php';

Эта функция делает запрос в базу данных. Используйте get_term_by(), чтобы проверить существование метки с использованием кэша.

1 раз — 0.0013721 сек (очень медленно) | 50000 раз — 21.38 сек (медленно) | PHP 7.4.25, WP 5.9.3

Хуков нет.

Возвращает

Разное. null/число/массив

  • Массив — когда метка найдена:

    [
    	'term_id' => 'term id',
    	'term_taxonomy_id' => 'taxonomy id'
    ]
  • null — когда метки не существует.

  • 0 — когда в функцию передан 0 вместо ID метки.

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

tag_exists( $tag_name );
$tag_name(строка/число) (обязательный)
Метка, которую нужно проверить. Можно указывать название, альтернативное название (slug) или ID.

Примеры

// Проверим существование метки
$tag = tag_exists( 'Мужская одежда' );

if( $tag ){
	print_r( $tag );
}

Если метка существует, то выведет подобное:

Array (
	[term_id] => 541
	[term_taxonomy_id] => 541
)

Функция tag_exists() - это обёртка функции term_exists() для более удобной проверки дефолтных терминов таксономии post_tag (метки, теги). Следующие два вариант идентичные по результату:

$tag_name = 'Метка #1';

// Вариант 1
tag_exists( $tag_name );

// Вариант 2
term_exists( $tag_name, 'post_tag' )

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

function tag_exists( $tag_name ) {
	return term_exists( $tag_name, 'post_tag' );
}

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