diff options
| author | Charles <sircharlesaze@gmail.com> | 2020-01-07 13:06:14 +0100 |
|---|---|---|
| committer | Charles <sircharlesaze@gmail.com> | 2020-01-07 13:06:14 +0100 |
| commit | 7086111ad4dd997e12a3220e1ee60c9b9bcf0bb8 (patch) | |
| tree | f7453d7dd5cbaaab246e23810b02d3edf1e451be /srcs/wordpress/wp-includes/customize/class-wp-customize-nav-menu-location-control.php | |
| parent | c59bdcf77c50cbe89b4a93782cdd6d9e7532080e (diff) | |
| download | ft_server-7086111ad4dd997e12a3220e1ee60c9b9bcf0bb8.tar.gz ft_server-7086111ad4dd997e12a3220e1ee60c9b9bcf0bb8.tar.bz2 ft_server-7086111ad4dd997e12a3220e1ee60c9b9bcf0bb8.zip | |
Added wordpress
Diffstat (limited to 'srcs/wordpress/wp-includes/customize/class-wp-customize-nav-menu-location-control.php')
| -rw-r--r-- | srcs/wordpress/wp-includes/customize/class-wp-customize-nav-menu-location-control.php | 89 |
1 files changed, 89 insertions, 0 deletions
diff --git a/srcs/wordpress/wp-includes/customize/class-wp-customize-nav-menu-location-control.php b/srcs/wordpress/wp-includes/customize/class-wp-customize-nav-menu-location-control.php new file mode 100644 index 0000000..4877ada --- /dev/null +++ b/srcs/wordpress/wp-includes/customize/class-wp-customize-nav-menu-location-control.php @@ -0,0 +1,89 @@ +<?php +/** + * Customize API: WP_Customize_Nav_Menu_Location_Control class + * + * @package WordPress + * @subpackage Customize + * @since 4.4.0 + */ + +/** + * Customize Menu Location Control Class. + * + * This custom control is only needed for JS. + * + * @since 4.3.0 + * + * @see WP_Customize_Control + */ +class WP_Customize_Nav_Menu_Location_Control extends WP_Customize_Control { + + /** + * Control type. + * + * @since 4.3.0 + * @var string + */ + public $type = 'nav_menu_location'; + + /** + * Location ID. + * + * @since 4.3.0 + * @var string + */ + public $location_id = ''; + + /** + * Refresh the parameters passed to JavaScript via JSON. + * + * @since 4.3.0 + * + * @see WP_Customize_Control::to_json() + */ + public function to_json() { + parent::to_json(); + $this->json['locationId'] = $this->location_id; + } + + /** + * Render content just like a normal select control. + * + * @since 4.3.0 + * @since 4.9.0 Added a button to create menus. + */ + public function render_content() { + if ( empty( $this->choices ) ) { + return; + } + + $value_hidden_class = ''; + $no_value_hidden_class = ''; + if ( $this->value() ) { + $value_hidden_class = ' hidden'; + } else { + $no_value_hidden_class = ' hidden'; + } + ?> + <label> + <?php if ( ! empty( $this->label ) ) : ?> + <span class="customize-control-title"><?php echo esc_html( $this->label ); ?></span> + <?php endif; ?> + + <?php if ( ! empty( $this->description ) ) : ?> + <span class="description customize-control-description"><?php echo $this->description; ?></span> + <?php endif; ?> + + <select <?php $this->link(); ?>> + <?php + foreach ( $this->choices as $value => $label ) : + echo '<option value="' . esc_attr( $value ) . '"' . selected( $this->value(), $value, false ) . '>' . $label . '</option>'; + endforeach; + ?> + </select> + </label> + <button type="button" class="button-link create-menu<?php echo $value_hidden_class; ?>" data-location-id="<?php echo esc_attr( $this->location_id ); ?>" aria-label="<?php esc_attr_e( 'Create a menu for this location' ); ?>"><?php _e( '+ Create New Menu' ); ?></button> + <button type="button" class="button-link edit-menu<?php echo $no_value_hidden_class; ?>" aria-label="<?php esc_attr_e( 'Edit selected menu' ); ?>"><?php _e( 'Edit Menu' ); ?></button> + <?php + } +} |
