diff options
author | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-04-17 07:56:49 +0000 |
---|---|---|
committer | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-04-17 07:56:49 +0000 |
commit | a415c29efee45520ae252d2aa28f1083a521cd7b (patch) | |
tree | f4ade4b6668ecc0765de7e1424f7c1427ad433ff /wp-includes/customize/class-wp-customize-nav-menus-panel.php | |
parent | Initial commit. (diff) | |
download | wordpress-a415c29efee45520ae252d2aa28f1083a521cd7b.tar.xz wordpress-a415c29efee45520ae252d2aa28f1083a521cd7b.zip |
Adding upstream version 6.4.3+dfsg1.upstream/6.4.3+dfsg1
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'wp-includes/customize/class-wp-customize-nav-menus-panel.php')
-rw-r--r-- | wp-includes/customize/class-wp-customize-nav-menus-panel.php | 116 |
1 files changed, 116 insertions, 0 deletions
diff --git a/wp-includes/customize/class-wp-customize-nav-menus-panel.php b/wp-includes/customize/class-wp-customize-nav-menus-panel.php new file mode 100644 index 0000000..0678fbf --- /dev/null +++ b/wp-includes/customize/class-wp-customize-nav-menus-panel.php @@ -0,0 +1,116 @@ +<?php +/** + * Customize API: WP_Customize_Nav_Menus_Panel class + * + * @package WordPress + * @subpackage Customize + * @since 4.4.0 + */ + +/** + * Customize Nav Menus Panel Class + * + * Needed to add screen options. + * + * @since 4.3.0 + * + * @see WP_Customize_Panel + */ +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 + } +} |