frontend->register_listing_deps(); } wp_enqueue_script( 'jquery-slick' ); jet_engine()->frontend->ensure_lib( 'imagesloaded' ); jet_engine()->frontend->frontend_scripts(); $args = wp_parse_args( $args, array( 'size' => 'full', 'lightbox' => false, 'slides_to_show' => 1, 'slides_to_show_t' => false, 'slides_to_show_m' => false, ) ); $slider_atts = array( 'slidesToShow' => $args['slides_to_show'], 'dots' => false, 'slidesToScroll' => 1, 'adaptiveHeight' => true, 'prevArrow' => "
", 'nextArrow' => "
", 'rtl' => is_rtl(), ); $mobile_settings = apply_filters( 'jet-engine/gallery/slider/mobile-settings', array( 'slides_to_show_t' => 1025, 'slides_to_show_m' => 768, ) ); foreach ( $mobile_settings as $key => $breakpoint ) { if ( ! empty( $args[ $key ] ) ) { if ( ! isset( $slider_atts['responsive'] ) ) { $slider_atts['responsive'] = array(); } $slider_atts['responsive'][] = array( 'breakpoint' => $breakpoint, 'settings' => array( 'slidesToShow' => $args[ $key ], ), ); } } $slider_atts = apply_filters( 'jet-engine/gallery/slider/atts', $slider_atts ); $slider_atts = htmlspecialchars( json_encode( $slider_atts ) ); echo ''; } /** * Ensure slider JS is enqueued. * * @param string $content * @return string */ public static function ensure_slider_js( $content ) { ob_start(); jet_engine()->frontend->register_listing_deps(); wp_scripts()->done[] = 'jquery'; wp_scripts()->print_scripts( 'jquery-slick' ); wp_scripts()->print_scripts( 'imagesloaded' ); return $content . ob_get_clean(); } /** * Render images gallery as grid * * @param array $images [description] * @param string $size [description] * @param boolean $lightbox [description] * @return string */ public static function grid( $images = array(), $args = array() ) { if ( empty( $images ) ) { return ''; } $args = wp_parse_args( $args, array( 'size' => 'full', 'lightbox' => false, 'cols_desk' => 3, 'cols_tablet' => 3, 'cols_mobile' => 1, ) ); ob_start(); $classes = array( 'grid-col-desk-' . $args['cols_desk'], 'grid-col-tablet-' . $args['cols_tablet'], 'grid-col-mobile-' . $args['cols_mobile'], ); $classes = sprintf( ' %s', implode( ' ', $classes ) ); echo ''; return ob_get_clean(); } public static function get_img_data( $img_data = null, $args = array() ) { $result = Jet_Engine_Tools::get_attachment_image_data_array( $img_data ); $result['full'] = $result['url']; if ( 'full' !== $args['size'] ) { $result['url'] = wp_get_attachment_image_url( $result['id'], $args['size'] ); } return $result; } public static function get_full_img_sizes( $img_id = null ) { $result = array(); $img_src = wp_get_attachment_image_src( $img_id, 'full' ); $result['width'] = $img_src[1]; $result['height'] = $img_src[2]; return $result; } /** * Returns random ID for gallery * * @return [type] [description] */ public static function get_gallery_id() { return 'gallery_' . rand( 1000, 9999 ); } } }