Code Coverage
 
Classes and Traits
Functions and Methods
Lines
Total
0.00% covered (danger)
0.00%
0 / 1
0.00% covered (danger)
0.00%
0 / 2
CRAP
0.00% covered (danger)
0.00%
0 / 7
WP_Customize_Nav_Menu_Control
0.00% covered (danger)
0.00%
0 / 1
33.33% covered (danger)
33.33%
1 / 3
30
0.00% covered (danger)
0.00%
0 / 7
 render_content
100.00% covered (success)
100.00%
1 / 1
1
100.00% covered (success)
100.00%
0 / 0
 content_template
0.00% covered (danger)
0.00%
0 / 1
12
0.00% covered (danger)
0.00%
0 / 4
 json
0.00% covered (danger)
0.00%
0 / 1
2
0.00% covered (danger)
0.00%
0 / 3
<?php
/**
 * Customize API: WP_Customize_Nav_Menu_Control class
 *
 * @package WordPress
 * @subpackage Customize
 * @since 4.4.0
 */
/**
 * Customize Nav Menu Control Class.
 *
 * @since 4.3.0
 */
class WP_Customize_Nav_Menu_Control extends WP_Customize_Control {
    /**
     * Control type.
     *
     * @since 4.3.0
     * @access public
     * @var string
     */
    public $type = 'nav_menu';
    /**
     * The nav menu setting.
     *
     * @since 4.3.0
     * @access public
     * @var WP_Customize_Nav_Menu_Setting
     */
    public $setting;
    /**
     * Don't render the control's content - it uses a JS template instead.
     *
     * @since 4.3.0
     * @access public
     */
    public function render_content() {}
    /**
     * JS/Underscore template for the control UI.
     *
     * @since 4.3.0
     * @access public
     */
    public function content_template() {
        ?>
        <button type="button" class="button-secondary add-new-menu-item" aria-label="<?php esc_attr_e( 'Add or remove menu items' ); ?>" aria-expanded="false" aria-controls="available-menu-items">
            <?php _e( 'Add Items' ); ?>
        </button>
        <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 }}">
            <span class="reorder"><?php _ex( 'Reorder', 'Reorder menu items in Customizer' ); ?></span>
            <span class="reorder-done"><?php _ex( 'Done', 'Cancel reordering menu items in Customizer' ); ?></span>
        </button>
        <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>
        <span class="menu-delete-item">
            <button type="button" class="button-link menu-delete">
                <?php _e( 'Delete Menu' ); ?>
            </button>
        </span>
        <?php if ( current_theme_supports( 'menus' ) ) : ?>
        <ul class="menu-settings">
            <li class="customize-control">
                <span class="customize-control-title"><?php _e( 'Menu locations' ); ?></span>
            </li>
            <?php foreach ( get_registered_nav_menus() as $location => $description ) : ?>
            <li class="customize-control customize-control-checkbox assigned-menu-location">
                <label>
                    <input type="checkbox" data-menu-id="{{ data.menu_id }}" data-location-id="<?php echo esc_attr( $location ); ?>" class="menu-location" /> <?php echo $description; ?>
                    <span class="theme-location-set"><?php
                        /* translators: %s: menu name */
                        printf( _x( '(Current: %s)', 'menu location' ),
                            '<span class="current-menu-location-name-' . esc_attr( $location ) . '"></span>'
                        );
                    ?></span>
                </label>
            </li>
            <?php endforeach; ?>
        </ul>
        <?php endif;
    }
    /**
     * Return parameters for this control.
     *
     * @since 4.3.0
     * @access public
     *
     * @return array Exported parameters.
     */
    public function json() {
        $exported            = parent::json();
        $exported['menu_id'] = $this->setting->term_id;
        return $exported;
    }
}