Wednesday, 6 July 2016

WordPress building simple menu list wp_get_nav_menu_items()

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

$menu_name = 'short-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);

  $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
echo $menu_list;

No comments:

Post a Comment