Странно, в общем случае $post->post_parent
не указывает на рубрику.
Все рубрики записи возвращает функция wp_get_post_categories()
:
http://codex.wordpress.org/Function_Reference/wp_get_post_categories
Но если у вас там ID дочерней рубрики, родительскую можно узнать так:
<?php
$category = get_category($post->post_parent);
echo $category->category_parent;
?>
И правда случайность! А как тогда на самом деле определить ID Рубрики 2 ?
Модератор
Юрій
(@yube)
Вообще-то, надо говорить во множественном числе, т.к. пост может одновременно быть в нескольких рубриках.
Массив рубрик, в которые входит пост, можно получить функцией get_the_category(). Самую верхнюю рубрику можно получить, перебирая в цикле предков одного за другим.
Код из очень старых загашников, работоспособность не гарантирую, только как иллюстрация логики
foreach (get_the_category() as $cc) {
while ($cc->category_parent) $cc = get_category($cc->category_parent);
echo $cc->cat_ID;
}
Большое спасибо! Разобрался