category_exists() │ WP 2.0.0

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

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

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

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

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

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

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

1 раз — 0.0012069 сек (очень медленно) | 50000 раз — 11.23 сек (медленно)

Хуков нет.

Возвращает

Строку|null. ID найденной рубрики или null при неудаче.

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

category_exists( $cat_name, $parent );
$cat_name(строка/число) (обязательный)
Рубрика, которую нужно проверить. Можно указывать название, альтернативное название (slug) или ID.
$parent(строка/число)
ID родительской рубрики.
По умолчанию: null

Примеры

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

// Проверим существование рубрики
$tag = category_exists( 'WordPress' );

if( $tag ){
	var_dump( $tag ); // string(1) "3"
}

Если рубрика существует, то выведет её ID.

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

$cat_name = 'Заметки WordPress';

// Вариант 1
$id = category_exists( $cat_name );
print_r( $id ); //> 572

// Вариант 2
$id = term_exists( $cat_name, 'category' );

print_r( $id ); //> Array( [term_id] => 572 [term_taxonomy_id] => 572 )

if ( is_array( $id ) ) {
	$id = $id['term_id'];
}

print_r( $id ); //> 572

Заметки

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

function category_exists( $cat_name, $parent = null ) {
	$id = term_exists( $cat_name, 'category', $parent );
	if ( is_array( $id ) ) {
		$id = $id['term_id'];
	}
	return $id;
}

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