WordPress как на ладони
rgbcode is looking for WordPress developers.

get_cat_ID()WP 1.0.0

Получает ID категории по переданному названию.

Функция возвращает 0, если не удалось получить идентификатор.

Работает на основе: get_term_by()

Хуков нет.

Возвращает

int. ID категории или 0, если категории не существует.

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

$cat_id = get_cat_ID( $cat_name );
$cat_name(строка) (обязательный)
Название категории, идентификатор которой нужно получить. По умолчанию General.

Примеры

0

#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();
0

#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() 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;
}
13 комментариев
Полезные 2 Все
    Войти