n-wp.ru — блог о WordPress

Меню с подрубриками этой рубрики

Здравствуйте, столкнулся с такой проблемой.
Есть (Главная страница) и две основные рубрики (Энциклопедия) (Библиотека), в основных рубриках есть свои подрубрики.
Суть вопроса в следующем, мне нужно что бы на главной странице слева было меню в котором 2 пункта (Энциклопедия) и (Библиотека), если зайти в рубрику (Энциклопедия), то слева должно появиться меню со всеми подрубриками этой рубрики, и соответственно если зайти в (Библиотека) то должно появиться новое меню с подрубриками этой рубрики.
Пока выходит только, показывать все меню, а как прятать меню если находишься в разных рубриках.

9 комментариев

  • То есть вам нужно сделать, чтобы выполнялись условия:
    1. если это главная страница, то в сайдбаре выводятся только рубрики, без подрубрик
    2. если это архив какой-то рубрики, то в сайдбаре выводится данная рубрика с подрубриками
    Правильно я понимаю?
    Например, у вас есть две категории, у первой ID=1, у второй ID=2. В первой категории есть подкатегории с ID 3, 5, 7, во второй категории есть подкатегории 4, 6, 8.
    Вывести список всех главных рубрик без подрубрик можно так:

    Вывести список рубрик со всеми подрубриками можно так:

    За отображение подрубрик отвечает параметр depth.
    Создадим три кода с разными условиями.
    Для вывода в сайдбаре на главной странице главных рубрик без подрубрик нужно использовать примерно такой код:

    Для вывода в сайдбаре названия категории 1 с подкатегориями 3, 5, 7 добавим такой код:

    2, 4, 6, 8 — ID категорий, которые нужно исключить.
    То же самое проделываем и со второй категорией, только с точностью до наоборот:

    Подробнее о wp list categories: http://codex.wordpress.org/Template_Tags/wp_list_categories
    Подробнее о is_category и is_home: http://codex.wordpress.org/Conditional_Tags

    • Установил плагин Navigation Manager
      В нём сделал 3 меню, 1-(главная и 2 рубрики) 2-(все подрубрики Энциклопедии) 3-(все подрубрики Библиотеки)
      Затем в сайд бар добавил код, там сначала проверка идёт в какой рубрике мы щас находимся и проверка, находимся ли мы на главной странице.

    • а ещё вопрос, как можно добавить цифру справа от раздела в сайдбаре, которая будет показывать сколько постов есть в этом разделе.

      • Если используете функцию wp list categories (см. мой ответ выше), то за вывод количества постов в рубрике отвечает параметр show_count=1.

  • как в отображаемый список добавить посты находящиеся в под рубрике и убрать название самой рубрики

  • Всё ясненько. Этот пост натолкнул меня на идею, и я почему то был уверен,что именно тут найду ответ,здесь немного предоставлены кривые коды,поэтому если надо вот такое решение: Выводить на главной список рубрик, а по переходу в определённую рубрику,видить лишь её подкатегории,то код такой:

    Вставляете в любое место шаблона,обычно это header,ну и оборачиваете каким нибудь стилем

    По аргументам можно почитать тут http://codex.wordpress.org/Template_Tags/wp_list_categories#Include_or_Exclude_Categories