Title: WP_Customize_Nav_Menus_Panel
Published: August 18, 2015
Last modified: May 20, 2026

---

# class WP_Customize_Nav_Menus_Panel {}

## In this article

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

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

Customize Nav Menus Panel Class

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

Needed to add screen options.

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

 * [WP_Customize_Panel](https://developer.wordpress.org/reference/classes/wp_customize_panel/)

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

| Name | Description | 
| [WP_Customize_Nav_Menus_Panel::check_capabilities](https://developer.wordpress.org/reference/classes/wp_customize_nav_menus_panel/check_capabilities/) | Checks required user capabilities and whether the theme has the feature support required by the panel. | 
| [WP_Customize_Nav_Menus_Panel::content_template](https://developer.wordpress.org/reference/classes/wp_customize_nav_menus_panel/content_template/) | An Underscore (JS) template for this panel’s content (but not its container). | 
| [WP_Customize_Nav_Menus_Panel::render_screen_options](https://developer.wordpress.org/reference/classes/wp_customize_nav_menus_panel/render_screen_options/) | Render screen options for Menus. | 
| [WP_Customize_Nav_Menus_Panel::wp_nav_menu_manage_columns](https://developer.wordpress.org/reference/classes/wp_customize_nav_menus_panel/wp_nav_menu_manage_columns/) | Returns the advanced options for the nav menus page. — deprecated |

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

    ```php
    class WP_Customize_Nav_Menus_Panel extends WP_Customize_Panel {

    	/**
    	 * Control type.
    	 *
    	 * @since 4.3.0
    	 * @var string
    	 */
    	public $type = 'nav_menus';

    	/**
    	 * Render screen options for Menus.
    	 *
    	 * @since 4.3.0
    	 */
    	public function render_screen_options() {
    		// Adds the screen options.
    		require_once ABSPATH . 'wp-admin/includes/nav-menu.php';
    		add_filter( 'manage_nav-menus_columns', 'wp_nav_menu_manage_columns' );

    		// Display screen options.
    		$screen = WP_Screen::get( 'nav-menus.php' );
    		$screen->render_screen_options( array( 'wrap' => false ) );
    	}

    	/**
    	 * Returns the advanced options for the nav menus page.
    	 *
    	 * Link title attribute added as it's a relatively advanced concept for new users.
    	 *
    	 * @since 4.3.0
    	 * @deprecated 4.5.0 Deprecated in favor of wp_nav_menu_manage_columns().
    	 */
    	public function wp_nav_menu_manage_columns() {
    		_deprecated_function( __METHOD__, '4.5.0', 'wp_nav_menu_manage_columns' );
    		require_once ABSPATH . 'wp-admin/includes/nav-menu.php';
    		return wp_nav_menu_manage_columns();
    	}

    	/**
    	 * An Underscore (JS) template for this panel's content (but not its container).
    	 *
    	 * Class variables for this panel class are available in the `data` JS object;
    	 * export custom variables by overriding WP_Customize_Panel::json().
    	 *
    	 * @since 4.3.0
    	 *
    	 * @see WP_Customize_Panel::print_template()
    	 */
    	protected function content_template() {
    		?>
    		<li class="panel-meta customize-info accordion-section <# if ( ! data.description ) { #> cannot-expand<# } #>">
    			<button type="button" class="customize-panel-back" tabindex="-1">
    				<span class="screen-reader-text">
    					<?php
    					/* translators: Hidden accessibility text. */
    					_e( 'Back' );
    					?>
    				</span>
    			</button>
    			<div class="accordion-section-title">
    				<span class="preview-notice">
    					<?php
    					/* translators: %s: The site/panel title in the Customizer. */
    					printf( __( 'You are customizing %s' ), '<strong class="panel-title">{{ data.title }}</strong>' );
    					?>
    				</span>
    				<button type="button" class="customize-help-toggle dashicons dashicons-editor-help" aria-expanded="false">
    					<span class="screen-reader-text">
    						<?php
    						/* translators: Hidden accessibility text. */
    						_e( 'Help' );
    						?>
    					</span>
    				</button>
    				<button type="button" class="customize-screen-options-toggle" aria-expanded="false">
    					<span class="screen-reader-text">
    						<?php
    						/* translators: Hidden accessibility text. */
    						_e( 'Menu Options' );
    						?>
    					</span>
    				</button>
    			</div>
    			<# if ( data.description ) { #>
    			<div class="description customize-panel-description">{{{ data.description }}}</div>
    			<# } #>
    			<div id="screen-options-wrap">
    				<?php $this->render_screen_options(); ?>
    			</div>
    		</li>
    		<?php
    		// NOTE: The following is a workaround for an inability to treat (and thus label) a list of sections as a whole.
    		?>
    		<li class="customize-control-title customize-section-title-nav_menus-heading"><?php _e( 'Menus' ); ?></li>
    		<?php
    	}
    }
    ```

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

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

| Uses | Description | 
| [WP_Customize_Panel](https://developer.wordpress.org/reference/classes/wp_customize_panel/)`wp-includes/class-wp-customize-panel.php` |

Customize Panel class.

  |

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

| Version | Description | 
| [4.3.0](https://developer.wordpress.org/reference/since/4.3.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_menus_panel%2F)
before being able to contribute a note or feedback.