get_cat_ID()
Получает ID категории по переданному названию.
Функция возвращает 0, если не удалось получить идентификатор.
Работает на основе: get_term_by()
Хуков нет.
Возвращает
int
. ID категории или 0, если категории не существует.
Использование
$cat_id = get_cat_ID( $cat_name );
- $cat_name(строка) (обязательный)
- Название категории, идентификатор которой нужно получить. По умолчанию General.
Примеры
#1 Записи из указанной рубрики
Пример использования этой функции для получения записей из определенной категории при помощи функции query_posts():
$category_id = get_cat_ID('Название категории'); $q = 'cat=' . $category_id; query_posts( $q ); if( have_posts() ){ while( have_posts() ){ the_post(); the_content(); } } wp_reset_query();
#2 Как получить ID текущей категории
Получить ID поста позволяет функция get_the_ID(), а вот для рубрик такой функции нет. Но можно обойтись другими функциями:
$cat_id = get_query_var( 'cat' ); // ID текущей категории $cat_name = get_query_var( 'category_name' ); // slug (ярлык) текущей категории $cat_obj = get_category( $cat_id ); // объект категории /* $cat_obj = WP_Term Object ( [term_id] => 452 [name] => Моя рубрика [slug] => mycat [term_group] => 0 [term_taxonomy_id] => 452 [taxonomy] => category [description] => [parent] => 0 [count] => 14 [filter] => raw ) */
Также текущую категорию можно получить с помощью фукнции get_queried_object():
$qo = get_queried_object(); // текущая страница - это страница таксономии (категории или метки) if( ! empty( $qo->term_id ) ){ $cat_obj = $qo; echo $cat_obj->name; }
Список изменений
С версии 1.0.0 | Введена. |
Код get_cat_ID() get cat ID WP 6.4.3
function get_cat_ID( $cat_name ) { // phpcs:ignore WordPress.NamingConventions.ValidFunctionName.FunctionNameInvalid $cat = get_term_by( 'name', $cat_name, 'category' ); if ( $cat ) { return $cat->term_id; } return 0; }