Hàm tiện tích:
Ngoài tính năng walker mà menu cung cấp, có thể sử dụng các hàm menu : wp_get_nav_menu_items, wp_get_nav_menu_object, get_nav_menu_locations.
để lấy dữ liệu menu.
$locations = get_nav_menu_locations();
$menu=wp_get_nav_menu_object($locations['menu1']);
$args=array(
"post_parent"=>$id
//'post_type'=>'nav_menu_item',
//'post_parent'=>0
);
$menu_items = wp_get_nav_menu_items($menu->term_id,$args);
foreach( (array)$menu_items as $key => $menu_item):
$t = wp_get_nav_menu_items($menu_item->object_id,array('post_parent'=>$menu_item->post_parent));
//menu item object
echo $menu_item->post_type.'<br/>';
echo $menu_item->object.'<br/>';
echo $menu_item->url.'<br/>';
echo $menu_item->menu_item_parent .'<br/>';
echo $menu_item->title.'<hr/>';
endforeach;
|
Xem thêm:
// Get the nav menu based on $menu_name (same as 'theme_location' or 'menu' arg to wp_nav_menu)
// This code based on wp_nav_menu's code to get Menu ID from menu slug
$menu_name = 'custom_menu_slug';
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);
$menu_list = '<ul id="menu-' . $menu_name . '">';
foreach ( (array) $menu_items as $key => $menu_item ) {
$title = $menu_item->title;
$url = $menu_item->url;
$menu_list .= '<li><a href="' . $url . '">' . $title . '</a></li>';
}
$menu_list .= '</ul>';
} else {
$menu_list = '<ul><li>Menu "' . $menu_name . '" not defined.</li></ul>';
}
// $menu_list now ready to output
|
Unregistered version