json['default'] = $this->setting->default; if (isset($this->default)) { $this->json['default'] = $this->default; } $this->json['value'] = maybe_unserialize($this->value()); $this->json['choices'] = $this->choices; $this->json['link'] = $this->get_link(); $this->json['id'] = $this->id; $this->json['inputAttrs'] = ''; foreach ($this->input_attrs as $attr => $value) { $this->json['inputAttrs'] .= $attr . '="' . esc_attr($value) . '" '; } $this->json['inputAttrs'] = maybe_serialize($this->input_attrs()); } /** * An Underscore (JS) template for this control's content (but not its container). * * Class variables for this control class are available in the `data` JS object; * export custom variables by overriding {@see WP_Customize_Control::to_json()}. * * @see WP_Customize_Control::print_template() * * @access protected */ protected function content_template() { ?> manager->get_control($setting->id)->choices; $input_keys = $input; foreach ($input_keys as $key => $value) { if (!array_key_exists($value, $choices)) { unset($input[$key]); } } // If the input is a valid key, return it; // otherwise, return the default. return ( is_array($input) ? $input : $setting->default ); } }