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. Преподаватель в школе Нетология.
Пишите, если нужна помощь с сайтом или разработка с нуля.
Чтобы оставить комментарий, пожалуйста, зарегистрируйтесь или войдите.