class-kirki-controls-preset-control.php (1790B)
1 <?php 2 /** 3 * Customizer Control: preset. 4 * 5 * @package Kirki 6 * @subpackage Controls 7 * @copyright Copyright (c) 2016, Aristeides Stathopoulos 8 * @license http://opensource.org/licenses/https://opensource.org/licenses/MIT 9 * @since 2.0 10 */ 11 12 // Exit if accessed directly. 13 if ( ! defined( 'ABSPATH' ) ) { 14 exit; 15 } 16 17 if ( ! class_exists( 'Kirki_Controls_Preset_Control' ) ) { 18 19 /** 20 * Preset control (modified select). 21 */ 22 class Kirki_Controls_Preset_Control extends Kirki_Customize_Control { 23 24 /** 25 * The control type. 26 * 27 * @access public 28 * @var string 29 */ 30 public $type = 'kirki-preset'; 31 32 /** 33 * Enqueue control related scripts/styles. 34 * 35 * @access public 36 */ 37 public function enqueue() { 38 wp_enqueue_script( 'kirki-preset' ); 39 } 40 41 /** 42 * An Underscore (JS) template for this control's content (but not its container). 43 * 44 * Class variables for this control class are available in the `data` JS object; 45 * export custom variables by overriding {@see Kirki_Customize_Control::to_json()}. 46 * 47 * @see WP_Customize_Control::print_template() 48 * 49 * @access protected 50 */ 51 protected function content_template() { 52 ?> 53 <# if ( ! data.choices ) return; #> 54 <label> 55 <# if ( data.label ) { #> 56 <span class="customize-control-title">{{ data.label }}</span> 57 <# } #> 58 <# if ( data.description ) { #> 59 <span class="description customize-control-description">{{{ data.description }}}</span> 60 <# } #> 61 <select {{{ data.inputAttrs }}} {{{ data.link }}} data-multiple="1"> 62 <# for ( key in data.choices ) { #> 63 <option value="{{ key }}"<# if ( key === data.value ) { #>selected<# } #>> 64 {{ data.choices[ key ]['label'] }} 65 </option> 66 <# } #> 67 </select> 68 </label> 69 <?php 70 } 71 } 72 }