3 * Customize API: WP_Customize_Nav_Menu_Control class
6 * @subpackage Customize
11 * Customize Nav Menu Control Class.
15 class WP_Customize_Nav_Menu_Control extends WP_Customize_Control {
24 public $type = 'nav_menu';
27 * The nav menu setting.
31 * @var WP_Customize_Nav_Menu_Setting
36 * Don't render the control's content - it uses a JS template instead.
41 public function render_content() {}
44 * JS/Underscore template for the control UI.
49 public function content_template() {
51 <button type="button" class="button add-new-menu-item" aria-label="<?php esc_attr_e( 'Add or remove menu items' ); ?>" aria-expanded="false" aria-controls="available-menu-items">
52 <?php _e( 'Add Items' ); ?>
54 <button type="button" class="button-link reorder-toggle" aria-label="<?php esc_attr_e( 'Reorder menu items' ); ?>" aria-describedby="reorder-items-desc-{{ data.menu_id }}">
55 <span class="reorder"><?php _ex( 'Reorder', 'Reorder menu items in Customizer' ); ?></span>
56 <span class="reorder-done"><?php _ex( 'Done', 'Cancel reordering menu items in Customizer' ); ?></span>
58 <p class="screen-reader-text" id="reorder-items-desc-{{ data.menu_id }}"><?php _e( 'When in reorder mode, additional controls to reorder menu items will be available in the items list above.' ); ?></p>
59 <span class="menu-delete-item">
60 <button type="button" class="button-link menu-delete">
61 <?php _e( 'Delete Menu' ); ?>
64 <?php if ( current_theme_supports( 'menus' ) ) : ?>
65 <ul class="menu-settings">
66 <li class="customize-control">
67 <span class="customize-control-title"><?php _e( 'Display Location' ); ?></span>
70 <?php foreach ( get_registered_nav_menus() as $location => $description ) : ?>
71 <li class="customize-control customize-control-checkbox assigned-menu-location">
73 <input type="checkbox" data-menu-id="{{ data.menu_id }}" data-location-id="<?php echo esc_attr( $location ); ?>" class="menu-location" /> <?php echo $description; ?>
74 <span class="theme-location-set"><?php
75 /* translators: %s: menu name */
76 printf( _x( '(Current: %s)', 'menu location' ),
77 '<span class="current-menu-location-name-' . esc_attr( $location ) . '"></span>'
89 * Return parameters for this control.
94 * @return array Exported parameters.
96 public function json() {
97 $exported = parent::json();
98 $exported['menu_id'] = $this->setting->term_id;