Отображение подстраниц на родительской странице?


Я хотел бы создать навигационное меню, в котором я буду отображать страницы двух уровней.

Чтобы проиллюстрировать это:

  • Родитель 1
  • Родитель 2
  • Родитель 3 (текущий)
    • Ребенок 1
    • Ребенок 2
    • Ребенок 3
  • Родитель 4

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

Author: Jan Fabry, 2011-05-19

1 answers

Это довольно просто, так как WordPress устанавливает классы css для родительских страниц. По умолчанию мы скрываем все подсписки (ul) из меню с помощью

.menu ul {
    display: none;
}

Затем, когда выбрана родительская страница, мы используем классы css, установленные WordPress, чтобы снова отобразить подсписки.

.menu .current_page_ancestor, .menu .current_page_parent {
    display: block;
}

Итак, все, что вам нужно, это в вашем шаблоне

Шаблон:

<ul class="menu">
    <?php wp_list_pages('title_li=') ?>
</ul>

И это в вашем css-файле.

CSS:

.menu ul {
    display: none;
}

.menu .current_page_ancestor > ul, .menu .current_page_parent > ul {
    display: block;
}
 1
Author: Horttcore, 2011-05-19 11:49:17