[ Index ] |
PHP Cross Reference of WordPress |
[Summary view] [Print] [Text view]
1 <?php 2 /** 3 * Customize API: WP_Customize_Nav_Menu_Location_Control class 4 * 5 * @package WordPress 6 * @subpackage Customize 7 * @since 4.4.0 8 */ 9 10 /** 11 * Customize Menu Location Control Class. 12 * 13 * This custom control is only needed for JS. 14 * 15 * @since 4.3.0 16 * 17 * @see WP_Customize_Control 18 */ 19 class WP_Customize_Nav_Menu_Location_Control extends WP_Customize_Control { 20 21 /** 22 * Control type. 23 * 24 * @since 4.3.0 25 * @var string 26 */ 27 public $type = 'nav_menu_location'; 28 29 /** 30 * Location ID. 31 * 32 * @since 4.3.0 33 * @var string 34 */ 35 public $location_id = ''; 36 37 /** 38 * Refresh the parameters passed to JavaScript via JSON. 39 * 40 * @since 4.3.0 41 * 42 * @see WP_Customize_Control::to_json() 43 */ 44 public function to_json() { 45 parent::to_json(); 46 $this->json['locationId'] = $this->location_id; 47 } 48 49 /** 50 * Render content just like a normal select control. 51 * 52 * @since 4.3.0 53 * @since 4.9.0 Added a button to create menus. 54 */ 55 public function render_content() { 56 if ( empty( $this->choices ) ) { 57 return; 58 } 59 60 $value_hidden_class = ''; 61 $no_value_hidden_class = ''; 62 if ( $this->value() ) { 63 $value_hidden_class = ' hidden'; 64 } else { 65 $no_value_hidden_class = ' hidden'; 66 } 67 ?> 68 <label> 69 <?php if ( ! empty( $this->label ) ) : ?> 70 <span class="customize-control-title"><?php echo esc_html( $this->label ); ?></span> 71 <?php endif; ?> 72 73 <?php if ( ! empty( $this->description ) ) : ?> 74 <span class="description customize-control-description"><?php echo $this->description; ?></span> 75 <?php endif; ?> 76 77 <select <?php $this->link(); ?>> 78 <?php 79 foreach ( $this->choices as $value => $label ) : 80 echo '<option value="' . esc_attr( $value ) . '"' . selected( $this->value(), $value, false ) . '>' . $label . '</option>'; 81 endforeach; 82 ?> 83 </select> 84 </label> 85 <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> 86 <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> 87 <?php 88 } 89 }
title
Description
Body
title
Description
Body
title
Description
Body
title
Body
Generated: Wed Dec 25 01:00:02 2024 | Cross-referenced by PHPXref 0.7.1 |