Title: WP_Customize_Nav_Menu_Locations_Control
Published: November 20, 2017
Last modified: May 20, 2026

---

# class WP_Customize_Nav_Menu_Locations_Control {}

## In this article

 * [Description](https://developer.wordpress.org/reference/classes/wp_customize_nav_menu_locations_control/?output_format=md#description)
    - [See also](https://developer.wordpress.org/reference/classes/wp_customize_nav_menu_locations_control/?output_format=md#see-also)
 * [Methods](https://developer.wordpress.org/reference/classes/wp_customize_nav_menu_locations_control/?output_format=md#methods)
 * [Source](https://developer.wordpress.org/reference/classes/wp_customize_nav_menu_locations_control/?output_format=md#source)
 * [Related](https://developer.wordpress.org/reference/classes/wp_customize_nav_menu_locations_control/?output_format=md#related)
 * [Changelog](https://developer.wordpress.org/reference/classes/wp_customize_nav_menu_locations_control/?output_format=md#changelog)

[ Back to top](https://developer.wordpress.org/reference/classes/wp_customize_nav_menu_locations_control/?output_format=md#wp--skip-link--target)

Customize Nav Menu Locations Control Class.

## 󠀁[Description](https://developer.wordpress.org/reference/classes/wp_customize_nav_menu_locations_control/?output_format=md#description)󠁿

### 󠀁[See also](https://developer.wordpress.org/reference/classes/wp_customize_nav_menu_locations_control/?output_format=md#see-also)󠁿

 * [WP_Customize_Control](https://developer.wordpress.org/reference/classes/wp_customize_control/)

## 󠀁[Methods](https://developer.wordpress.org/reference/classes/wp_customize_nav_menu_locations_control/?output_format=md#methods)󠁿

| Name | Description | 
| [WP_Customize_Nav_Menu_Locations_Control::content_template](https://developer.wordpress.org/reference/classes/wp_customize_nav_menu_locations_control/content_template/) | JS/Underscore template for the control UI. | 
| [WP_Customize_Nav_Menu_Locations_Control::render_content](https://developer.wordpress.org/reference/classes/wp_customize_nav_menu_locations_control/render_content/) | Don’t render the control’s content – it uses a JS template instead. |

## 󠀁[Source](https://developer.wordpress.org/reference/classes/wp_customize_nav_menu_locations_control/?output_format=md#source)󠁿

    ```php
    class WP_Customize_Nav_Menu_Locations_Control extends WP_Customize_Control {

    	/**
    	 * Control type.
    	 *
    	 * @since 4.9.0
    	 * @var string
    	 */
    	public $type = 'nav_menu_locations';

    	/**
    	 * Don't render the control's content - it uses a JS template instead.
    	 *
    	 * @since 4.9.0
    	 */
    	public function render_content() {}

    	/**
    	 * JS/Underscore template for the control UI.
    	 *
    	 * @since 4.9.0
    	 */
    	public function content_template() {
    		if ( current_theme_supports( 'menus' ) ) :
    			?>
    			<# var elementId; #>
    			<ul class="menu-location-settings">
    				<li class="customize-control assigned-menu-locations-title">
    					<span class="customize-control-title">{{ wp.customize.Menus.data.l10n.locationsTitle }}</span>
    					<# if ( data.isCreating ) { #>
    						<p>
    							<?php echo _x( 'Where do you want this menu to appear?', 'menu locations' ); ?>
    							<?php
    							printf(
    								/* translators: 1: Documentation URL, 2: Additional link attributes, 3: Accessibility text. */
    								_x( '(If you plan to use a menu <a href="%1$s" %2$s>widget%3$s</a>, skip this step.)', 'menu locations' ),
    								__( 'https://wordpress.org/documentation/article/manage-wordpress-widgets/' ),
    								' class="external-link" target="_blank"',
    								sprintf(
    									'<span class="screen-reader-text"> %s</span>',
    									/* translators: Hidden accessibility text. */
    									__( '(opens in a new tab)' )
    								)
    							);
    							?>
    						</p>
    					<# } else { #>
    						<p><?php echo _x( 'Here&#8217;s where this menu appears. If you would like to change that, pick another location.', 'menu locations' ); ?></p>
    					<# } #>
    				</li>

    				<?php foreach ( get_registered_nav_menus() as $location => $description ) : ?>
    					<# elementId = _.uniqueId( 'customize-nav-menu-control-location-' ); #>
    					<li class="customize-control customize-control-checkbox assigned-menu-location">
    						<span class="customize-inside-control-row">
    							<input id="{{ elementId }}" type="checkbox" data-menu-id="{{ data.menu_id }}" data-location-id="<?php echo esc_attr( $location ); ?>" class="menu-location" />
    							<label for="{{ elementId }}">
    								<?php echo $description; ?>
    								<span class="theme-location-set">
    									<?php
    									printf(
    										/* translators: %s: Menu name. */
    										_x( '(Current: %s)', 'menu location' ),
    										'<span class="current-menu-location-name-' . esc_attr( $location ) . '"></span>'
    									);
    									?>
    								</span>
    							</label>
    						</span>
    					</li>
    				<?php endforeach; ?>
    			</ul>
    			<?php
    		endif;
    	}
    }
    ```

[View all references](https://developer.wordpress.org/reference/files/wp-includes/customize/class-wp-customize-nav-menu-locations-control.php/)
[View on Trac](https://core.trac.wordpress.org/browser/tags/7.0/src/wp-includes/customize/class-wp-customize-nav-menu-locations-control.php#L17)
[View on GitHub](https://github.com/WordPress/wordpress-develop/blob/7.0/src/wp-includes/customize/class-wp-customize-nav-menu-locations-control.php#L17-L92)

## 󠀁[Related](https://developer.wordpress.org/reference/classes/wp_customize_nav_menu_locations_control/?output_format=md#related)󠁿

| Uses | Description | 
| [WP_Customize_Control](https://developer.wordpress.org/reference/classes/wp_customize_control/)`wp-includes/class-wp-customize-control.php` |

Customize Control class.

  |

## 󠀁[Changelog](https://developer.wordpress.org/reference/classes/wp_customize_nav_menu_locations_control/?output_format=md#changelog)󠁿

| Version | Description | 
| [4.9.0](https://developer.wordpress.org/reference/since/4.9.0/) | Introduced. |

## User Contributed Notes

You must [log in](https://login.wordpress.org/?redirect_to=https%3A%2F%2Fdeveloper.wordpress.org%2Freference%2Fclasses%2Fwp_customize_nav_menu_locations_control%2F)
before being able to contribute a note or feedback.