Всем хорошего дня!
Есть задача: вывести определенный блок в определенной категории и всех его подкатегориях, причем как в файлах 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 категорий) и эту переменную с этими цифрами впихнуть в условие?
На пример смотрел, но так и не понял… 🙁
Понял только, что условие у меня такое:
Теоретически так:
$cats = array(‘3’); // создаем массив и вносим родительскую рубрику
$categories = get_categories(‘child_of=3’);
foreach ($categories as $cat) {
$cats[] = $cat->cat_ID; // пополняем массив IDами деткок
}
Полученный массив используем так: is_category($cats)
Ура! Работает!
Спасибо огромное!
А можно делать так, чтобы это работало не для одной категории, а для всех? И в каждой категории и ее постах выводило только менюшку из деток?