WP_Customize_Nav_Menus_Panel WordPress Class
The WP_Customize_Nav_Menus_Panel class allows you to add new menus to your WordPress site. You can customize the panel to display the menus in the order you want, and you can also add new menu items and change the order of the existing menu items.
WP_Customize_Nav_Menus_Panel #
Customize Nav Menus Panel Class
Description
Needed to add screen options.
See also
Source
File: wp-includes/customize/class-wp-customize-nav-menus-panel.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 _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 _e( 'Help' ); ?></span> </button> <button type="button" class="customize-screen-options-toggle" aria-expanded="false"> <span class="screen-reader-text"><?php _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 } /** * Checks required user capabilities and whether the theme has the * feature support required by the panel. * * @since 5.9.0 * * @return bool False if theme doesn't support the panel or the user doesn't have the capability. */ public function check_capabilities() { /* * WP_Customize_Panel::$theme_supports only supports checking one * theme_supports, so instead we override check_capabilities(). */ if ( ! current_theme_supports( 'menus' ) && ! current_theme_supports( 'widgets' ) ) { return false; } return parent::check_capabilities(); } }
Expand full source codeCollapse full source codeView on TracView on GitHub
Methods
- check_capabilities— Checks required user capabilities and whether the theme has the feature support required by the panel.
- content_template— An Underscore (JS) template for this panel's content (but not its container).
- render_screen_options— Render screen options for Menus.
- wp_nav_menu_manage_columns— Returns the advanced options for the nav menus page.— deprecated
Changelog
Version | Description |
---|---|
4.3.0 | Introduced. |