Список страниц меню с детьми и внуками в WordPress - PullRequest
0 голосов
/ 01 декабря 2010

Хорошо, прошло уже больше года с тех пор, как я создал тему WordPress, и теперь я начал снова, но у меня возникла проблема с моим меню на страницах.

Это моя текущая иерархия страниц (я все еще проверяю, следовательно, имена)

Home

This page
 *Child 1
  **Grandchild 1
  **Grandchild 2
 *Child 2
  **Grandchild 3
  **Grandchild 4
  **Grandchild 5
 *Child 3
  **Grandchild 6

Another page

Теперь, когда я посещаю "Эта страница", я хочу показать ссылку на "Эта страница"(текущий) и все прямые потомки (здесь нет внуков)" Эта страница ", как в этом наброске: http://img840.imageshack.us/img840/3006/thispage.png

Теперь, когда я посещаю" Дитя 1 "из" Эта страница ", я хочупоказать все из меню, указанного выше, и всех потомков «Ребенка 1» (Внука 1 и 2) в подполе под «Ребенком 1», как на этом скетче: http://img4.imageshack.us/img4/7868/child1.png

А теперь, когда я посещаю «Внука 1«Я хочу показать то же самое меню, что и для« Дочернего 1 », только с« Внуком 1 »в качестве текущего элемента вместо этого, как на этом рисунке: http://img819.imageshack.us/img819/1633/grandchild1.png

Это мой текущий код, основанный на примере вкодекс wordpress (под функцией wp_list_pages ()) для меню немного другого типа, но он не очень хорошо работает и совершенно не очень хорошо для крестных детей.

<?php
if($post->post_parent){
 $children = wp_list_pages("title_li=&include=".$post->post_parent."&echo=0");
 $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");
}  

if ($children) { ?>
 <div class="page-menu">
 <ul>
 <?php echo $children; ?>
 </ul>
 </div>
<?php } ?>

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

Так жеКто-нибудь знает, как можно достичь этого результата?

1 Ответ

0 голосов
/ 03 декабря 2010

Я бы настоятельно рекомендовал просто использовать wp_list_pages(), а затем ввести CSS, чтобы скрыть части, которые вы не хотите видеть (функция выводит множество классов, проверьте ваш источник, чтобы увидеть, что доступно).

Кроме того, вы также значительно упростите поисковым системам (и пользователям, если они используют ограниченный браузер или улучшение доступности) просмотр вашего сайта, поскольку вся иерархия всегда присутствует в HTML.

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