Поддержка Плагины Узнать ID родительской рубрики, которой принадлежит по

  • Структура такая:

    Рубрика 1
    — Рубрика 2
    — Статья 1
    — Статья 2

    С помощью конструкции $post->post_parent мы узнаем ID Рубрики 2
    Как узнать ID первой рубрики?

Просмотр 5 ответов — с 1 по 5 (всего 5)
  • Модератор Sergey Biryukov

    (@sergeybiryukov)

    Live and Learn

    Странно, в общем случае $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;
    ?>

    Модератор Yuri

    (@yube)

    в общем случае $post->post_parent не указывает на рубрику.

    Бывают и совпадения 🙂

    И правда случайность! А как тогда на самом деле определить ID Рубрики 2 ?

    Модератор Yuri

    (@yube)

    Вообще-то, надо говорить во множественном числе, т.к. пост может одновременно быть в нескольких рубриках.

    Массив рубрик, в которые входит пост, можно получить функцией get_the_category(). Самую верхнюю рубрику можно получить, перебирая в цикле предков одного за другим.

    Код из очень старых загашников, работоспособность не гарантирую, только как иллюстрация логики

    foreach (get_the_category() as $cc) {
      while ($cc->category_parent) $cc = get_category($cc->category_parent);
      echo $cc->cat_ID;
    }

    Большое спасибо! Разобрался

Просмотр 5 ответов — с 1 по 5 (всего 5)
  • Тема «Узнать ID родительской рубрики, которой принадлежит по» закрыта для новых ответов.