PluginProbe ʕ •ᴥ•ʔ
Kirki – Freeform Page Builder, Website Builder & Customizer / 6.0.13
Kirki – Freeform Page Builder, Website Builder & Customizer v6.0.13
6.1.1 6.1.0 6.0.14 6.0.13 6.0.12 6.0.11 6.0.10 6.0.9 6.0.8 6.0.7 6.0.6 6.0.5 6.0.4 6.0.3 6.0.2 6.0.1 3.1.3 3.1.4 3.1.5 3.1.6 3.1.7 3.1.8 3.1.9 4.0.19 4.0.20 4.0.21 4.0.22 4.0.23 4.0.24 4.1 4.2.0 5.0.0 5.1.0 5.1.1 5.2.0 5.2.1 5.2.2 5.2.3 6.0.0 trunk 3.0.40 3.0.41 3.0.42 3.0.43 3.0.44 3.0.45 3.1.0 3.1.1 3.1.2
kirki / customizer / packages / controls / generic / src / Control / Generic.php
kirki / customizer / packages / controls / generic / src / Control Last commit date
Generic.php 3 months ago
Generic.php
104 lines
1 <?php
2 /**
3 * Customizer Control: kirki-generic.
4 *
5 * @package kirki-framework/control-generic
6 * @copyright Copyright (c) 2023, Themeum
7 * @license https://opensource.org/licenses/MIT
8 * @since 1.0
9 */
10
11 namespace Kirki\Control;
12
13 use Kirki\Control\Base;
14 use Kirki\URL;
15
16 /**
17 * A generic and pretty abstract control.
18 * Allows for great manipulation using the field's "choices" argumnent.
19 *
20 * @since 1.0
21 */
22 class Generic extends Base {
23
24 /**
25 * The control type.
26 *
27 * @access public
28 * @var string
29 */
30 public $type = 'kirki-generic';
31
32 /**
33 * The version. Used in scripts & styles for cache-busting.
34 *
35 * @static
36 * @access public
37 * @since 1.0
38 * @var string
39 */
40 public static $control_ver = '1.0.2';
41
42 /**
43 * Enqueue control related scripts/styles.
44 *
45 * @access public
46 * @since 1.0
47 * @return void
48 */
49
50
51 /**
52 * An Underscore (JS) template for this control's content (but not its container).
53 *
54 * Class variables for this control class are available in the `data` JS object;
55 * export custom variables by overriding {@see WP_Customize_Control::to_json()}.
56 *
57 * @see WP_Customize_Control::print_template()
58 *
59 * @access protected
60 * @since 1.1
61 * @return void
62 */
63 protected function content_template() {
64 ?>
65 <label class="customize-control-label" for="{{ ! data.choices.id ? 'customize-input-' + data.id : data.choices.id }}">
66 <span class="customize-control-title">{{{ data.label }}}</span>
67 <# if ( data.description ) { #>
68 <span class="description customize-control-description">{{{ data.description }}}</span>
69 <# } #>
70 </label>
71 <div class="kirki-control-form">
72 <# element = ( data.choices.element ) ? data.choices.element : 'input'; #>
73
74 <# if ( 'textarea' === element ) { #>
75 <textarea
76 {{{ data.inputAttrs }}}
77 {{ data.link.replace(/"/g, '') }}
78 <# if ( ! data.choices.id ) { #>
79 id="{{'customize-input-' + data.id}}"
80 <# } #>
81 <# _.each( data.choices, function( val, key ) { #>
82 {{ key }}="{{ val }}"
83 <# }); #>
84 >{{{ data.value }}}</textarea>
85 <# } else { #>
86 <{{ element }}
87 {{{ data.inputAttrs }}}
88 value="{{ data.value }}"
89 {{ data.link.replace(/"/g, '') }}
90
91 <# if ( ! data.choices.id ) { #>
92 id="{{'customize-input-' + data.id}}"
93 <# } #>
94
95 <# _.each( data.choices, function( val, key ) { #>
96 {{ key }}="{{ val }}"
97 <# } ); #>
98 <# if ( data.choices.content ) { #>>{{{ data.choices.content }}}</{{ element }}><# } else { #>/><# } #>
99 <# } #>
100 </div>
101 <?php
102 }
103 }
104