Advertisement
Neolot

Registering wp_nav_menu() in 3 locations

Aug 31st, 2011
105
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
PHP 1.54 KB | None | 0 0
  1. // Function for registering wp_nav_menu() in 3 locations
  2. add_action( 'init', 'register_navmenus' );
  3. function register_navmenus() {
  4.     register_nav_menus( array(
  5.         'Top'       => __( 'Top Navigation' ),
  6.         'Header'    => __( 'Header Navigation' ),
  7.         'Footer'    => __( 'Footer Navigation' ),
  8.         )
  9.     );
  10.  
  11.     // Check if Top menu exists and make it if not
  12.     if ( !is_nav_menu( 'Top' )) {
  13.         $menu_id = wp_create_nav_menu( 'Top' );
  14.         $menu = array( 'menu-item-type' => 'custom', 'menu-item-url' => get_home_url('/'),'menu-item-title' => 'Home' );
  15.         wp_update_nav_menu_item( $menu_id, 0, $menu );
  16.     }
  17.     // Check if Header menu exists and make it if not
  18.     if ( !is_nav_menu( 'Header' )) {
  19.         $menu_id = wp_create_nav_menu( 'Header' );
  20.         $menu = array( 'menu-item-type' => 'custom', 'menu-item-url' => get_home_url('/'), 'menu-item-title' => 'Home' );
  21.         wp_update_nav_menu_item( $menu_id, 0, $menu );
  22.     }
  23.     // Check if Footer menu exists and make it if not
  24.     if ( !is_nav_menu( 'Footer' )) {
  25.         $menu_id = wp_create_nav_menu( 'Footer' );
  26.         $menu = array( 'menu-item-type' => 'custom', 'menu-item-url' => get_home_url('/'), 'menu-item-title' => 'Home' );
  27.         wp_update_nav_menu_item( $menu_id, 0, $menu );
  28.     }
  29.  
  30.     // Get any menu locations that dont have a menu assigned to it and give it on
  31.     /* Currently not working. couldnt fix it.
  32.     $loc = array('Top', 'Header', 'Footer');
  33.     if ( has_nav_menu( $location )) {
  34.         $locations = get_nav_menu_locations();
  35.         return (!empty( $locations[ $location ] ));
  36.     }
  37.     */
  38. }
  39. /* Delete nav menu in case you need it
  40. wp_delete_nav_menu( $menu );
  41. */
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement