Вывод дочерних категорий в WordPress.
Понадобилось мне тут вывести список подкатегорий одной из категорий. Начал шерстить кодекс. Естественно, первым делом полез в . Достаточно муторная функция с кучей вводных параметров. Но таки разобрался, вывел свои подкатегории. Сижу, смотрю и понимаю, что функция возвращает html-список, что меня совершенно не устраивает: разбивать эту здоровенную строку на составные и вычищать все тэги – да ну его на фиг.
Следующая функция, которая мне приглянулась – . В принципе, упрощённый вариант первой, но… Где-то косяк в ней с вводом родительской категории. Возвращает массив с параметрами первой же категории. Пришлось забросить и этот вариант.
Третий вариант – полное рукоблудство, но он работает.
1 2 3 4 5 6 7 8 9 10 11 12 | function my_subcats ($parent) { //$parent содержит название родительской категории $parent_id = get_cat_id($parent); //получаем id родительской категории $all_cats_ids = get_all_category_ids(); //получаем id ВСЕХ категорий foreach ( $all_cats_ids as $cat_id ) { if (cat_is_ancestor_of($parent_id, $cat_id)) { //проверяем, является ли категория с cat_id дочерней по отношению к $parent_id $child_cats[] = get_cat_name($cat_id); //если дочерняя, то добавляем id в массив } } sort( $child_cats ); return $child_cats; //возвращаем сортированный массив названий подкатегорий } |
И вот над этим десятком строк пришлось биться три вечера.
Связанные записи
Рубрики: HOWTO | 4 комментария
хотел высказаться на счет собственного варианта, да увидел третий )))
AngelOfFate, тоже бодался с таким?
ребят подскажите плиз куда этот код пихатьи как делать вызов функции.. подозреваю что это в functions.php в папку шаблонов сайта, но всеже вызвать тогда как эту штуковину ?? и как можно список отредактировать по выводу, то есть свои стили вставить?
@ Алекс, у меня это реализовано в виде плагина. В теме – хз. Не интересовался.