Как вывести меню, отображающее 3+ уровня ветки иерархии страниц? - PullRequest
1 голос
/ 01 сентября 2009

Мой блог WordPress содержит следующую иерархию страниц:

-  page 1
     L page 1.1
     L page 1.2
-  page 2
-  page 3

Я отображаю меню в своем шаблоне page.php, чтобы я мог показать дочерние элементы родителя и верхний родительский уровень дочернего элемента, например:

if($post->post_parent){
    $page = get_page($post->post_parent);
    $categoryTitle = $page->post_title;
    $children = wp_list_pages("title_li=&child_of=".$post->post_parent."&echo=0");
}else{
    $children = wp_list_pages("title_li=&child_of=".$post->ID."&echo=0");
}

В последнее время возникла необходимость добавить дополнительный подуровень страниц, превратив систему в:

-  page 1
     L page 1.1
         L page 1.1.1
         L page 1.1.2
     L page 1.2
         L page 1.2.1
-  page 2
-  page 3 

Проблема в том, что если я нахожусь на странице x.x.1, я не вижу страницу x в меню, только родитель x.x.

У кого-нибудь есть идеи, как получить всех родителей и детей на странице?

Ответы [ 2 ]

1 голос
/ 01 сентября 2009

Есть несколько плагинов, на которые вы могли бы обратить внимание для этой функциональности, если не использовать их полностью:

http://wordpress.org/extend/plugins/flexi-pages-widget/

http://wordpress.org/extend/plugins/gd-pages-navigator/

http://wordpress.org/extend/plugins/search.php?q=sub+pages

Удачи, надеюсь, это поможет!

0 голосов
/ 08 сентября 2009

Я закончил тем, что разработал определенный шаблон страницы для каждой ветви дерева. (элементы "страница х"). с этим я мог бы просто жестко закодировать идентификатор родителя страницы в строке wp_list_pages ("title_li = & child_of = 16 & echo = 0"); и там это работает. Предложение плагина неплохое, но для таких простых вещей я предпочитаю не полагаться на чужой код.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...