tag_exists()
Проверяет существует ли указанная метка (тег). Если существует, возвращает ID или массив данных этой метки.
Под метками или тегами понимаются термины таксономии post_tag
, которые зарегистрированы в WordPress изначально и используются в Записях.
Эта функция определена только в админке, поэтому, если вызвать её во фронте, то получим ошибку:
Fatal error: Uncaught Error: Call to undefined function tag_exists()
Чтобы функция работала во фронте, нужно подключить файл:
require_once ABSPATH . 'wp-admin/includes/taxonomy.php';
C WP 6.0. функция работает с кэшем и использует get_terms().
До WP 6.0. Эта функция выполняет запрос к базе данных. get_term_by() может быть использована для той же цели, за исключением того, что она использует кэш.
Хуков нет.
Возвращает
Разное
. null/число/массив
-
Массив — когда метка найдена:
[ 'term_id' => 'term id', 'term_taxonomy_id' => 'taxonomy id' ]
-
null — когда метки не существует.
- 0 — когда в функцию передан 0 вместо ID метки.
Использование
tag_exists( $tag_name );
- $tag_name(строка/число) (обязательный)
- Метка, которую нужно проверить. Можно указывать название, альтернативное название (slug) или ID.
Примеры
#1 Проверим метку на существование:
// Проверим существование метки $tag = tag_exists( 'Мужская одежда' ); if( $tag ){ print_r( $tag ); }
Если метка существует, то выведет подобное:
Array ( [term_id] => 541 [term_taxonomy_id] => 541 )
Почему term_id
и term_taxonomy_id
равны читайте в статье Что такое Таксономии в WordPress.
#2 term_exists и tag_exists
Функция tag_exists()
- это обёртка функции term_exists() для более удобной проверки дефолтных терминов таксономии post_tag (метки, теги). Следующие два вариант идентичные по результату:
$tag_name = 'Метка #1'; // Вариант 1 tag_exists( $tag_name ); // Вариант 2 term_exists( $tag_name, 'post_tag' )
Список изменений
С версии 2.3.0 | Введена. |
Код tag_exists() tag exists WP 6.7.1
function tag_exists( $tag_name ) { return term_exists( $tag_name, 'post_tag' ); }