2011-12-27 116 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在第三行的屬性,所以只有第一級子返回。

+0

感謝您的幫助。但沒有幫助我,我得到了wordpress的所有樹。 – Alex 2011-12-28 09:20:46

+0

然後我想你不是用當前頁面ID調用函數(更新代碼以避免子項顯示多次) – tamilsweet 2011-12-28 11:47:07

+0

我嘗試通過css解決它,display:none。我認爲它的另一種方式。因爲我有4級菜單。它太複雜了。 – Alex 2011-12-28 11:50:04