label ); ?>

taxonomy = $our_taxonomy; parent::__construct($manager, $id, $args); } /** * Render content. * * @since 1.0.0 */ public function render_content() { $tax_args = array( 'hierarchical' => 0, 'taxonomy' => $this->taxonomy, ); $all_taxonomies = get_categories($tax_args); ?> choices)) { return; } $name = '_customize-radio-' . $this->id; ?> * @license http://www.gnu.org/licenses/gpl-2.0.html * @link https://github.com/maddisondesigns */ class StoreCommerce_Image_Checkbox_Custom_Control extends WP_Customize_Control { /** * The type of control being rendered */ public $type = 'image_checkbox'; /** * Enqueue our scripts and styles */ public function enqueue() { wp_enqueue_style('storecommerce-custom-controls-css', trailingslashit(get_template_directory_uri()) . 'inc/customizer/css/customizer.css', array(), '1.0', 'all'); } /** * Render the control in the customizer */ public function render_content() { ?>
label)) { ?> label); ?> description)) { ?> description); ?> value())); ?> link(); ?> /> choices as $key => $value) { ?>
* @license http://www.gnu.org/licenses/gpl-2.0.html * @link https://github.com/maddisondesigns */ class StoreCommerce_Sortable_Field_Custom_Control extends WP_Customize_Control { /** * The type of control being rendered */ public $type = 'sortable_field'; /** * Constructor */ public function __construct($manager, $id, $args = array(), $options = array()) { parent::__construct($manager, $id, $args); } /** * Enqueue our scripts and styles */ public function enqueue() { wp_enqueue_script('storecommerce-custom-controls-js', trailingslashit(get_template_directory_uri()) . 'inc/customizer/js/customizer.js', array('jquery', 'jquery-ui-core'), '1.0', true); wp_enqueue_style('storecommerce-custom-controls-css', trailingslashit(get_template_directory_uri()) . 'inc/customizer/css/customizer.css', array(), '1.0', 'all'); } /** * Render the control in the customizer */ public function render_content() { if (empty($this->choices)) { return; } ?>
label)) { ?> label); ?> description)) { ?> description); ?> choices as $key => $value) : ?>
* @license http://www.gnu.org/licenses/gpl-2.0.html * @link https://github.com/maddisondesigns */ class StoreCommerce_Text_Radio_Button_Custom_Control extends WP_Customize_Control { /** * The type of control being rendered */ public $type = 'text_radio_button'; /** * Enqueue our scripts and styles */ public function enqueue() { wp_enqueue_style('storecommerce-custom-controls-css', trailingslashit(get_template_directory_uri()) . 'inc/customizer/css/customizer.css', array(), '1.0', 'all'); } /** * Render the control in the customizer */ public function render_content() { ?>
label)) { ?> label); ?> description)) { ?> description); ?>
choices as $key => $value) { ?>
* @license http://www.gnu.org/licenses/gpl-2.0.html * @link https://github.com/maddisondesigns */ class StoreCommerce_Image_Radio_Button_Custom_Control extends WP_Customize_Control { /** * The type of control being rendered */ public $type = 'image_radio_button'; /** * Enqueue our scripts and styles */ public function enqueue() { wp_enqueue_style('storecommerce-custom-controls-css', trailingslashit(get_template_directory_uri()) . 'inc/customizer/css/customizer.css', array(), '1.0', 'all'); } /** * Render the control in the customizer */ public function render_content() { ?>
label)) { ?> label); ?> description)) { ?> description); ?> choices as $key => $value) { ?>
* @license http://www.gnu.org/licenses/gpl-2.0.html * @link https://github.com/maddisondesigns */ class StoreCommerce_Simple_Notice_Custom_Control extends WP_Customize_Control { /** * The type of control being rendered */ public $type = 'simple_notice'; /** * Render the control in the customizer */ public function render_content() { $allowed_html = array( 'a' => array( 'href' => array(), 'title' => array(), 'class' => array(), 'target' => array(), ), 'br' => array(), 'em' => array(), 'strong' => array(), 'i' => array( 'class' => array() ), 'span' => array( 'class' => array(), ), 'code' => array(), ); ?>
label)) { ?> label); ?> description)) { ?> description, $allowed_html); ?>
* @license http://www.gnu.org/licenses/gpl-2.0.html * @link https://github.com/maddisondesigns */ class StoreCommerce_Slider_Custom_Control extends WP_Customize_Control { /** * The type of control being rendered */ public $type = 'slider_control'; /** * Enqueue our scripts and styles */ public function enqueue() { wp_enqueue_script('storecommerce-custom-controls-js', trailingslashit(get_template_directory_uri()) . 'inc/customizer/js/customizer.js', array('jquery', 'jquery-ui-core'), '1.0', true); wp_enqueue_style('storecommerce-custom-controls-css', trailingslashit(get_template_directory_uri()) . 'inc/customizer/css/customizer.css', array(), '1.0', 'all'); } /** * Render the control in the customizer */ public function render_content() { ?>
label); ?>link(); ?> />
* @license http://www.gnu.org/licenses/gpl-2.0.html * @link https://github.com/maddisondesigns */ class StoreCommerce_Toggle_Switch_Custom_control extends WP_Customize_Control { /** * The type of control being rendered */ public $type = 'toogle_switch'; /** * Enqueue our scripts and styles */ public function enqueue() { wp_enqueue_style('storecommerce-custom-controls-css', trailingslashit(get_template_directory_uri()) . 'inc/customizer/css/customizer.css', array(), '1.0', 'all'); } /** * Render the control in the customizer */ public function render_content() { ?>
link(); checked($this->value()); ?>>
label); ?> description)) { ?> description); ?>
* @license http://www.gnu.org/licenses/gpl-2.0.html * @link https://github.com/maddisondesigns */ class StoreCommerce_Sortable_Repeater_Custom_Control extends WP_Customize_Control { /** * The type of control being rendered */ public $type = 'sortable_repeater'; /** * Button labels */ public $button_labels = array(); /** * Constructor */ public function __construct($manager, $id, $args = array(), $options = array()) { parent::__construct($manager, $id, $args); // Merge the passed button labels with our default labels $this->button_labels = wp_parse_args($this->button_labels, array( 'add' => __('Add', 'storecommerce'), ) ); } /** * Enqueue our scripts and styles */ public function enqueue() { wp_enqueue_script('storecommerce-custom-controls-js', trailingslashit(get_template_directory_uri()) . 'inc/customizer/js/customizer.js', array('jquery', 'jquery-ui-core'), '1.0', true); wp_enqueue_style('storecommerce-custom-controls-css', trailingslashit(get_template_directory_uri()) . 'inc/customizer/css/customizer.css', array(), '1.0', 'all'); } /** * Render the control in the customizer */ public function render_content() { ?>
label)) { ?> label); ?> description)) { ?> description); ?> link(); ?> />
* @license http://www.gnu.org/licenses/gpl-3.0.html * @link https://github.com/BraadMartin/components/tree/master/customizer/alpha-color-picker */ class StoreCommerce_Customize_Alpha_Color_Control extends WP_Customize_Control { /** * The type of control being rendered */ public $type = 'alpha-color'; /** * Add support for palettes to be passed in. * * Supported palette values are true, false, or an array of RGBa and Hex colors. */ public $palette; /** * Add support for showing the opacity value on the slider handle. */ public $show_opacity; /** * Enqueue our scripts and styles */ public function enqueue() { wp_enqueue_script('storecommerce-custom-controls-js', trailingslashit(get_template_directory_uri()) . 'inc/customizer/js/customizer.js', array('jquery', 'wp-color-picker'), '1.0', true); wp_enqueue_style('storecommerce-custom-controls-css', trailingslashit(get_template_directory_uri()) . 'inc/customizer/css/customizer.css', array('wp-color-picker'), '1.0', 'all'); } /** * Render the control in the customizer */ public function render_content() { // Process the palette if (is_array($this->palette)) { $palette = implode('|', $this->palette); } else { // Default to true. $palette = (false === $this->palette || 'false' === $this->palette) ? 'false' : 'true'; } // Support passing show_opacity as string or boolean. Default to true. $show_opacity = (false === $this->show_opacity || 'false' === $this->show_opacity) ? 'false' : 'true'; ?> link(); ?> /> $value) { $input[$key] = esc_url_raw($value); } $input = implode(',', $input); } else { $input = esc_url_raw($input); } return $input; } } /** * Switch sanitization * * @param string Switch value * @return integer Sanitized value */ if (!function_exists('storecommerce_switch_sanitization')) { function storecommerce_switch_sanitization($input) { if (true === $input) { return 1; } else { return 0; } } } /** * Radio Button and Select sanitization * * @param string Radio Button value * @return integer Sanitized value */ if (!function_exists('storecommerce_radio_sanitization')) { function storecommerce_radio_sanitization($input, $setting) { //get the list of possible radio box or select options $choices = $setting->manager->get_control($setting->id)->choices; if (array_key_exists($input, $choices)) { return $input; } else { return $setting->default; } } } /** * Integer sanitization * * @param string Input value to check * @return integer Returned integer value */ if (!function_exists('storecommerce_sanitize_integer')) { function storecommerce_sanitize_integer($input) { return (int)$input; } } /** * Text sanitization * * @param string Input to be sanitized (either a string containing a single string or multiple, separated by commas) * @return string Sanitized input */ if (!function_exists('storecommerce_text_sanitization')) { function storecommerce_text_sanitization($input) { if (strpos($input, ',') !== false) { $input = explode(',', $input); } if (is_array($input)) { foreach ($input as $key => $value) { $input[$key] = sanitize_text_field($value); } $input = implode(',', $input); } else { $input = sanitize_text_field($input); } return $input; } } /** * Array sanitization * * @param array Input to be sanitized * @return array Sanitized input */ if (!function_exists('storecommerce_array_sanitization')) { function storecommerce_array_sanitization($input) { if (is_array($input)) { foreach ($input as $key => $value) { $input[$key] = sanitize_text_field($value); } } else { $input = ''; } return $input; } } /** * Alpha Color (Hex & RGBa) sanitization * * @param string Input to be sanitized * @return string Sanitized input */ if (!function_exists('storecommerce_hex_rgba_sanitization')) { function storecommerce_hex_rgba_sanitization($input, $setting) { if (empty($input) || is_array($input)) { return $setting->default; } if (false === strpos($input, 'rgba')) { // If string doesn't start with 'rgba' then santize as hex color $input = sanitize_hex_color($input); } else { // Sanitize as RGBa color $input = str_replace(' ', '', $input); sscanf($input, 'rgba(%d,%d,%d,%f)', $red, $green, $blue, $alpha); $input = 'rgba(' . storecommerce_in_range($red, 0, 255) . ',' . storecommerce_in_range($green, 0, 255) . ',' . storecommerce_in_range($blue, 0, 255) . ',' . storecommerce_in_range($alpha, 0, 1) . ')'; } return $input; } } /** * Only allow values between a certain minimum & maxmium range * * @param number Input to be sanitized * @return number Sanitized input */ if (!function_exists('storecommerce_in_range')) { function storecommerce_in_range($input, $min, $max) { if ($input < $min) { $input = $min; } if ($input > $max) { $input = $max; } return $input; } } /** * Google Font sanitization * * @param string JSON string to be sanitized * @return string Sanitized input */ if (!function_exists('storecommerce_google_font_sanitization')) { function storecommerce_google_font_sanitization($input) { $val = json_decode($input, true); if (is_array($val)) { foreach ($val as $key => $value) { $val[$key] = sanitize_text_field($value); } $input = json_encode($val); } else { $input = json_encode(sanitize_text_field($val)); } return $input; } } /** * Date Time sanitization * * @param string Date/Time string to be sanitized * @return string Sanitized input */ if (!function_exists('storecommerce_date_time_sanitization')) { function storecommerce_date_time_sanitization($input, $setting) { $datetimeformat = 'Y-m-d'; if ($setting->manager->get_control($setting->id)->include_time) { $datetimeformat = 'Y-m-d H:i:s'; } $date = DateTime::createFromFormat($datetimeformat, $input); if ($date === false) { $date = DateTime::createFromFormat($datetimeformat, $setting->default); } return $date->format($datetimeformat); } } /** * Sortable multi check boxes custom control. * @since 0.1.0 * @author David Chandra Purnama * @copyright Copyright (c) 2015, Genbu Media * @license http://www.gnu.org/licenses/old-licenses/gpl-2.0.html */ class StoreCommerce_Sortable_Checkboxes extends WP_Customize_Control { /** * Control Type */ public $type = 'storecommerce-multicheck-sortable'; /** * Enqueue Scripts */ public function enqueue() { wp_enqueue_script('storecommerce-custom-controls-js', trailingslashit(get_template_directory_uri()) . 'inc/customizer/js/customizer.js', array('jquery', 'jquery-ui-sortable', 'customize-controls'), '1.0', true); wp_enqueue_style('storecommerce-custom-controls-css', trailingslashit(get_template_directory_uri()) . 'inc/customizer/css/customizer.css', array(), '1.0', 'all'); } /** * Render Settings */ public function render_content() { /* if no choices, bail. */ if ( empty( $this->choices ) ){ return; } ?> label ) ){ ?> label ); ?> description ) ){ ?> description; ?> value() ); $choices = $this->choices; /* If values exist, use it. */ $options = array(); if( $values ){ /* get individual item */ foreach( $values as $value ){ /* separate item with option */ $value = explode( ':', $value ); /* build the array. remove options not listed on choices. */ if ( array_key_exists( $value[0], $choices ) ){ $options[$value[0]] = $value[1] ? '1' : '0'; } } } /* if there's new options (not saved yet), add it in the end. */ foreach( $choices as $key => $val ){ /* if not exist, add it in the end. */ if ( ! array_key_exists( $key, $options ) ){ $options[$key] = '0'; // use zero to deactivate as default for new items. } } ?> * @license http://www.gnu.org/licenses/gpl-2.0.html * @link https://github.com/maddisondesigns */ class StoreCommerce_TinyMCE_Custom_control extends WP_Customize_Control { /** * The type of control being rendered */ public $type = 'tinymce_editor'; /** * Enqueue our scripts and styles */ public function enqueue(){ wp_enqueue_script( 'skyrocket-custom-controls-js', trailingslashit( get_template_directory_uri() ) . 'inc/customizer/js/customizer.js', array( 'jquery' ), '1.0', true ); wp_enqueue_style( 'skyrocket-custom-controls-css', trailingslashit( get_template_directory_uri() ) . 'inc/customizer/css/customizer.css', array(), '1.0', 'all' ); wp_enqueue_editor(); } /** * Pass our TinyMCE toolbar string to JavaScript */ public function to_json() { parent::to_json(); $this->json['skyrockettinymcetoolbar1'] = isset( $this->input_attrs['toolbar1'] ) ? esc_attr( $this->input_attrs['toolbar1'] ) : 'bold italic bullist numlist alignleft aligncenter alignright link'; $this->json['skyrockettinymcetoolbar2'] = isset( $this->input_attrs['toolbar2'] ) ? esc_attr( $this->input_attrs['toolbar2'] ) : ''; } /** * Render the control in the customizer */ public function render_content(){ ?>
label ); ?> description ) ) { ?> description ); ?>
pro_text; $json['pro_url'] = esc_url($this->pro_url); return $json; } /** * Outputs the Underscore.js template. * * @since 1.0.0 * @access public * @return void */ protected function render_template() { ?>
  • {{ data.title }} <# if ( data.pro_text && data.pro_url ) { #> {{ data.pro_text }} <# } #>