* @copyright Copyright (c) 2012 - 2015, Cherry Team * @link http://www.cxframework.com/ * @license http://www.gnu.org/licenses/gpl-3.0.en.html */ // If this file is called directly, abort. if ( ! defined( 'WPINC' ) ) { die; } if ( ! class_exists( 'CX_Control_Radio' ) ) { /** * Class for the building CX_Control_Radio elements. */ class CX_Control_Radio extends CX_Controls_Base { /** * Default settings. * * @since 1.0.0 * @var array */ public $defaults_settings = array( 'id' => 'cx-ui-radio-id', 'name' => 'cx-ui-radio-name', 'value' => 'radio-2', 'options' => array( 'radio-1' => array( 'label' => 'Radio 1', 'img_src' => '', ), 'radio-2' => array( 'label' => 'Radio 2', 'img_src' => '', ), 'radio-3' => array( 'label' => 'Radio 3', 'img_src' => '', ), ), 'label' => '', 'class' => '', ); /** * Render html UI_Radio. * * @since 1.0.0 */ public function render() { $html = ''; $class = implode( ' ', array( $this->settings['class'], ) ); if ( isset( $this->settings['options_callback'] ) ) { $this->settings['options'] = call_user_func( $this->settings['options_callback'] ); } $html .= '
'; if ( $this->settings['options'] && ! empty( $this->settings['options'] ) && is_array( $this->settings['options'] ) ) { if ( '' !== $this->settings['label'] ) { $html .= ' '; } $html .= '
'; foreach ( $this->settings['options'] as $option => $option_value ) { $checked = $option == $this->settings['value'] ? ' checked' : ''; $radio_id = $this->settings['id'] . '-' . $option; $img = isset( $option_value['img_src'] ) && ! empty( $option_value['img_src'] ) ? '' . esc_html( $option_value['label'] ) . '' : ''; $class_box = isset( $option_value['img_src'] ) && ! empty( $option_value['img_src'] ) ? 'cx-radio-img' : 'cx-radio-item' ; $html .= '
'; $html .= 'settings['value'], false ) . ' value="' . esc_attr( $option ) . '"/>'; $label_content = $img . $option_value['label']; $html .= ' '; $html .= '
'; } $html .= '
'; $html .= '
'; } $html .= '
'; return $html; } /** * Enqueue javascript and stylesheet UI_Radio. * * @since 1.0.0 */ public static function enqueue_assets() { wp_enqueue_style( 'ui-radio', esc_url( Cherry_Core::base_url( 'inc/ui-elements/ui-radio/assets/min/ui-radio.min.css', Cherry_UI_Elements::$module_path ) ), array(), Cherry_UI_Elements::$core_version, 'all' ); wp_enqueue_script( 'ui-radio-min', esc_url( Cherry_Core::base_url( 'inc/ui-elements/ui-radio/assets/min/ui-radio.min.js', Cherry_UI_Elements::$module_path ) ), array( 'jquery' ), Cherry_UI_Elements::$core_version, true ); } } }