. * * @package ReduxFramework * @subpackage Field_Gallery * @author Abdullah Almesbahi (cadr-sa) * @version 3.0.0 */ // Exit if accessed directly if ( ! defined( 'ABSPATH' ) ) { exit; } // Don't duplicate me! if ( ! class_exists( 'ReduxFramework_gallery' ) ) { /** * Main ReduxFramework_gallery class * * @since 3.0.0 */ class ReduxFramework_gallery { /** * Field Constructor. * Required - must call the parent constructor, then assign field and value to vars, and obviously call the render field function * * @since 1.0.0 * @access public * @return void */ function __construct( $field = array(), $value = '', $parent ) { $this->parent = $parent; $this->field = $field; $this->value = $value; } /** * Field Render Function. * Takes the vars and outputs the HTML for the field in the settings * * @since 1.0.0 * @access public * @return void */ public function render() { echo '
'; if ( ! empty( $this->value ) ) { $ids = explode( ',', $this->value ); foreach ( $ids as $attachment_id ) { $img = wp_get_attachment_image_src( $attachment_id, 'thumbnail' ); echo ''; echo ''; echo ''; } } echo '
'; echo '' . __( 'Add/Edit Gallery', 'redux-framework' ) . ' '; echo '' . __( 'Clear Gallery', 'redux-framework' ) . ''; echo ''; } /** * Enqueue Function. * If this field requires any scripts, or css define this function and register/enqueue the scripts/css * * @since 1.0.0 * @access public * @return void */ public function enqueue() { if ( function_exists( 'wp_enqueue_media' ) ) { wp_enqueue_media(); } else { wp_enqueue_script( 'media-upload' ); wp_enqueue_script( 'thickbox' ); wp_enqueue_style( 'thickbox' ); } wp_enqueue_script( 'redux-field-gallery-js', ReduxFramework::$_url . 'inc/fields/gallery/field_gallery' . Redux_Functions::isMin() . '.js', array( 'jquery', 'redux-js' ), time(), true ); } } }