2011-12-27 9 views
0

私はwordpressでいくつかの助けが必要です。 このアイデアは、サイドバーでマルチオプションナビゲーションを作成することです。 階層は次のようになります。いくつかのオプション付きでWordPressのサブページのナビゲーションを作成します。

<ul> 
<li>First Page 
    <ul> 
    <li>First SubPage</li> 
    <li>Second SubPage 
     <ul> 
     <li>First Sub-SubPage</li> 
     <li>Second Sub-SubPage</li> 
     <li>Third Sub-SubPage</li> 
     </ul> 
    </li> 
    </ul> 
</li> 
<li>Second Page</li> 
<li>Third Page 
    <ul> 
    <li>First SubPage</li> 
    <li>Second SubPage 
     <ul> 
     <li>First Sub-SubPage</li> 
     <li>Second Sub-SubPage</li> 
     <li>Third Sub-SubPage</li> 
     </ul> 
    </li> 
    </ul> 
</li> 
</ul> 

しかし、私はいくつかの機能が必要です。 私が最初のページにいるとき、私はこのページのサブページだけを見たいが、メニューのすべてのページではない。

どうすればこの問題を解決できますか?

おかげ

答えて

0

あなたは、次の機能を使用することができる機能get_pageshttp://codex.wordpress.org/Function_Reference/get_pages

を利用します。サイドバーで$page_id as <current page id>と呼んでください。

<?php  
function show_child_list($page_id) { 
    $child_pages = get_pages(array('child_of' => $page_id, 'sort_column' => 'menu_order', 'sort_order' => 'ASC', 'parent' => $page_id)); 
    echo '<ul>'; 
    foreach($child_pages as $child) { 
     echo '<li>'.$child->post_title.'</li>'; 
     show_child_list($child->ID); 
    } 
    echo '</ul>'; 
} 

アップデート1:

追加'parent' => $page_id 3行目の属性は、その最初のレベルの子が返されます。

+0

ありがとうございました。しかし私を助けていない、私はWordpressのすべての木を得る。 – Alex

+0

次に、現在のページIDで関数を呼び出さないと思います(子アイテムが複数回表示されないようにするコードを更新しました)。 – tamilsweet

+0

私はCSSを使って解決しようとしています。私は別の方法だと思う。私は4つのレベルのメニューがあるので。それはとても複雑です。 – Alex

関連する問題