miriamdepaula

WordPress: One Page nav menu

Oct 25th, 2011
301
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
PHP 1.23 KB | None | 0 0
  1. <?php
  2. //Coloque a função abaixo no arquivo functions.php
  3.  
  4. function onepage_navmenu($menu_name){
  5.    
  6.     $locations = get_nav_menu_locations();   //print_r($locations);
  7.    
  8.     if ( isset( $locations[ $menu_name ] ) ) {
  9.        
  10.         $menu = wp_get_nav_menu_object( $locations[ $menu_name ] );
  11.        
  12.         $menu_items = wp_get_nav_menu_items($menu->term_id);
  13.        
  14.         //print_r($menu_items);
  15.        
  16.         $menu_list = '<ul id="menu-' . $menu_name . '">';
  17.        
  18.         foreach ( (array) $menu_items as $key => $menu_item ) {
  19.             $title = $menu_item->title;
  20.             $url = basename($menu_item->url);
  21.             $menu_list .= '<li><a href="#' . $url . '">' . $title . '</a></li>';
  22.         }
  23.        
  24.         $menu_list .= '</ul>';
  25.        
  26.     } else {
  27.         $menu_list = '<ul><li>Menu "' . $menu_name . '" não definido.</li></ul>';
  28.     }
  29.    
  30.     echo $menu_list;
  31. }
  32.  
  33. //Ative o Custom Nav Menus
  34. function register_main_menus() {
  35.     register_nav_menus(
  36.         array(
  37.             'top-menu' => __( 'Menu do Topo' ) //'top-menu' é o 'menu location' e 'Menu do Topo' é o nome do meu menu
  38.         )
  39.     );
  40. };
  41. if (function_exists('register_nav_menus')) add_action( 'init', 'register_main_menus' );
  42.  
  43. ?>
  44.  
  45. Modo de Usar:
  46.  
  47. >> Coloque a função abaixo no local onde quer que o menu OnePage apareça:
  48.  
  49. <?php onepage_navmenu('top-menu') ?>
  50.  
  51.  
Advertisement
Add Comment
Please, Sign In to add comment