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 7.0
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;
}