2012-07-25 27 views
1

如何將菜單項(深度= 1)放入數組中?數組中的菜單項

wp_nav_menu輸出帶有ul和li元素的格式化列表。 wp_list_pages也輸出帶有ul和li的格式化列表。

我只想將深度一的菜單項(條紋標籤)放到一個數組中。

我該如何做到這一點?

回答

3

我認爲這將有助於您:wp get nav menu items

$menu_name = 'custom_menu_slug'; // Get the nav menu based on $menu_name (same as 'theme_location' or 'menu' arg to wp_nav_menu) 

    if (($locations = get_nav_menu_locations()) && isset($locations[ $menu_name ])) { 
    $menu = wp_get_nav_menu_object($locations[ $menu_name ]); 

    $menu_items = wp_get_nav_menu_items($menu->term_id); 


    foreach ((array) $menu_items as $key => $menu_item) { 
     $title = $menu_item->title; 
    } 
    } 
+0

感謝您的回答。 $ menu_name將與菜單在選項「外觀>菜單:菜單名稱(用於我想要使用的菜單)」下調用的相同? – JohnSmith 2012-07-25 09:12:10

+0

否。[請選中此項](http://stackoverflow.com/questions/ 11642278/wordpress-list-menu-items-without-links-as-plain-text-without-links/11642603#11642603) – Libin 2012-07-25 10:01:27

+0

適用於我,沒有位置檢查 – malisokan 2013-08-22 08:20:14

0

感謝@Libin

想通了wp_get_nav_menu_items()

$menu_name = 'sidebar-menu'; //menu slug 
$locations = get_nav_menu_locations(); 
$menu = wp_get_nav_menu_object($locations[ $menu_name ]); 
$menuitems = wp_get_nav_menu_items($menu->term_id, array('order' => 'DESC')); 

echo "<pre>"; 
print_r($menuitems); 
echo "</pre>"; 

在這裏我得到了整個菜單項

我在這裏舉一個例子http://wiki.workassis.com/wordpress-get-menu-array/