2011-10-18 10 views
1

私はプロジェクト用にwordpressを使用していますが、私はwp_list_pages関数でのみ要求するページを表示するようにナビゲートしています。私は5ページしか表示しません。メインのmav、そしてそのページに子がある場合は、それらをドロップダウンに表示します。以下は、私が現在使っているコードです。wp_list_pagesはページを含み、子をドロップダウンとして表示する

<?php wp_list_pages('title_li=&sort_column=post_date&include=138,110,135,101,167'); ?>

どのように私は含まれたページの子を示していますか?

答えて

1

これらの状況で私にとって最も効果的なのは、wp_listページの使用を忘れることです。代わりに、クエリを作成し、結果を反復してページの子を取得します。

例:

<ul> 
<?php 
    $args = array(
     'include' => array(138, 110, 135, 101, 167), 
     'orderby' => 'post_date', 
     'post_type'=> 'page', 
    ); 

    /* Get posts according to arguments defined above */ 
    $pages = get_posts($args); 

    echo "<ul>"; 

    /* Loop through the array returned by get_posts() */ 
    foreach ($pages as $page) { 

     /* Grab the page id */ 
     $pageId = $page->ID; 

     /* Get page title */ 
     $title = $page->post_title; 
     echo "<li>$title</li>";   

     /* Use page id to list child pages */ 
     wp_list_pages("title_li=&child_of=$pageId"); 

     /* Hint: get_posts() returns a lot more that just title and page id. Uncomment following 3 lines to see what else is returned: */ 
     //echo "<pre>"; 
     //print_r($page); 
     //echo "</pre>"; 
    } 
    echo "</ul>"; 
?> 
</ul> 

そして、あなたの出力は次のようになります。

<ul> 
    <li>Parent Page1<li> 

    <ul> 
     <li>Child page1</li> 
     <li>Child page2</li> 
     <li>Child page etc</li> 
    </ul> 

    <li>Parent Page2</li> 

    <ul> 
     <li>Child page1</li> 
     <li>Child page2</li> 
     <li>Child page etc</li> 
    </ul> 

    ...and so forth 
</ul> 
関連する問題