term_exists()

Проверяет, существует ли элемент таксономии с указанным ID, ярлыком или названием.

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

Возвращает:

  • ID термина, если он существует, а проверку мы делали только по ID, ярлыку или названию, не указывая второй и третий параметры функции. Кстати, с кириллическими названиями на моём тестовом сайте оно не заработало, но детальнее разбираться не стал. Если делали проверку по имени, а термины с одним и тем же именем повторяются, например существуют в разных таксономиях, то функция вернёт первый найденный (с наименьшим ID).
  • Если передан второй параметр функции, то в случае, если термин существует, возвращает массив:
    Array
    	'term_id' => 25,
    	'term_taxonomy_id' => 25
    )
  • null – если элемента таксономии (термина) не существует.
  • 0 – если в первом параметре был передан 0.
term_exists( $term, $taxonomy = '', $parent = null )

Параметры

$term
(целое|строка) ID, ярлык или название элемента таксономии.
$taxonomy
(строка) Название самой таксономии – бывает полезно, если вы осуществляете проверку по названию термина, а термины с таким же названием могут повторяться в разных таксономиях.
$parent
(целое) Вы также можете указать ID родительского элемента, чтобы сузить область поиска.

Примеры

Давайте для начала проверим, что термин с ярлыком travel существует. Причём сделаем это двумя способами – как функцией term_exists(), так и get_term_by().

$slug = 'travel';
 
// первый способ
if( term_exists( $slug ) ) {
	echo 'Йез, термин существует!';
}
 
// второй способ
// заметили разницу? 
// тут придётся указать и название таксономии, в первом случае оно не было обязательным
if( get_term_by( 'slug', $slug, 'post_tag' ) ) {
	echo 'Йез, термин существует!';
}

Миша

Впервые познакомился с WordPress в 2009 году. Организатор и спикер на конференциях WordCamp. Преподаватель в школе Нетология.

Пишите, если нужна помощь с сайтом или разработка с нуля.

Чтобы оставить комментарий, пожалуйста, зарегистрируйтесь или войдите.