Take the 2-minute tour ×
WordPress Development Stack Exchange is a question and answer site for WordPress developers and administrators. It's 100% free, no registration required.

My theme registers custom menus with this function:

function nav_menus() {
    if ( function_exists( 'register_nav_menus' ) ) {
        array('main-menu' => __( 'Main Menu' ), 'sub-menu' => __( 'Sub Menu' ))

I need to place code into my sidebar, that checks to see if the "main-menu" is active - for example, has a menu assigned to the "Main Menu" theme location.

Anyone know how to test for this?

share|improve this question

2 Answers 2

up vote 7 down vote accepted

You can use the function has_nav_menu('main-menu'). See the WordPress Codex here.

share|improve this answer
Perfect. Thanks for the answer. –  N2Mystic Aug 8 '11 at 18:12

Use has_nav_menu:

Returns boolean Whether a registered nav menu location has a menu assigned(true) or not(false).

<?php $menu=has_nav_menu( $location ); ?> 

Reference: has_nav_menu

share|improve this answer

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.