Виджет Wordpress как показывать только подкатегории на основе выбранной родительской категории?

91
8

Мне было интересно узнать, знает ли кто-нибудь, как изменить виджет существующей категории, чтобы отображать только категории в выбранной родительской категории.
Пример:


Если мои категории структурированы следующим образом:


    Компьютеры
      Ноутбуки
      Настольные компьютеры
      Программное обеспечение

    Электроника
      Камеры
      Аудио/видео

Если кто-то просматривает сообщения в категории "Компьютеры", я бы хотел, чтобы виджеты категорий на боковой панели отображали только "Ноутбуки", "Настольные компьютеры" и "Программное обеспечение".


Есть ли способ сделать это? Кто-нибудь знает плагин, который может это сделать?
Спасибо!

спросил(а) 2010-10-24T20:21:00+04:00 10 лет назад
1
Решение
81

Спасибо за вашу помощь. Я смог заставить его работать, делая это...

<?php
if (is_category()) {
$cat = get_query_var('cat');
$this_category = get_category($cat);
$this_category = wp_list_categories('hide_empty=0&hierarchical=true&orderby=id&show_count=0&title_li=&use_desc_for_title=1&child_of='.$this_category->cat_ID."&echo=0");
if($this_category !='<li>No categories</li>')
{
echo '<h3>Products</h3>';
echo '<ul>'.$this_category.'</ul>';
}
}
?>

ответил(а) 2010-10-26T06:00:00+04:00 10 лет назад
100

как насчет использования чего-то подобного?
на странице синглов вы можете добавить вызов с сайта single.php на новую боковую панель или файл include...?


т.е.:


<?php if( is_single() ) { include(TEMPLATEPATH.'/newsidebar.php'); } ?>

newsidebar.php


<ul> 
<?php
$catsy = get_the_category();
$myCat = $catsy->cat_ID;
wp_list_categories('orderby=id&child_of='.$myCat);
?>
</ul>

будут отображаться только категории из текущей категории?


т


если текущая категория равна 5//Компьютеры
то все, что будет показано в списке,


* Laptops
* Desktops
* Software

ответил(а) 2010-10-25T14:09:00+04:00 10 лет назад
42

1) Показать только подкатегории:


<?php
// check if the page is viewed is a category page.
if (is_category())
{
$cur_cat = get_query_var('cat');
if ($cur_cat)
{
$new_cats = wp_list_categories('echo=false&child_of=' . $cur_cat . '&depth=1&title_li=&&show_count=1&hide_empty=0');
echo '<ul>' . $new_cats . '</ul>';
}
}
?>

2) Показать все основные категории:


<?php 
wp_list_categories('depth=1&title_li=&exclude=1&show_count=1&hide_empty=0');
?>

3) Показать все категории + Подкатегории, такие как меню деревьев:


Use FoCal plugin. 

4) также просмотрите этот код:


http://wpworks.wordpress.com/2011/01/13/displaying-categories-and-subcategories-tree-on-wordpress/

ответил(а) 2013-03-27T22:02:00+04:00 7 лет, 7 месяцев назад
Ваш ответ
Введите минимум 50 символов
Чтобы , пожалуйста,
Выберите тему жалобы:

Другая проблема