. * * @package Allo * @since Allo 1.0 */ if ( ! class_exists( 'WP_Customize_Control' ) ) { return null; } /** * Class Allo_Customize_Alpha_Color_Control */ class Allo_Customize_Alpha_Color_Control extends WP_Customize_Control { /** * Official control name. * * @var string */ 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. * * @var bool */ public $palette; /** * Add support for showing the opacity value on the slider handle. * * @var array */ public $show_opacity; /** * Enqueue scripts and styles. * * Ideally these would get registered and given proper paths before this control object * gets initialized, then we could simply enqueue them here, but for completeness as a * stand alone class we'll register and enqueue them here. */ public function enqueue() { wp_enqueue_script( 'allo_alpha-color-picker', TL_ALLO_TEMPLATE_DIR_URL . '/customizer/customizer-alpha-color-picker/js/alpha-color-picker.js', array( 'jquery', 'wp-color-picker' ),TL_ALLO_VERSION, true ); wp_enqueue_style('allo_alpha-color-picker', TL_ALLO_TEMPLATE_DIR_URL . '/customizer/customizer-alpha-color-picker/css/alpha-color-picker.css', array( 'wp-color-picker' ), TL_ALLO_VERSION ); } /** * Render the control. */ 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'; // Output the label and description if they were passed in. if ( isset( $this->label ) && '' !== $this->label ) { echo '' . esc_html( $this->label ) . ''; } if ( isset( $this->description ) && '' !== $this->description ) { echo '' . esc_html( $this->description ) . ''; } ?>