* @copyright Copyright (c) 2008 - 2015, Justin Tadlock * @link http://themehybrid.com/hybrid-core * @license http://www.gnu.org/licenses/old-licenses/gpl-2.0.html */ if ( ! class_exists( 'WP_Customize_Control' ) ){ return; } /** * Radio image customize control. * * @since 1.0.0 * @access public */ class Big_Store_WP_Customize_Control_Radio_Image extends WP_Customize_Control { /** * The type of customize control being rendered. * * @since 1.0.0 * @access public * @var string */ public $type = 'radio-image'; /** * Loads the jQuery UI Button script and custom scripts/styles. * * @since 1.0.0 * @access public * @return void */ public function enqueue() { wp_enqueue_script( 'jquery-ui-button' ); wp_enqueue_script( 'big-store-radio-customize-controls', BIG_STORE_THEME_URI . 'customizer/customizer-radio-image/radio-image.js', array( 'jquery' ), '1.0.0', true ); wp_enqueue_style( 'big-store-radio-customize-controls', BIG_STORE_THEME_URI . 'customizer/customizer-radio-image/radio-image.css' ); } /** * Add custom JSON parameters to use in the JS template. * * @since 1.0.0 * @access public * @return void */ public function to_json() { parent::to_json(); // We need to make sure we have the correct image URL. foreach ( $this->choices as $value => $args ) $this->choices[ $value ]['url'] = esc_url( sprintf( $args['url'], get_template_directory_uri(), get_stylesheet_directory_uri() ) ); $this->json['choices'] = $this->choices; $this->json['link'] = $this->get_link(); $this->json['value'] = $this->value(); $this->json['id'] = $this->id; } /** * Underscore JS template to handle the control's output. * * @since 1.0.0 * @access public * @return void */ public function content_template() { ?> <# if ( ! data.choices ) { return; } #> <# if ( data.label ) { #> {{ data.label }} <# } #> <# if ( data.description ) { #> {{{ data.description }}} <# } #>
<# for ( key in data.choices ) { #> checked="checked" <# } #> /> <# } #>