Для вступления в общество новичков и профессионалов домен-индустрии, пожалуйста нажмите здесь ...

   
 Купля-продажа и обсуждение доменных имён
        

  
Вернуться   Форум о доменах > Дизайн и развитие проектов > Программирование
Регистрация Реноме Правила форума Справка Пользователи Социальные группы Все разделы прочитаны
Программирование PHP, Perl, HTML, XHTML, CSS, JavaScript, MySQL и другие языки кодирования.

Ответ
 
Опции темы
Сегодня
от 149р за .RU
Аренда сервера
2x Intel Hexa-Core Xeon E5-2420
Всего 79 евро!

с видеокартой GeForce GTX 1080 Ti
всего 99 евро!

от 149р за .РФ Реклама на DomenForum.net
Старый 12.06.2015, 13:15   #1
 
Аватар для Port_Artur
 
Регистрация: 03.12.2006
Адрес: Россия
Сообщений: 3,495
Доменные сделки: 24
Реноме: 1552
Одобрения
Спасибо (Отдано): 529
Спасибо (Получено): 750
Отправить сообщение для Port_Artur с помощью ICQ
WP Вывод категорий и подкатегорий

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

Вот как здесь http://bukibuki.ru/kupit/noutbuki/asus/ (смотреть слева категории)


Есть пример, но нерабочий
PHP код:
<?php $category get_the_category();
if (
is_category()) {
    
$this_category get_category($cat);
    if(
$this_category->category_parent) {
        
$this_category wp_list_categories('orderby=name&show_count=0&current_category='.$category[0]->cat_ID.'&title_li=&use_desc_for_title=0&child_of='.$this_category->category_parent."&echo=0");
    } else {
        
$this_category wp_list_categories('orderby=name&depth=1&show_count=0&current_category='.$category[0]->cat_ID.'&title_li=&use_desc_for_title=0&child_of='.$this_category->cat_ID."&echo=0");
    }
} elseif ( 
is_single()) {
    if(
$category[0]->category_parent) {
        
$this_category wp_list_categories('orderby=name&show_count=0&current_category='.$category[0]->cat_ID.'&title_li=&use_desc_for_title=0&child_of='.$category[0]->category_parent."&echo=0");
    } else {
        
$this_category wp_list_categories('orderby=name&show_count=0&current_category='.$category[0]->cat_ID.'&title_li=&use_desc_for_title=0&child_of='.$category[0]->cat_ID."&echo=0");
    }
?>

[B]Вывод:[/B]
<?php echo $this_category?>
Port_Artur вне форума   Ответить с цитированием
Старый 14.06.2015, 02:00   #2
Тех. администратор
 
Аватар для UFO
 
Регистрация: 16.03.2005
Адрес: mouse.mars
Сообщений: 10,725
Доменные сделки: 17
Реноме: 8693
Одобрения
Спасибо (Отдано): 141
Спасибо (Получено): 313
Напишу некоторые полезные кусочки кода:

Код:
<?php
// определим в какой мы сейчас категории
$thisCat = get_category(get_query_var('cat'),false);
$currcat = $thisCat->term_id;

$this_category = wp_list_categories('orderby=name&show_count=0&current_category='.$currcat.'&title_li=&use_desc_for_title=0&child_of='.$currcat."&echo=0");

echo $this_category;
?>
Расскажите получилось или нет.
Суть в том, что мы определяем какая категория сейчас выводится, и запрашиваем содержимое подкатегорий в ней, больше никаких операций не проводим: ни посты не ищем, ни сортировки какие-то не делаем. Но $this_category может стоит исправить. Потому что изначально придет ID категории, им и нужно манипулировать, чтобы получить список подкатегорий.
__________________
Волн нет! | Whois | Полезный форум о геологии
UFO вне форума   Ответить с цитированием
Старый 14.06.2015, 13:13   #3
 
Аватар для Port_Artur
 
Регистрация: 03.12.2006
Адрес: Россия
Сообщений: 3,495
Доменные сделки: 24
Реноме: 1552
Одобрения
Спасибо (Отдано): 529
Спасибо (Получено): 750
Отправить сообщение для Port_Artur с помощью ICQ
Не получилось.

child_of выведет все "подкатегории всех уровней" категории, в которой находится пользователь

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

Тут нужно wp_list_categories использовать в качестве дополнения при выводе.

Последний раз редактировалось Port_Artur; 14.06.2015 в 13:16.
Port_Artur вне форума   Ответить с цитированием
Старый 15.06.2015, 23:16   #4
Тех. администратор
 
Аватар для UFO
 
Регистрация: 16.03.2005
Адрес: mouse.mars
Сообщений: 10,725
Доменные сделки: 17
Реноме: 8693
Одобрения
Спасибо (Отдано): 141
Спасибо (Получено): 313
Попробуйте:

Код:
<?php
// определим в какой мы сейчас категории
$thisCat = get_category(get_query_var('cat'),false);
$currcat = $thisCat->term_id;

    $params = array(
	'orderby'            => 'name',
	'order'              => 'ASC',
	'style'              => 'list',
	'show_count'         => 0,
	'hide_empty'         => 0,
	'use_desc_for_title' => 0,
	'child_of'           => 0,
	'hierarchical'       => 1,
	'title_li'           => __( 'Categories' ),
	'current_category'   => '$currcat',
	'pad_counts'         => 0,
	'taxonomy'           => 'category',
	'walker'             => null
    );
$this_category = wp_list_categories($params);

echo $this_category;
?>
__________________
Волн нет! | Whois | Полезный форум о геологии
UFO вне форума   Ответить с цитированием
Старый 16.06.2015, 00:31   #5
 
Аватар для Port_Artur
 
Регистрация: 03.12.2006
Адрес: Россия
Сообщений: 3,495
Доменные сделки: 24
Реноме: 1552
Одобрения
Спасибо (Отдано): 529
Спасибо (Получено): 750
Отправить сообщение для Port_Artur с помощью ICQ
Постоянно раскрыты все категории.
UFO, спасибо за желание помочь. Нашёл плагин WP-dTree, который работает практически так как надо, за редким исключением.
(1. при нажатии на категорию не содержащую дочерних категорий, - не закрывает ранее открытую, содержащую дочерние;
2. из-за "аккардеона" не даёт возможности перейти в родительскую категорию.)
Port_Artur вне форума   Ответить с цитированием
Ответ



Реклама

Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
 
Опции темы
Закладки Добавить Тема в закладки

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход


Текущее время: 17:48. Часовой пояс GMT +4.