The has_nav_menu() WordPress PHP function determines whether a registered nav menu location has a menu assigned to it.
Usage
if (has_nav_menu('menu_location')) { wp_nav_menu(array('theme_location' => 'menu_location')); }
Parameters
$location (string)
– Required. Menu location identifier.
More information
See WordPress Developer Resources: has_nav_menu()
Examples
Displaying a Primary Menu
If a primary menu has been assigned to a location, this example will display it.
if (has_nav_menu('primary')) { wp_nav_menu(array('theme_location' => 'primary')); }
Displaying a Footer Menu
If a footer menu has been assigned to a location, this example will display it.
if (has_nav_menu('footer')) { wp_nav_menu(array('theme_location' => 'footer')); }
Displaying a Secondary Menu with a Custom Container
If a secondary menu has been assigned to a location, this example will display it with a custom container.
if (has_nav_menu('secondary')) { wp_nav_menu(array( 'theme_location' => 'secondary', 'container' => 'nav', 'container_class' => 'secondary-menu' )); }
Displaying a Social Menu with a Custom Menu Class
If a social menu has been assigned to a location, this example will display it with a custom menu class.
if (has_nav_menu('social')) { wp_nav_menu(array( 'theme_location' => 'social', 'menu_class' => 'social-menu' )); }
Displaying a Mobile Menu with a Custom Walker
If a mobile menu has been assigned to a location, this example will display it with a custom walker.
if (has_nav_menu('mobile')) { wp_nav_menu(array( 'theme_location' => 'mobile', 'walker' => new Custom_Walker_Nav_Menu() )); }