0

自分のサイトのナビゲーションを行うのに助けが必要ですが、Wordpressのwp_list_pages()機能を使用してナビゲーションを行う方法がわかりませんでした。

参考までに、 http://www.rwgroup.com/のナビゲーションシステムは、私が何を目指しているのかを正確に把握しているはずです。

使ってみる前はwp_list_pages('child_of='.$post->parent_post)、ページには直接の親であり、祖先を忘れてしまったようです。しばらく試してみましたが、頭がおかしくなりませんでした。

どんなアイデアでも素晴らしいでしょう

4

1 に答える 1

0

このコードを試して、現在のページをその祖先と子とともにリストします-

<?php
//if the post has a parent
if($post->post_parent){
  //collect ancestor pages
  $relations = get_post_ancestors($post->ID);
  //get child pages
  $result = $wpdb->get_results( "SELECT ID FROM wp_posts WHERE post_parent = $post->ID AND post_type='page'" );
  if ($result){
    foreach($result as $pageID){
      array_push($relations, $pageID->ID);
    }
  }
  //add current post to pages
  array_push($relations, $post->ID);
  //get comma delimited list of children and parents and self
  $relations_string = implode(",",$relations);
  //use include to list only the collected pages. 
  $sidelinks = wp_list_pages("title_li=&echo=0&include=".$relations_string);
}else{
  // display only main level and children
  $sidelinks = wp_list_pages("title_li=&echo=0&depth=1&child_of=".$post->ID);
}

if ($sidelinks) { ?>
  <h2><?php the_title(); ?></h2>
  <ul>
    <?php //links in <li> tags
    echo $sidelinks; ?>
  </ul>         
<?php } ?>
于 2012-08-14T10:20:43.690 に答える