Показать принадлежность поста к подкатегориям только одной категории

И, соответственно, скрыть принадлежность к подкатегориям другой категории.

Есть две категории, которые структурируют содержимое по двум разным принципам: хронологическому и тематическому. Каждая запись заносится в подкатегории обеих категорий. Требуется, чтобы в шапке поста отображалась его принадлежность только к подкатегории тематической и не отображалась принадлежность к подкатегории хронологической.

Читаю в кодексе описания get_the_category, the_category, single_cat_title, in_category, get_category_parents, — готового примера не вижу. Сообразить самому — ума недостаточно.

а может тематику через теги (метки) сделать, тогда и сложностей таких не возникнет?

Тематическая рубрикация — это рубрики бумажного журнала.
Хронологическая рубрикация — это номера бумажного журнала.
Каждая статья принадлежит определенному номеру и определенной рубрике.

Журнал выходит не ежемесячно. На сайте могут появится посты, коих нет в бумажной версии. Поэтому делать навигацию по номерам просто через годовые и месячные архивы не совсем правильно.
Метки используются по назначению.

Я почитал, что умные люди пишут http://www.cybercore.ru/izvrashheniya-s-temami-wordpress-dlya-novichkov-i-ne-tolko-chast-2-query_posts/
и развел навигацию по разным рубрикам в разные места: хронологию в выпадающий список, тематику в обычный список. Привел в более-менее приемлемый вид заголовки страниц архивов рубрик.

Осталось сделать так, чтобы в шапке поста не было написано "Рубрика: Как купить слона, №3", а только "Рубрика: Как купить слона".

Алгоритмически я представляю, как это сделать: получить имя подрубрики, в которую входит пост и у которой родительская рубрика с определенным ID, и отобразить название этой подрубрики.
Я не понимаю как это сделать, пардон, синтаксически средствами PHP и WP.

Кроме того, есть отягчающее обстоятельство: в рубрикации три уровня: Рубрики журнала–>Покупки–>Как купить слона. Отобразить нужно или "Как купить слона", или "Покупки, Как купить слона". Если указать ID "Рубрик журнала", отобразятся только "Покупки" или нет?

Алгоритмически я представляю, как это сделать: получить имя подрубрики, в которую входит пост и у которой родительская рубрика с определенным ID, и отобразить название этой подрубрики.
Я не понимаю как это сделать, пардон, синтаксически средствами PHP и WP.

Как представляете – так и делайте 🙂

// Пройтись по всем категориям, в которые входит пост
foreach (get_the_category() as $cat) {
// если предок тот
if ($cat->category_parent == N)
// вывести имечко
echo $cat->cat_name;
// и всё
}

Аллилуйя!
Почти заработало. Имена подкатегорий третьего уровня не выводятся, как я и думал. Поднатужимся, одолеем.
Спасибо.

Anonymous
Отправить
Ответ на: