Как вывести массив категорий?

Всем хорошего дня!

Есть задача: вывести определенный блок в определенной категории и всех его подкатегориях, причем как в файлах archive (т.е. при просмотре категорий), так и в отдельных постах принадлежащих этой категории.

Сейчас использую такой код:

<?php if (is_category(array(3,7,8,9,10,11,12,13,14)) || in_category(array(3,7,8,9,10,11,12,13,14))) { ?>
...
<?php } ?>

Соответственно категория 3 – родительская и необходимая категория, а все остальные – подкатегории.

Метод неудачный, требует постоянного добавления в него руками новых подкатегорий.
Подскажите как можно модернизировать этот код?
Можно ли как-то вывести массив всех подкатегорий родительской категории, ну или может вообще какой-то другой простой способ решения этой задачи есть?

Спасибо!

С уважением,
Павел

Можно ли как-то вывести массив всех подкатегорий родительской категории

http://codex.wordpress.org/Function_Reference/get_categories

ну или может вообще какой-то другой простой способ решения этой задачи есть?

Может и есть, но думать лень 🙂

Спасибо! Только вот еще вопрос, как теперь это превратить в цифры (ID категорий) и эту переменную с этими цифрами впихнуть в условие?

<?php if (is_category(array(3,7,8,9,10,11,12,13,14)) || in_category(array(3,7,8,9,10,11,12,13,14))) { ?>

На пример смотрел, но так и не понял… 🙁

Понял только, что условие у меня такое:

<?php  $categories=  get_categories('child_of=3'); ?>

Теоретически так:

$cats = array(‘3’); // создаем массив и вносим родительскую рубрику
$categories = get_categories(‘child_of=3’);
foreach ($categories as $cat) {
$cats[] = $cat->cat_ID; // пополняем массив IDами деткок
}

Полученный массив используем так: is_category($cats)

Ура! Работает!
Спасибо огромное!

А можно делать так, чтобы это работало не для одной категории, а для всех? И в каждой категории и ее постах выводило только менюшку из деток?

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