Как получить ID категории в single.php в WordPress?
Мне нужно получить id категории
в single.php
. Я пробовал это:
$cat_ID = get_query_var('cat');
Это не сработало. Что следует использовать вместо этого?
Вы можете использовать один из следующих методов:
1. Использование функции get_the_category():
$categories = get_the_category();
$category_id = $categories[0]->term_id; // получаем ID первой категории
2. Или с помощью wp_get_post_categories():
$post_categories = wp_get_post_categories(get_the_ID());
$cat_id = $post_categories[0]; // получаем ID первой категории
Примечание: Если пост принадлежит нескольким категориям, эти методы вернут ID первой категории. Для получения всех категорий, вы можете перебрать массив.
Использование wp_get_post_categories()
Получение списка категорий для записи.
<?php wp_get_post_categories( $post_id, $args ) ?>
Обратите внимание, что функция возвращает массив (идентификаторов категорий), даже если у записи только одна категория.
В примере ниже показано, как получаются категории, а затем для каждой из них извлекается дополнительная информация.
$post_categories = wp_get_post_categories( $post_id );
$cats = array();
foreach($post_categories as $c){
$cat = get_category( $c );
$cats[] = array( 'name' => $cat->name, 'slug' => $cat->slug );
}
Ссылка: http://codex.wordpress.org/Function_Reference/wp_get_post_categories
Другой вариант:
Использование get_the_terms();
<?php
$id = get_the_id();
$terms = get_the_terms( $id, 'category' );
// print_r( $terms );
foreach($terms as $term) {
echo $term->cat_ID;
}
?>

ссылка http://codex.wordpress.org/Function_Reference/get_the_category
