0

wp_list_pages を使用してメニューを作成しようとしていますが、最終結果は次のようになります。

parent ( no ancestor ) <-- This one should be hidden
  - Children "Some Title"( clicked )
    - Children1 to "Some Title"
    - Children2 to "Some Title"

  - Children "Some other title" ( When clicking on this, children to "Somte Title" will hide and children to "Some other title" show )

次のコードを使用していますが、必要な結果を得るためにコードを変更する方法がわかりません。

<?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) { ?>
    <?php echo the_title(); ?>
    <ul>
        <?php //links in <li> tags
        echo $sidelinks;
        ?>

    </ul>
<?php } ?>

上記の例では、次のようなレイアウトが得られ、祖先のない親が表示され、クリックされた子の兄弟は表示されません。

parent ( no ancestor )
  - Children "Some Title"( clicked )
    - Children1 to "Some Title"
    - Children2 to "Some Title"

どんな助けにも感謝します!

4

1 に答える 1

0

wp_list_pages() のパラメーターをexclude_tree使用できますdepth

詳細については、Wordpress Codex を参照してください: http://codex.wordpress.org/Function_Reference/wp_list_pages

于 2013-09-15T15:00:12.607 に答える