получить текущий ID категории php

24 июл. 2012 г., 17:06:31
Просмотры: 77.8K
Голосов: 17

Я пытаюсь получить ID категории текущего отображаемого архива.

Я попробовал:

// категория (может быть родительской категорией)
$current_cat_ID = get_query_var('cat');
//
print_r ($current_cat_ID);

Ничего не выводится...

php
2
Комментарии

где в шаблоне находится этот код? есть ли какие-то пользовательские запросы перед этим кодом?

Michael Michael
24 июл. 2012 г. 17:21:05

будет ли cat всегда установлен независимо от структуры постоянных ссылок, или, возможно, только category_name в некоторых случаях? Сейчас не могу вспомнить...

Milo Milo
24 июл. 2012 г. 17:29:20
Все ответы на вопрос 3
2
57

вы можете использовать get_queried_object()

$category = get_queried_object();
echo $category->term_id;
24 июл. 2012 г. 17:25:46
Комментарии

Я искал ответ на этот вопрос часами. Жаль, что у Wordpress не очень хорошая документация. Спасибо!

Django Reinhardt Django Reinhardt
24 февр. 2017 г. 17:27:35

@Fayaz Это автоматически применится к данному ответу.

Django Reinhardt Django Reinhardt
1 мар. 2017 г. 13:02:02
1

Немного быстрее, чем получать объект и затем выводить ID термина, является использование функции get_queried_object_id() напрямую.

21 дек. 2021 г. 11:58:10
Комментарии

Да, согласен, странно что никто не упомянул эту функцию, обе они появились в одной версии, WordPress 3.1.0.

Buttered_Toast Buttered_Toast
21 дек. 2021 г. 12:05:28
0

Если вам нужно получить категорию на странице категории, вы можете получить ID текущей категории следующим образом:

$category = get_category( get_query_var( 'cat' ) );
$cat_id = $category->cat_ID;

Если вам нужно получить ID любой конкретной категории на любой странице, вы можете использовать следующий код:

$category_id = get_cat_ID('Название категории');
28 февр. 2017 г. 15:22:51