D7net
Home
Console
Upload
information
Create File
Create Folder
About
Tools
:
/
var
/
www
/
oems
/
wp-content
/
plugins
/
slide-anything
/
php
/
Filename :
slide-anything-frontend.php
back
Copy
<?php /** * ##################################################################### * ### SLIDE ANYTHING PLUGIN - PHP FUNCTIONS FOR WordPress FRONT-END ### * ##################################################################### * * @package WordPress_Slide_Anything * @author Simon Edge * @copyright EdgeWebPages * @license GPLv2 or later */ add_shortcode( 'slide-anything', 'slide_anything_shortcode' ); /** * ##### ROOT FUNCTION THAT IS CALLED TO BY THE 'slide-anything' SHORTCODE ##### * * @param array $atts Shortcode attributes. */ function slide_anything_shortcode( $atts ) { wp_enqueue_script( 'jquery' ); wp_register_script( 'owl_carousel_js', SA_PLUGIN_PATH . 'owl-carousel/owl.carousel.min.js', array( 'jquery' ), '2.2.1', true ); wp_enqueue_script( 'owl_carousel_js' ); wp_register_style( 'owl_carousel_css', SA_PLUGIN_PATH . 'owl-carousel/owl.carousel.css', array(), '2.2.1.1', 'all' ); wp_enqueue_style( 'owl_carousel_css' ); wp_register_style( 'owl_theme_css', SA_PLUGIN_PATH . 'owl-carousel/sa-owl-theme.css', array(), '2.0', 'all' ); wp_enqueue_style( 'owl_theme_css' ); wp_register_style( 'owl_animate_css', SA_PLUGIN_PATH . 'owl-carousel/animate.min.css', array(), '2.0', 'all' ); wp_enqueue_style( 'owl_animate_css' ); wp_register_script( 'mousewheel_js', SA_PLUGIN_PATH . 'js/jquery.mousewheel.min.js', array( 'jquery' ), '3.1.13', true ); wp_enqueue_script( 'mousewheel_js' ); wp_register_script( 'owl_thumbs_js', SA_PLUGIN_PATH . 'owl-carousel/owl.carousel2.thumbs.min.js', array( 'jquery' ), '0.1.8', true ); wp_enqueue_script( 'owl_thumbs_js' ); // JAVASCRIPT/CSS FOR LIGHTGALLERY (POPUP) LIBRARY (lightgalleryjs.com). wp_register_script( 'lightgallery_js', SA_PLUGIN_PATH . 'lightgallery/lightgallery.min.js', array( 'jquery' ), '2.5.0', true ); wp_enqueue_script( 'lightgallery_js' ); wp_register_script( 'lightgallery_video_js', SA_PLUGIN_PATH . 'lightgallery/plugins/video/lg-video.min.js', array( 'jquery' ), '2.5.0', true ); wp_enqueue_script( 'lightgallery_video_js' ); wp_register_script( 'lightgallery_zoom_js', SA_PLUGIN_PATH . 'lightgallery/plugins/zoom/lg-zoom.min.js', array( 'jquery' ), '2.5.0', true ); wp_enqueue_script( 'lightgallery_zoom_js' ); wp_register_script( 'lightgallery_autoplay_js', SA_PLUGIN_PATH . 'lightgallery/plugins/autoplay/lg-autoplay.min.js', array( 'jquery' ), '2.5.0', true ); wp_enqueue_script( 'lightgallery_autoplay_js' ); wp_register_script( 'vimeo_player_js', SA_PLUGIN_PATH . 'lightgallery/player.min.js', array( 'jquery' ), '2.17.1', true ); wp_enqueue_script( 'vimeo_player_js' ); wp_register_style( 'lightgallery_css', SA_PLUGIN_PATH . 'lightgallery/css/lightgallery.css', array(), '2.5.0', 'all' ); wp_enqueue_style( 'lightgallery_css' ); wp_register_style( 'lightgallery_bundle_css', SA_PLUGIN_PATH . 'lightgallery/css/lightgallery-bundle.min.css', array(), '2.5.0', 'all' ); wp_enqueue_style( 'lightgallery_bundle_css' ); // EXTRACT SHORTCODE ATTRIBUTES. $args = shortcode_atts( array( 'id' => '0' ), $atts ); $id = (int) $args['id']; $output = ''; if ( 0 === $id ) { // SHORTCODE 'id' PARAMETER PROVIDED IS INVALID. $output .= "<div id='sa_invalid_postid'>Slide Anything shortcode error: A valid ID has not been provided</div>\n"; } else { $post_status = get_post_status( $id ); if ( 'publish' === $post_status ) { $metadata = get_metadata( 'post', $id ); $post_type = get_post_type( $id ); } if ( ( 'publish' !== $post_status ) || ( 0 === count( $metadata ) ) || ( 'sa_slider' !== $post_type ) ) { // SHORTCODE 'id' PARAMETER PROVIDED IS INVALID. $output .= "<div id='sa_invalid_postid'>Slide Anything shortcode error: A valid ID has not been provided</div>\n"; } else { // VALID 'id' PROVIDED - PROCESS SHORTCODE. // GET SLIDE DATA FROM DATABASE AND SAVE IN ARRAY. $slide_data = array(); $slide_data['num_slides'] = $metadata['sa_num_slides'][0]; $slide_data['shortcodes'] = $metadata['sa_shortcodes'][0]; if ( '1' === $slide_data['shortcodes'] ) { $slide_data['shortcodes'] = 'true'; } else { $slide_data['shortcodes'] = 'false'; } $slide_data['css_id'] = $metadata['sa_css_id'][0]; for ( $i = 1; $i <= $slide_data['num_slides']; $i++ ) { $slide_data[ 'slide' . $i . '_num' ] = $i; // apply 'the_content' filter to slide content to process any shortcodes. if ( 'true' === $slide_data['shortcodes'] ) { $slide_data[ 'slide' . $i . '_content' ] = do_shortcode( $metadata[ 'sa_slide' . $i . '_content' ][0] ); } else { $slide_data[ 'slide' . $i . '_content' ] = $metadata[ 'sa_slide' . $i . '_content' ][0]; } $slide_image_data = ''; if ( isset( $metadata[ 'sa_slide' . $i . '_image_data' ] ) ) { $slide_image_data = $metadata[ 'sa_slide' . $i . '_image_data' ][0]; } if ( isset( $slide_image_data ) && ( '' !== $slide_image_data ) ) { $data_arr = explode( '~', $slide_image_data ); $slide_data[ 'slide' . $i . '_image_id' ] = $data_arr[0]; $slide_data[ 'slide' . $i . '_image_pos' ] = $data_arr[1]; $slide_data[ 'slide' . $i . '_image_size' ] = $data_arr[2]; $slide_data[ 'slide' . $i . '_image_repeat' ] = $data_arr[3]; $slide_data[ 'slide' . $i . '_image_color' ] = $data_arr[4]; } else { $slide_data[ 'slide' . $i . '_image_id' ] = $metadata[ 'sa_slide' . $i . '_image_id' ][0]; $slide_data[ 'slide' . $i . '_image_pos' ] = $metadata[ 'sa_slide' . $i . '_image_pos' ][0]; $slide_data[ 'slide' . $i . '_image_size' ] = $metadata[ 'sa_slide' . $i . '_image_size' ][0]; $slide_data[ 'slide' . $i . '_image_repeat' ] = $metadata[ 'sa_slide' . $i . '_image_repeat' ][0]; $slide_data[ 'slide' . $i . '_image_color' ] = $metadata[ 'sa_slide' . $i . '_image_color' ][0]; } $slide_data[ 'slide' . $i . '_link_url' ] = $metadata[ 'sa_slide' . $i . '_link_url' ][0]; $slide_data[ 'slide' . $i . '_link_target' ] = $metadata[ 'sa_slide' . $i . '_link_target' ][0]; if ( '' === $slide_data[ 'slide' . $i . '_link_target' ] ) { $slide_data[ 'slide' . $i . '_link_target' ] = '_self'; } // ### GET POPUP DATA ### $slide_data[ 'slide' . $i . '_popup_type' ] = 'NONE'; $slide_data[ 'slide' . $i . '_popup_imageid' ] = ''; $slide_data[ 'slide' . $i . '_popup_imagetitle' ] = ''; $slide_data[ 'slide' . $i . '_popup_video_id' ] = ''; $slide_data[ 'slide' . $i . '_popup_video_type' ] = ''; $slide_data[ 'slide' . $i . '_popup_html' ] = ''; $slide_data[ 'slide' . $i . '_popup_shortcode' ] = ''; $slide_data[ 'slide' . $i . '_popup_bgcol' ] = '#ffffff'; $slide_data[ 'slide' . $i . '_popup_width' ] = '600'; if ( isset( $metadata[ 'sa_slide' . $i . '_popup_type' ] ) ) { $slide_data[ 'slide' . $i . '_popup_type' ] = $metadata[ 'sa_slide' . $i . '_popup_type' ][0]; } if ( isset( $metadata[ 'sa_slide' . $i . '_popup_imageid' ] ) ) { $slide_data[ 'slide' . $i . '_popup_imageid' ] = $metadata[ 'sa_slide' . $i . '_popup_imageid' ][0]; } if ( isset( $metadata[ 'sa_slide' . $i . '_popup_imagetitle' ] ) ) { $slide_data[ 'slide' . $i . '_popup_imagetitle' ] = $metadata[ 'sa_slide' . $i . '_popup_imagetitle' ][0]; } $slide_data[ 'slide' . $i . '_popup_image' ] = ''; $slide_data[ 'slide' . $i . '_popup_background' ] = 'no'; if ( 'IMAGE' === $slide_data[ 'slide' . $i . '_popup_type' ] ) { if ( ( '' !== $slide_data[ 'slide' . $i . '_popup_imageid' ] ) && ( 0 !== $slide_data[ 'slide' . $i . '_popup_imageid' ] ) ) { $popup_full_images = wp_get_attachment_image_src( $slide_data[ 'slide' . $i . '_popup_imageid' ], 'full' ); $slide_data[ 'slide' . $i . '_popup_image' ] = $popup_full_images[0]; $slide_data[ 'slide' . $i . '_popup_background' ] = $metadata[ 'sa_slide' . $i . '_popup_background' ][0]; if ( '' === $slide_data[ 'slide' . $i . '_popup_background' ] ) { $slide_data[ 'slide' . $i . '_popup_background' ] = 'no'; } } } if ( isset( $metadata[ 'sa_slide' . $i . '_popup_video_id' ] ) ) { $slide_data[ 'slide' . $i . '_popup_video_id' ] = $metadata[ 'sa_slide' . $i . '_popup_video_id' ][0]; } if ( isset( $metadata[ 'sa_slide' . $i . '_popup_video_type' ] ) ) { $slide_data[ 'slide' . $i . '_popup_video_type' ] = $metadata[ 'sa_slide' . $i . '_popup_video_type' ][0]; } if ( isset( $metadata[ 'sa_slide' . $i . '_popup_html' ] ) ) { $slide_data[ 'slide' . $i . '_popup_html' ] = $metadata[ 'sa_slide' . $i . '_popup_html' ][0]; } if ( isset( $metadata[ 'sa_slide' . $i . '_popup_shortcode' ] ) ) { $slide_data[ 'slide' . $i . '_popup_shortcode' ] = $metadata[ 'sa_slide' . $i . '_popup_shortcode' ][0]; } if ( isset( $metadata[ 'sa_slide' . $i . '_popup_bgcol' ] ) ) { $slide_data[ 'slide' . $i . '_popup_bgcol' ] = $metadata[ 'sa_slide' . $i . '_popup_bgcol' ][0]; } if ( isset( $metadata[ 'sa_slide' . $i . '_popup_width' ] ) ) { $slide_data[ 'slide' . $i . '_popup_width' ] = $metadata[ 'sa_slide' . $i . '_popup_width' ][0]; } if ( 'HTML' === $slide_data[ 'slide' . $i . '_popup_type' ] ) { $slide_data[ 'slide' . $i . '_popup_css_id' ] = $slide_data['css_id'] . '_popup' . $i; } else { $slide_data[ 'slide' . $i . '_popup_css_id' ] = ''; } } $slide_data['slide_duration'] = floatval( $metadata['sa_slide_duration'][0] ) * 1000; $slide_data['slide_transition'] = floatval( $metadata['sa_slide_transition'][0] ) * 1000; if ( isset( $metadata['sa_slide_by'][0] ) && ( '' !== $metadata['sa_slide_by'][0] ) ) { $slide_data['slide_by'] = $metadata['sa_slide_by'][0]; if ( '0' === $slide_data['slide_by'] ) { $slide_data['slide_by'] = 'page'; } } else { $slide_data['slide_by'] = 1; } $slide_data['loop_slider'] = $metadata['sa_loop_slider'][0]; if ( '1' === $slide_data['loop_slider'] ) { $slide_data['loop_slider'] = 'true'; } else { $slide_data['loop_slider'] = 'false'; } $slide_data['stop_hover'] = $metadata['sa_stop_hover'][0]; if ( '1' === $slide_data['stop_hover'] ) { $slide_data['stop_hover'] = 'true'; } else { $slide_data['stop_hover'] = 'false'; } $slide_data['random_order'] = $metadata['sa_random_order'][0]; if ( '1' === $slide_data['random_order'] ) { $slide_data['random_order'] = 'true'; } else { $slide_data['random_order'] = 'false'; } $slide_data['reverse_order'] = $metadata['sa_reverse_order'][0]; if ( '1' === $slide_data['reverse_order'] ) { $slide_data['reverse_order'] = 'true'; } else { $slide_data['reverse_order'] = 'false'; } $slide_data['nav_arrows'] = $metadata['sa_nav_arrows'][0]; if ( '1' === $slide_data['nav_arrows'] ) { $slide_data['nav_arrows'] = 'true'; } else { $slide_data['nav_arrows'] = 'false'; } $slide_data['pagination'] = $metadata['sa_pagination'][0]; if ( '1' === $slide_data['pagination'] ) { $slide_data['pagination'] = 'true'; } else { $slide_data['pagination'] = 'false'; } $slide_data['mouse_drag'] = $metadata['sa_mouse_drag'][0]; if ( '1' === $slide_data['mouse_drag'] ) { $slide_data['mouse_drag'] = 'true'; } else { $slide_data['mouse_drag'] = 'false'; } $slide_data['touch_drag'] = $metadata['sa_touch_drag'][0]; if ( '1' === $slide_data['touch_drag'] ) { $slide_data['touch_drag'] = 'true'; } else { $slide_data['touch_drag'] = 'false'; } if ( isset( $metadata['sa_mousewheel'] ) ) { $slide_data['mousewheel'] = $metadata['sa_mousewheel'][0]; if ( '1' === $slide_data['mousewheel'] ) { $slide_data['mousewheel'] = 'true'; } else { $slide_data['mousewheel'] = 'false'; } } else { $slide_data['mousewheel'] = 'false'; } if ( isset( $metadata['sa_click_advance'] ) ) { $slide_data['click_advance'] = $metadata['sa_click_advance'][0]; if ( '1' === $slide_data['click_advance'] ) { $slide_data['click_advance'] = 'true'; } else { $slide_data['click_advance'] = 'false'; } } else { $slide_data['click_advance'] = 'false'; } if ( isset( $metadata['sa_auto_height'] ) ) { $slide_data['auto_height'] = $metadata['sa_auto_height'][0]; if ( '1' === $slide_data['auto_height'] ) { $slide_data['auto_height'] = 'true'; } else { $slide_data['auto_height'] = 'false'; } } else { $slide_data['auto_height'] = 'false'; } if ( ( '0' === $metadata['sa_slide_min_height_perc'][0] ) || ( '0px' === $metadata['sa_slide_min_height_perc'][0] ) ) { $slide_data['vert_center'] = 'false'; } else { if ( isset( $metadata['sa_vert_center'] ) ) { $slide_data['vert_center'] = $metadata['sa_vert_center'][0]; if ( '1' === $slide_data['vert_center'] ) { $slide_data['vert_center'] = 'true'; } else { $slide_data['vert_center'] = 'false'; } } else { $slide_data['vert_center'] = 'false'; } } $slide_data['items_width1'] = $metadata['sa_items_width1'][0]; $slide_data['items_width2'] = $metadata['sa_items_width2'][0]; $slide_data['items_width3'] = $metadata['sa_items_width3'][0]; $slide_data['items_width4'] = $metadata['sa_items_width4'][0]; $slide_data['items_width5'] = $metadata['sa_items_width5'][0]; $slide_data['items_width6'] = $metadata['sa_items_width6'][0]; if ( '' === $slide_data['items_width6'] ) { $slide_data['items_width6'] = $slide_data['items_width5']; } $slide_data['transition'] = $metadata['sa_transition'][0]; $slide_data['background_color'] = $metadata['sa_background_color'][0]; $slide_data['border_width'] = $metadata['sa_border_width'][0]; $slide_data['border_color'] = $metadata['sa_border_color'][0]; $slide_data['border_radius'] = $metadata['sa_border_radius'][0]; $slide_data['wrapper_padd_top'] = $metadata['sa_wrapper_padd_top'][0]; $slide_data['wrapper_padd_right'] = $metadata['sa_wrapper_padd_right'][0]; $slide_data['wrapper_padd_bottom'] = $metadata['sa_wrapper_padd_bottom'][0]; $slide_data['wrapper_padd_left'] = $metadata['sa_wrapper_padd_left'][0]; $slide_data['slide_min_height_perc'] = $metadata['sa_slide_min_height_perc'][0]; $slide_data['slide_padding_tb'] = $metadata['sa_slide_padding_tb'][0]; $slide_data['slide_padding_lr'] = $metadata['sa_slide_padding_lr'][0]; $slide_data['slide_margin_lr'] = $metadata['sa_slide_margin_lr'][0]; $slide_data['slide_icons_location'] = $metadata['sa_slide_icons_location'][0]; $slide_data['autohide_arrows'] = $metadata['sa_autohide_arrows'][0]; if ( '1' === $slide_data['autohide_arrows'] ) { $slide_data['autohide_arrows'] = 'true'; } else { $slide_data['autohide_arrows'] = 'false'; } $slide_data['dot_per_slide'] = '0'; if ( isset( $metadata['sa_dot_per_slide'] ) ) { $slide_data['dot_per_slide'] = $metadata['sa_dot_per_slide'][0]; if ( '1' !== $slide_data['dot_per_slide'] ) { $slide_data['dot_per_slide'] = '0'; } } else { $slide_data['dot_per_slide'] = '0'; } $slide_data['slide_icons_visible'] = $metadata['sa_slide_icons_visible'][0]; if ( '1' === $slide_data['slide_icons_visible'] ) { $slide_data['slide_icons_visible'] = 'true'; } else { $slide_data['slide_icons_visible'] = 'false'; } $slide_data['slide_icons_color'] = $metadata['sa_slide_icons_color'][0]; if ( 'black' !== $slide_data['slide_icons_color'] ) { $slide_data['slide_icons_color'] = 'white'; } if ( isset( $metadata['sa_slide_icons_fullslide'][0] ) && ( '1' === $metadata['sa_slide_icons_fullslide'][0] ) ) { $slide_data['slide_icons_fullslide'] = '1'; } else { $slide_data['slide_icons_fullslide'] = '0'; } // FETCH OTHER SETTINGS POST META. $other_settings = ''; if ( isset( $metadata['sa_other_settings'] ) ) { $other_settings = $metadata['sa_other_settings'][0]; if ( isset( $other_settings ) && ( '' !== $other_settings ) ) { $other_settings_arr = explode( '|', $other_settings ); } } // setting 1 - sa_window_onload. $slide_data['sa_window_onload'] = '0'; if ( isset( $other_settings_arr ) && ( '' !== $other_settings_arr[0] ) ) { $slide_data['sa_window_onload'] = $other_settings_arr[0]; } else { if ( isset( $metadata['sa_window_onload'] ) ) { $slide_data['sa_window_onload'] = $metadata['sa_window_onload'][0]; if ( '1' !== $slide_data['sa_window_onload'] ) { $slide_data['sa_window_onload'] = '0'; } } } // setting 2 - sa_strip_javascript. $slide_data['strip_javascript'] = '0'; // setting 3 - sa_lazy_load_images. $slide_data['lazy_load_images'] = '0'; if ( isset( $other_settings_arr ) && ( '' !== $other_settings_arr[2] ) ) { $slide_data['lazy_load_images'] = $other_settings_arr[2]; } else { if ( isset( $metadata['sa_lazy_load_images'] ) ) { $slide_data['lazy_load_images'] = $metadata['sa_lazy_load_images'][0]; if ( '1' !== $slide_data['lazy_load_images'] ) { $slide_data['lazy_load_images'] = '0'; } } } // setting 4 - sa_ulli_containers. $slide_data['ulli_containers'] = '0'; if ( isset( $other_settings_arr ) && ( '' !== $other_settings_arr[3] ) ) { $slide_data['ulli_containers'] = $other_settings_arr[3]; } else { if ( isset( $metadata['sa_ulli_containers'] ) ) { $slide_data['ulli_containers'] = $metadata['sa_ulli_containers'][0]; if ( '1' !== $slide_data['ulli_containers'] ) { $slide_data['ulli_containers'] = '0'; } } } // setting 5 - sa_rtl_slider. $slide_data['rtl_slider'] = '0'; if ( isset( $other_settings_arr ) && ( '' !== $other_settings_arr[4] ) ) { $slide_data['rtl_slider'] = $other_settings_arr[4]; } // setting 7 - bg_image_size. $slide_data['bg_image_size'] = 'full'; if ( isset( $other_settings_arr ) && ( count( $other_settings_arr ) > 6 ) ) { if ( '' !== $other_settings_arr[6] ) { $slide_data['bg_image_size'] = $other_settings_arr[6]; } } // setting 8 - disable_slide_ids. $slide_data['disable_slide_ids'] = '0'; if ( isset( $other_settings_arr ) && ( count( $other_settings_arr ) > 7 ) ) { if ( '' !== $other_settings_arr[7] ) { $slide_data['disable_slide_ids'] = $other_settings_arr[7]; } } // Start Position. $slide_data['start_pos'] = 0; if ( isset( $metadata['sa_start_pos'] ) ) { $slide_data['start_pos'] = $metadata['sa_start_pos'][0]; if ( '' !== $slide_data['start_pos'] ) { $slide_data['start_pos'] = abs( intval( $slide_data['start_pos'] ) ); if ( $slide_data['start_pos'] > 0 ) { $slide_data['start_pos'] = $slide_data['start_pos'] - 1; } } } // hero slider and slider thumbnails. $slide_data['hero_slider'] = '0'; $slide_data['thumbs_active'] = '0'; if ( isset( $metadata['sa_hero_slider'] ) ) { $slide_data['hero_slider'] = $metadata['sa_hero_slider'][0]; if ( '1' !== $slide_data['hero_slider'] ) { $slide_data['hero_slider'] = '0'; } } else { $slide_data['hero_slider'] = '0'; } if ( isset( $metadata['sa_thumbs_active'] ) ) { $slide_data['thumbs_active'] = $metadata['sa_thumbs_active'][0]; if ( '1' !== $slide_data['thumbs_active'] ) { $slide_data['thumbs_active'] = '0'; } } else { $slide_data['thumbs_active'] = '0'; } if ( isset( $metadata['sa_thumbs_location'] ) ) { $slide_data['thumbs_location'] = $metadata['sa_thumbs_location'][0]; } else { $slide_data['thumbs_location'] = 'inside_bottom'; } if ( isset( $metadata['sa_thumbs_image_size'] ) ) { $slide_data['thumbs_image_size'] = $metadata['sa_thumbs_image_size'][0]; } else { $slide_data['thumbs_image_size'] = 'thumbnail'; } if ( isset( $metadata['sa_thumbs_padding'] ) ) { $slide_data['thumbs_padding'] = $metadata['sa_thumbs_padding'][0]; } else { $slide_data['thumbs_padding'] = '3'; } if ( isset( $metadata['sa_thumbs_width'] ) ) { $slide_data['thumbs_width'] = $metadata['sa_thumbs_width'][0]; } else { $slide_data['thumbs_width'] = '150'; } if ( isset( $metadata['sa_thumbs_height'] ) ) { $slide_data['thumbs_height'] = $metadata['sa_thumbs_height'][0]; } else { $slide_data['thumbs_height'] = '85'; } if ( isset( $metadata['sa_thumbs_opacity'] ) ) { $slide_data['thumbs_opacity'] = $metadata['sa_thumbs_opacity'][0]; } else { $slide_data['thumbs_opacity'] = '50'; } if ( isset( $metadata['sa_thumbs_border_width'] ) ) { $slide_data['thumbs_border_width'] = $metadata['sa_thumbs_border_width'][0]; } else { $slide_data['thumbs_border_width'] = '0'; } if ( isset( $metadata['sa_thumbs_border_color'] ) ) { $slide_data['thumbs_border_color'] = $metadata['sa_thumbs_border_color'][0]; } else { $slide_data['thumbs_border_color'] = '#ffffff'; } if ( isset( $metadata['sa_thumbs_resp_tablet'] ) ) { $slide_data['thumbs_resp_tablet'] = $metadata['sa_thumbs_resp_tablet'][0]; } else { $slide_data['thumbs_resp_tablet'] = '75'; } if ( isset( $metadata['sa_thumbs_resp_mobile'] ) ) { $slide_data['thumbs_resp_mobile'] = $metadata['sa_thumbs_resp_mobile'][0]; } else { $slide_data['thumbs_resp_mobile'] = '50'; } // showcase carousel. $slide_data['showcase_slider'] = '0'; if ( isset( $metadata['sa_showcase_slider'] ) ) { $slide_data['showcase_slider'] = $metadata['sa_showcase_slider'][0]; if ( '1' !== $slide_data['showcase_slider'] ) { $slide_data['showcase_slider'] = '0'; } } else { $slide_data['showcase_slider'] = '0'; } if ( isset( $metadata['sa_showcase_width'] ) ) { $slide_data['showcase_width'] = $metadata['sa_showcase_width'][0]; } else { $slide_data['showcase_width'] = '120'; } if ( isset( $metadata['sa_showcase_tablet'] ) ) { $slide_data['showcase_tablet'] = $metadata['sa_showcase_tablet'][0]; if ( '1' !== $slide_data['showcase_tablet'] ) { $slide_data['showcase_tablet'] = '0'; } } else { $slide_data['showcase_tablet'] = '0'; } if ( isset( $metadata['sa_showcase_width_tab'] ) ) { $slide_data['showcase_width_tab'] = $metadata['sa_showcase_width_tab'][0]; } else { $slide_data['showcase_width_tab'] = '130'; } if ( isset( $metadata['sa_showcase_mobile'] ) ) { $slide_data['showcase_mobile'] = $metadata['sa_showcase_mobile'][0]; if ( '1' !== $slide_data['showcase_mobile'] ) { $slide_data['showcase_mobile'] = '0'; } } else { $slide_data['showcase_mobile'] = '0'; } if ( isset( $metadata['sa_showcase_width_mob'] ) ) { $slide_data['showcase_width_mob'] = $metadata['sa_showcase_width_mob'][0]; } else { $slide_data['showcase_width_mob'] = '140'; } // REVERSE THE ORDER OF THE SLIDES IF 'Random Order' CHECKBOX IS CHECKED OR // RE-ORDER SLIDES IN A RANDOM ORDER IF 'Random Order' CHECKBOX IS CHECKED. if ( ( 'true' === $slide_data['reverse_order'] ) || ( 'true' === $slide_data['random_order'] ) ) { $reorder_arr = array(); for ( $i = 1; $i <= $slide_data['num_slides']; $i++ ) { $reorder_arr[ $i - 1 ]['num'] = $slide_data[ 'slide' . $i . '_num' ]; $reorder_arr[ $i - 1 ]['content'] = $slide_data[ 'slide' . $i . '_content' ]; $reorder_arr[ $i - 1 ]['image_id'] = $slide_data[ 'slide' . $i . '_image_id' ]; $reorder_arr[ $i - 1 ]['image_pos'] = $slide_data[ 'slide' . $i . '_image_pos' ]; $reorder_arr[ $i - 1 ]['image_size'] = $slide_data[ 'slide' . $i . '_image_size' ]; $reorder_arr[ $i - 1 ]['image_repeat'] = $slide_data[ 'slide' . $i . '_image_repeat' ]; $reorder_arr[ $i - 1 ]['image_color'] = $slide_data[ 'slide' . $i . '_image_color' ]; $reorder_arr[ $i - 1 ]['link_url'] = $slide_data[ 'slide' . $i . '_link_url' ]; $reorder_arr[ $i - 1 ]['link_target'] = $slide_data[ 'slide' . $i . '_link_target' ]; $reorder_arr[ $i - 1 ]['popup_type'] = $slide_data[ 'slide' . $i . '_popup_type' ]; $reorder_arr[ $i - 1 ]['popup_imageid'] = $slide_data[ 'slide' . $i . '_popup_imageid' ]; $reorder_arr[ $i - 1 ]['popup_imagetitle'] = $slide_data[ 'slide' . $i . '_popup_imagetitle' ]; $reorder_arr[ $i - 1 ]['popup_image'] = $slide_data[ 'slide' . $i . '_popup_image' ]; $reorder_arr[ $i - 1 ]['popup_background'] = $slide_data[ 'slide' . $i . '_popup_background' ]; $reorder_arr[ $i - 1 ]['popup_video_id'] = $slide_data[ 'slide' . $i . '_popup_video_id' ]; $reorder_arr[ $i - 1 ]['popup_video_type'] = $slide_data[ 'slide' . $i . '_popup_video_type' ]; $reorder_arr[ $i - 1 ]['popup_html'] = $slide_data[ 'slide' . $i . '_popup_html' ]; $reorder_arr[ $i - 1 ]['popup_shortcode'] = $slide_data[ 'slide' . $i . '_popup_shortcode' ]; $reorder_arr[ $i - 1 ]['popup_bgcol'] = $slide_data[ 'slide' . $i . '_popup_bgcol' ]; $reorder_arr[ $i - 1 ]['popup_width'] = $slide_data[ 'slide' . $i . '_popup_width' ]; $reorder_arr[ $i - 1 ]['popup_css_id'] = $slide_data[ 'slide' . $i . '_popup_css_id' ]; } if ( 'true' === $slide_data['random_order'] ) { // SORT SLIDE ARRAY DATA IN A RANDOM ORDER. shuffle( $reorder_arr ); } else { // REVERSE THE ORDER OF THE SLIDE DATA ARRAY. $reverse_arr = array_reverse( $reorder_arr ); $reorder_arr = $reverse_arr; } for ( $i = 1; $i <= $slide_data['num_slides']; $i++ ) { $slide_data[ 'slide' . $i . '_num' ] = $reorder_arr[ $i - 1 ]['num']; $slide_data[ 'slide' . $i . '_content' ] = $reorder_arr[ $i - 1 ]['content']; $slide_data[ 'slide' . $i . '_image_id' ] = $reorder_arr[ $i - 1 ]['image_id']; $slide_data[ 'slide' . $i . '_image_pos' ] = $reorder_arr[ $i - 1 ]['image_pos']; $slide_data[ 'slide' . $i . '_image_size' ] = $reorder_arr[ $i - 1 ]['image_size']; $slide_data[ 'slide' . $i . '_image_repeat' ] = $reorder_arr[ $i - 1 ]['image_repeat']; $slide_data[ 'slide' . $i . '_image_color' ] = $reorder_arr[ $i - 1 ]['image_color']; $slide_data[ 'slide' . $i . '_link_url' ] = $reorder_arr[ $i - 1 ]['link_url']; $slide_data[ 'slide' . $i . '_link_target' ] = $reorder_arr[ $i - 1 ]['link_target']; $slide_data[ 'slide' . $i . '_popup_type' ] = $reorder_arr[ $i - 1 ]['popup_type']; $slide_data[ 'slide' . $i . '_popup_imageid' ] = $reorder_arr[ $i - 1 ]['popup_imageid']; $slide_data[ 'slide' . $i . '_popup_imagetitle' ] = $reorder_arr[ $i - 1 ]['popup_imagetitle']; $slide_data[ 'slide' . $i . '_popup_image' ] = $reorder_arr[ $i - 1 ]['popup_image']; $slide_data[ 'slide' . $i . '_popup_background' ] = $reorder_arr[ $i - 1 ]['popup_background']; $slide_data[ 'slide' . $i . '_popup_video_id' ] = $reorder_arr[ $i - 1 ]['popup_video_id']; $slide_data[ 'slide' . $i . '_popup_video_type' ] = $reorder_arr[ $i - 1 ]['popup_video_type']; $slide_data[ 'slide' . $i . '_popup_html' ] = $reorder_arr[ $i - 1 ]['popup_html']; $slide_data[ 'slide' . $i . '_popup_shortcode' ] = $reorder_arr[ $i - 1 ]['popup_shortcode']; $slide_data[ 'slide' . $i . '_popup_bgcol' ] = $reorder_arr[ $i - 1 ]['popup_bgcol']; $slide_data[ 'slide' . $i . '_popup_width' ] = $reorder_arr[ $i - 1 ]['popup_width']; $slide_data[ 'slide' . $i . '_popup_css_id' ] = $reorder_arr[ $i - 1 ]['popup_css_id']; } } // GENERATE HTML CODE FOR THE OWL CAROUSEL SLIDER. $wrapper_style = 'background:' . $slide_data['background_color'] . '; '; $wrapper_style .= 'border:solid ' . $slide_data['border_width'] . 'px ' . $slide_data['border_color'] . '; '; $wrapper_style .= 'border-radius:' . $slide_data['border_radius'] . 'px; '; $wrapper_style .= 'padding:' . $slide_data['wrapper_padd_top'] . 'px '; $wrapper_style .= $slide_data['wrapper_padd_right'] . 'px '; $wrapper_style .= $slide_data['wrapper_padd_bottom'] . 'px '; $wrapper_style .= $slide_data['wrapper_padd_left'] . 'px;'; if ( '1' === $slide_data['showcase_slider'] ) { $wrapper_style .= ' overflow:hidden;'; } $output .= "<div class='" . $slide_data['slide_icons_color'] . "' style='" . esc_attr( $wrapper_style ) . "'>\n"; $additional_classes = ''; if ( 'true' === $slide_data['pagination'] ) { if ( 'true' === $slide_data['autohide_arrows'] ) { $additional_classes = 'owl-pagination-true autohide-arrows'; } else { $additional_classes = 'owl-pagination-true'; } } else { if ( 'true' === $slide_data['autohide_arrows'] ) { $additional_classes = 'autohide-arrows'; } } // hero slider. if ( '1' === $slide_data['hero_slider'] ) { $additional_classes .= ' sa_hero_slider'; } $slider_style = 'visibility:hidden;'; // showcase slider. if ( '1' === $slide_data['showcase_slider'] ) { $left_perc = ( intval( $slide_data['showcase_width'] ) - 100 ) / 2; $slider_style .= ' width:' . $slide_data['showcase_width'] . '%;'; $slider_style .= ' left:-' . $left_perc . '%;'; if ( '1' === $slide_data['showcase_tablet'] ) { $left_perc_tab = ( intval( $slide_data['showcase_width_tab'] ) - 100 ) / 2; $slider_style .= ' --widthtab:' . $slide_data['showcase_width_tab'] . '%;'; $slider_style .= ' --lefttab:-' . $left_perc_tab . '%;'; $additional_classes .= ' showcase_tablet'; } else { $additional_classes .= ' showcase_hide_tablet'; } if ( '1' === $slide_data['showcase_mobile'] ) { $left_perc_mob = ( intval( $slide_data['showcase_width_mob'] ) - 100 ) / 2; $slider_style .= ' --widthmob:' . $slide_data['showcase_width_mob'] . '%;'; $slider_style .= ' --leftmob:-' . $left_perc_mob . '%;'; $additional_classes .= ' showcase_mobile'; } else { $additional_classes .= ' showcase_hide_mobile'; } } $output .= "<div id='" . esc_attr( $slide_data['css_id'] ) . "' class='owl-carousel sa_owl_theme " . $additional_classes . "' "; $output .= "data-slider-id='" . esc_attr( $slide_data['css_id'] ) . "' style='" . $slider_style . "'>\n"; // INITIALISE VAIRABLES FOR POPUPS. $lightbox_function = 'open_lightbox_gallery_' . $slide_data['css_id']; $lightbox_gallery_id = 'lightbox_button_' . $slide_data['css_id']; $lightbox_count = 0; for ( $i = 1; $i <= $slide_data['num_slides']; $i++ ) { $slide_content = $slide_data[ 'slide' . $i . '_content' ]; if ( 'full' !== $slide_data['bg_image_size'] ) { // use predefined WordPress image size (from 'other settings'). $slide_image_src = wp_get_attachment_image_src( $slide_data[ 'slide' . $i . '_image_id' ], $slide_data['bg_image_size'] ); } else { // use "full" WordPress image size. $slide_image_src = wp_get_attachment_image_src( $slide_data[ 'slide' . $i . '_image_id' ], 'full' ); } // USE POPUP IMAGE AS SLIDE BACKGROUND IMAGE (IF THIS OPTION SELECTED). if ( 'IMAGE' === $slide_data[ 'slide' . $i . '_popup_type' ] ) { if ( ( 'no' !== $slide_data[ 'slide' . $i . '_popup_background' ] ) && ( '' !== $slide_data[ 'slide' . $i . '_popup_image' ] ) ) { $slide_image_src = wp_get_attachment_image_src( $slide_data[ 'slide' . $i . '_popup_imageid' ], $slide_data[ 'slide' . $i . '_popup_background' ] ); } } elseif ( 'VIDEO' === $slide_data[ 'slide' . $i . '_popup_type' ] ) { if ( 'youtube' === $slide_data[ 'slide' . $i . '_popup_video_type' ] ) { if ( '99999999' === $slide_data[ 'slide' . $i . '_image_id' ] ) { $slide_image_src = array(); $popup_video_id = $slide_data[ 'slide' . $i . '_popup_video_id' ]; $slide_image_src[0] = 'https://img.youtube.com/vi/' . $popup_video_id . '/maxresdefault.jpg'; } } } $slide_image_size = $slide_data[ 'slide' . $i . '_image_size' ]; $slide_image_pos = $slide_data[ 'slide' . $i . '_image_pos' ]; $slide_image_repeat = $slide_data[ 'slide' . $i . '_image_repeat' ]; $slide_image_color = $slide_data[ 'slide' . $i . '_image_color' ]; $slide_style = 'padding:' . $slide_data['slide_padding_tb'] . '% ' . $slide_data['slide_padding_lr'] . '%; '; $slide_style .= 'margin:0px ' . $slide_data['slide_margin_lr'] . '%; '; if ( ! empty( $slide_image_src[0] ) ) { $slide_style .= 'background-image:url("' . $slide_image_src[0] . '"); '; $slide_style .= 'background-position:' . $slide_image_pos . '; '; $slide_style .= 'background-size:' . $slide_image_size . '; '; $slide_style .= 'background-repeat:' . $slide_image_repeat . '; '; } if ( ! empty( $slide_image_color ) && ( 'rgba(0,0,0,0)' !== $slide_image_color ) ) { $slide_style .= 'background-color:' . $slide_image_color . '; '; } if ( strpos( $slide_data['slide_min_height_perc'], 'px' ) !== false ) { $slide_style .= 'min-height:' . $slide_data['slide_min_height_perc'] . '; '; } // BUILD SLIDE LINK HOVER BUTTON. $link_output = ''; if ( '' !== $slide_data[ 'slide' . $i . '_link_url' ] ) { $link_title = ''; // SET LINK TITLE TO BLANK - 03/01/2022. $link_output = "<a class='sa_slide_link_icon' href='" . $slide_data[ 'slide' . $i . '_link_url' ] . "' "; $link_output .= "target='" . $slide_data[ 'slide' . $i . '_link_target' ] . "' "; $link_output .= "title='" . $link_title . "' aria-label='" . $link_title . "'></a>"; } // BUILD POPUP HOVER BUTTON. $popup_output = ''; if ( ( 'IMAGE' === $slide_data[ 'slide' . $i . '_popup_type' ] ) && ( '' !== $slide_data[ 'slide' . $i . '_popup_image' ] ) ) { $lightbox_count++; $popup_output = "<div class='sa_popup_zoom_icon' onClick='" . $lightbox_function . '(' . $lightbox_count . ");'></div>"; } if ( ( 'VIDEO' === $slide_data[ 'slide' . $i . '_popup_type' ] ) && ( '' !== $slide_data[ 'slide' . $i . '_popup_video_id' ] ) ) { $lightbox_count++; $popup_output = "<div class='sa_popup_video_icon' onClick='" . $lightbox_function . '(' . $lightbox_count . ");'></div>"; } if ( 'HTML' === $slide_data[ 'slide' . $i . '_popup_type' ] ) { $lightbox_count++; $popup_css_id = $slide_data[ 'slide' . $i . '_popup_css_id' ]; $popup_output = "<div class='sa_popup_zoom_icon' onClick='document.getElementById(\"" . $popup_css_id . "\").style.display=\"block\";'></div>"; } // DISPLAY SLIDE OUTPUT. $css_id = $slide_data['css_id'] . '_slide' . sprintf( '%02d', $slide_data[ 'slide' . $i . '_num' ] ); if ( '1' === $slide_data['disable_slide_ids'] ) { if ( 'true' === $slide_data['vert_center'] ) { $output .= "<div class='" . $css_id . " sa_hover_container sa_vert_center_wrap' style='" . esc_attr( $slide_style ) . "'>"; } else { $output .= "<div class='" . $css_id . " sa_hover_container' style='" . esc_attr( $slide_style ) . "'>"; } } else { if ( 'true' === $slide_data['vert_center'] ) { $output .= "<div id='" . $css_id . "' class='sa_hover_container sa_vert_center_wrap' style='" . esc_attr( $slide_style ) . "'>"; } else { $output .= "<div id='" . $css_id . "' class='sa_hover_container' style='" . esc_attr( $slide_style ) . "'>"; } } if ( ( '' !== $link_output ) || ( '' !== $popup_output ) ) { if ( 'Top Left' === $slide_data['slide_icons_location'] ) { // icons location - top left. $style = 'top:0px; left:0px; margin:0px;'; } elseif ( 'Top Center' === $slide_data['slide_icons_location'] ) { // icons location - top center. if ( ( '' !== $link_output ) && ( '' !== $popup_output ) ) { $hov_margin_l = '-40px'; } else { $hov_margin_l = '-20px'; } $style = 'top:0px; left:50%; margin-left:' . $hov_margin_l . ';'; } elseif ( 'Top Right' === $slide_data['slide_icons_location'] ) { // icons location - top right. $style = 'top:0px; right:0px; margin:0px;'; } elseif ( 'Bottom Left' === $slide_data['slide_icons_location'] ) { // icons location - bottom left. $style = 'bottom:0px; left:0px; margin:0px;'; } elseif ( 'Bottom Center' === $slide_data['slide_icons_location'] ) { // icons location - bottom center. if ( ( '' !== $link_output ) && ( '' !== $popup_output ) ) { $hov_margin_l = '-40px'; } else { $hov_margin_l = '-20px'; } $style = 'bottom:0px; left:50%; margin-left:' . $hov_margin_l . ';'; } elseif ( 'Bottom Right' === $slide_data['slide_icons_location'] ) { // icons location - bottom right. $style = 'bottom:0px; right:0px; margin:0px;'; } else { // icons location - center center (default). if ( ( '' !== $link_output ) && ( '' !== $popup_output ) ) { $hov_margin_l = '-40px'; } else { $hov_margin_l = '-20px'; } $style = 'top:50%; left:50%; margin-top:-20px; margin-left:' . $hov_margin_l . ';'; } // check whether to display a 'full slide link' for this slide. $full_slide_link = 0; if ( ( ( '' === $link_output ) && ( '' !== $popup_output ) ) || ( ( '' !== $link_output ) && ( '' === $popup_output ) ) ) { if ( '1' === $slide_data['slide_icons_fullslide'] ) { $full_slide_link = 1; } } if ( 1 === $full_slide_link ) { // display full slide link. $output .= "<div class='sa_hover_fullslide'>"; } else { // display link buttons. if ( 'true' === $slide_data['slide_icons_visible'] ) { $output .= "<div class='sa_hover_buttons always_visible' style='" . $style . "'>"; } else { $output .= "<div class='sa_hover_buttons' style='" . $style . "'>"; } } if ( '' !== $link_output ) { $output .= $link_output; } if ( '' !== $popup_output ) { $output .= $popup_output; } $output .= "</div>\n"; // .sa_hover_buttons } if ( 'true' === $slide_data['vert_center'] ) { // vertically center content within each slide. // (we do this by wrapping slide content in a '<div>' wrapper. $slide_content = "<div class='sa_vert_center'>" . $slide_content . '</div>'; } $output .= $slide_content . "</div>\n"; // .sa_hover_container } $output .= "</div>\n"; // .owl-carousel // THUMBNAIL PAGINATION. if ( '1' === $slide_data['thumbs_active'] ) { $thumbs_loc = $slide_data['thumbs_location']; $thumbs_opacity = $slide_data['thumbs_opacity'] / 100; // thumbnail container - set style. $thumbs_style = ' padding:' . $slide_data['thumbs_padding'] . '%;'; if ( 'inside_left' === $thumbs_loc ) { $thumbs_style .= 'left:' . $slide_data['thumbs_padding'] . '%; width:' . $slide_data['thumbs_width'] . 'px;'; } elseif ( 'inside_right' === $thumbs_loc ) { $thumbs_style .= 'right:' . $slide_data['thumbs_padding'] . '%; width:' . $slide_data['thumbs_width'] . 'px;'; } elseif ( 'outside_bottom' === $thumbs_loc ) { $thumbs_style .= ' padding-bottom:0px;'; } $add_classes = ''; if ( '0' === $slide_data['thumbs_resp_tablet'] ) { $add_classes .= ' sa_thumbs_hide_tablet'; } if ( '0' === $slide_data['thumbs_resp_mobile'] ) { $add_classes .= ' sa_thumbs_hide_mobile'; } $output .= "<div id='" . esc_attr( $slide_data['css_id'] ) . "_thumbs' class='sa_owl_thumbs_wrap sa_thumbs_" . $thumbs_loc . $add_classes . "' style='" . $thumbs_style . "'>"; $output .= "<div class='owl-thumbs' data-slider-id='" . esc_attr( $slide_data['css_id'] ) . "'>"; for ( $i = 1; $i <= $slide_data['num_slides']; $i++ ) { // get background image for the thumb (slide image background). if ( ( 'IMAGE' === $slide_data[ 'slide' . $i . '_popup_type' ] ) && ( 'no' !== $slide_data[ 'slide' . $i . '_popup_background' ] ) && ( '' !== $slide_data[ 'slide' . $i . '_popup_image' ] ) ) { $thumb_image_arr = wp_get_attachment_image_src( $slide_data[ 'slide' . $i . '_popup_imageid' ], $slide_data[ 'slide' . $i . '_popup_background' ] ); $thumb_image_src = $thumb_image_arr[0]; } elseif ( ( 'VIDEO' === $slide_data[ 'slide' . $i . '_popup_type' ] ) && ( 'youtube' === $slide_data[ 'slide' . $i . '_popup_video_type' ] ) && ( '99999999' === $slide_data[ 'slide' . $i . '_image_id' ] ) ) { $thumb_image_src = array(); $popup_video_id = $slide_data[ 'slide' . $i . '_popup_video_id' ]; $thumb_image_src = 'https://img.youtube.com/vi/' . $popup_video_id . '/hqdefault.jpg'; } elseif ( 0 !== $slide_data[ 'slide' . $i . '_image_id' ] ) { $thumb_image_src = wp_get_attachment_image_src( $slide_data[ 'slide' . $i . '_image_id' ], $slide_data['thumbs_image_size'] ); if ( $thumb_image_src ) { $thumb_image_src = $thumb_image_src[0]; } else { $thumb_image_src = SA_PLUGIN_PATH . 'images/image_placeholder.jpg'; } } else { // use a placeholder image if slide has no background image. $thumb_image_src = SA_PLUGIN_PATH . 'images/image_placeholder.jpg'; } // thumbnail - set style. $thumb_style = 'background-image:url("' . $thumb_image_src . '"); '; $thumb_style .= 'width:' . $slide_data['thumbs_width'] . 'px; '; $thumb_style .= 'height:' . $slide_data['thumbs_height'] . 'px; '; $thumb_style .= 'background-position:' . $slide_data[ 'slide' . $i . '_image_pos' ] . '; '; $thumb_style .= 'background-size:' . $slide_data[ 'slide' . $i . '_image_size' ] . '; '; $thumb_style .= 'background-repeat:' . $slide_data[ 'slide' . $i . '_image_repeat' ] . '; '; $thumb_style .= 'opacity:' . $thumbs_opacity . '; '; $thumb_style .= 'border:solid ' . $slide_data['thumbs_border_width'] . 'px transparent'; $output .= "<div class='owl-thumb-item' style='" . $thumb_style . "' title='Slide " . $i . "'></div>"; } $output .= '</div>'; // .sa_owl_thumbs $output .= "</div>\n"; // .sa_owl_thumbs_wrap } // SHOWCASE CAROUSEL - NAVIGATION CONTAINER. if ( '1' === $slide_data['showcase_slider'] ) { if ( 'true' === $slide_data['autohide_arrows'] ) { $output .= "<div id='showcase_" . esc_attr( $id ) . "' class='showcase_nav owl-nav autohide_arrows'></div>\n"; } else { $output .= "<div id='showcase_" . esc_attr( $id ) . "' class='showcase_nav owl-nav'></div>\n"; } } $output .= "</div>\n"; // .white or .black // CREATE A CUSTOM (HIDDEN) DIV FOR EACH 'HTML/SHORTCODE' POPUP. for ( $i = 1; $i <= $slide_data['num_slides']; $i++ ) { if ( 'HTML' === $slide_data[ 'slide' . $i . '_popup_type' ] ) { $popup_css_id = $slide_data[ 'slide' . $i . '_popup_css_id' ]; $popup_bgcol = $slide_data[ 'slide' . $i . '_popup_bgcol' ]; $popup_width = $slide_data[ 'slide' . $i . '_popup_width' ]; $output .= "<div id='" . $popup_css_id . "' class='sa_custom_popup' onClick='this.style.display = \"none\";'>\n"; $output .= "<div class='sa_popup_close' onClick='document.getElementById(\"" . $popup_css_id . "\").style.display=\"none\";'>X</div>"; $output .= "<div class='sa_popup_wrap' style='background:" . $popup_bgcol . '; max-width:' . $popup_width . "px;' onclick='event.stopPropagation();'>\n"; if ( '1' === $slide_data[ 'slide' . $i . '_popup_shortcode' ] ) { $output .= do_shortcode( $slide_data[ 'slide' . $i . '_popup_html' ] ); } else { $output .= $slide_data[ 'slide' . $i . '_popup_html' ]; } $output .= "</div>\n"; $output .= "</div>\n"; } } // ### CREATE POPUPS USING LIGHTGALLERY LIBRARY (lightgalleryjs.com) ### if ( $lightbox_count > 0 ) { $lightgallery_id = 'lightgallery_' . $slide_data['css_id']; $output .= "<div id='" . $lightgallery_id . "' style='display:none !important;'>\n"; for ( $i = 1; $i <= $slide_data['num_slides']; $i++ ) { // LOOP THROUGH EACH SLIDE. if ( ( 'IMAGE' === $slide_data[ 'slide' . $i . '_popup_type' ] ) && ( '' !== $slide_data[ 'slide' . $i . '_popup_image' ] ) ) { // SLIDE CONTAINS AN IMAGE POPUP. $img_url = $slide_data[ 'slide' . $i . '_popup_image' ]; $img_title = $slide_data[ 'slide' . $i . '_popup_imagetitle' ]; $slide_num = $i + 1; $popup_cssid = $lightgallery_id . '_' . $slide_num; if ( '' !== $img_title ) { $output .= "<div class='lg_item' id='" . $popup_cssid . "' href='" . $img_url . "' data-sub-html='" . $img_title . "'>"; } else { $output .= "<div class='lg_item' id='" . $popup_cssid . "' href='" . $img_url . "'>"; } $output .= 'slide' . $slide_num . "</div>\n"; } if ( ( 'VIDEO' === $slide_data[ 'slide' . $i . '_popup_type' ] ) && ( '' !== $slide_data[ 'slide' . $i . '_popup_video_id' ] ) ) { // SLIDE CONTAINS A VIDEO POPUP. $video_id = $slide_data[ 'slide' . $i . '_popup_video_id' ]; $video_type = $slide_data[ 'slide' . $i . '_popup_video_type' ]; if ( 'youtube' === $video_type ) { $video_url = 'http://www.youtube.com/watch?v=' . $video_id . '&mute=0'; } elseif ( 'vimeo' === $video_type ) { $video_url = 'http://vimeo.com/' . $video_id . '&muted=false'; } $slide_num = $i + 1; $popup_cssid = $lightgallery_id . '_' . $slide_num; $output .= "<div class='lg_item' id='" . $popup_cssid . "' data-lg-size='1280-720' data-src='" . $video_url . "'>\n"; $output .= 'slide' . $slide_num . "</div>\n"; } } $output .= "</div>\n"; } // ### ENQUEUE JQUERY SCRIPT IF IT HAS NOT ALREADY BEEN LOADED ### if ( ! wp_script_is( 'jquery', 'done' ) ) { wp_enqueue_script( 'jquery' ); } // ### GENERATE JQUERY CODE FOR THE OWL CAROUSEL SLIDER ### $items_width1 = intval( $slide_data['items_width1'] ); $items_width2 = intval( $slide_data['items_width2'] ); $items_width3 = intval( $slide_data['items_width3'] ); $items_width4 = intval( $slide_data['items_width4'] ); $items_width5 = intval( $slide_data['items_width5'] ); $items_width6 = intval( $slide_data['items_width6'] ); if ( ( 1 === $items_width1 ) && ( 1 === $items_width2 ) && ( 1 === $items_width3 ) && ( 1 === $items_width4 ) && ( 1 === $items_width5 ) && ( 1 === $items_width6 ) ) { $single_item = 1; } else { $single_item = 0; } $output .= "<script type='text/javascript'>\n"; if ( '1' === $slide_data['sa_window_onload'] ) { $output .= " document.addEventListener('DOMContentLoaded', function() {\n"; } else { $output .= " jQuery(document).ready(function() {\n"; } // JQUERY CODE FOR OWN CAROUSEL. $output .= " jQuery('#" . esc_attr( $slide_data['css_id'] ) . "').owlCarousel({\n"; if ( 1 === $single_item ) { $output .= " items : 1,\n"; if ( ( 'Fade' === $slide_data['transition'] ) || ( 'fade' === $slide_data['transition'] ) ) { $output .= " animateOut : 'fadeOut',\n"; } elseif ( ( 'Slide Down' === $slide_data['transition'] ) || ( 'goDown' === $slide_data['transition'] ) ) { $output .= " animateOut : 'slideOutDown',\n"; $output .= " animateIn : 'fadeIn',\n"; } elseif ( 'Zoom In' === $slide_data['transition'] ) { $output .= " animateOut : 'fadeOut',\n"; $output .= " animateIn : 'zoomIn',\n"; } elseif ( 'Zoom Out' === $slide_data['transition'] ) { $output .= " animateOut : 'zoomOut',\n"; $output .= " animateIn : 'fadeIn',\n"; } elseif ( 'Flip Out X' === $slide_data['transition'] ) { $output .= " animateOut : 'flipOutX',\n"; $output .= " animateIn : 'fadeIn',\n"; } elseif ( 'Flip Out Y' === $slide_data['transition'] ) { $output .= " animateOut : 'flipOutY',\n"; $output .= " animateIn : 'fadeIn',\n"; } elseif ( 'Rotate Left' === $slide_data['transition'] ) { $output .= " animateOut : 'rotateOutDownLeft',\n"; $output .= " animateIn : 'fadeIn',\n"; } elseif ( 'Rotate Right' === $slide_data['transition'] ) { $output .= " animateOut : 'rotateOutDownRight',\n"; $output .= " animateIn : 'fadeIn',\n"; } elseif ( 'Bounce Out' === $slide_data['transition'] ) { $output .= " animateOut : 'bounceOut',\n"; $output .= " animateIn : 'fadeIn',\n"; } elseif ( 'Roll Out' === $slide_data['transition'] ) { $output .= " animateOut : 'rollOut',\n"; $output .= " animateIn : 'fadeIn',\n"; } $output .= ' smartSpeed : ' . esc_attr( $slide_data['slide_transition'] ) . ",\n"; } else { $output .= " responsive:{\n"; $output .= ' 0:{ items:' . esc_attr( $slide_data['items_width1'] ) . " },\n"; $output .= ' 480:{ items:' . esc_attr( $slide_data['items_width2'] ) . " },\n"; $output .= ' 768:{ items:' . esc_attr( $slide_data['items_width3'] ) . " },\n"; $output .= ' 980:{ items:' . esc_attr( $slide_data['items_width4'] ) . " },\n"; $output .= ' 1200:{ items:' . esc_attr( $slide_data['items_width5'] ) . " },\n"; $output .= ' 1500:{ items:' . esc_attr( $slide_data['items_width6'] ) . " }\n"; $output .= " },\n"; } if ( 0.0 === $slide_data['slide_duration'] ) { $output .= " autoplay : false,\n"; $output .= " autoplayHoverPause : false,\n"; } else { $output .= " autoplay : true,\n"; $output .= ' autoplayTimeout : ' . esc_attr( $slide_data['slide_duration'] ) . ",\n"; $output .= ' autoplayHoverPause : ' . esc_attr( $slide_data['stop_hover'] ) . ",\n"; } $output .= ' smartSpeed : ' . esc_attr( $slide_data['slide_transition'] ) . ",\n"; $output .= ' fluidSpeed : ' . esc_attr( $slide_data['slide_transition'] ) . ",\n"; $output .= ' autoplaySpeed : ' . esc_attr( $slide_data['slide_transition'] ) . ",\n"; $output .= ' navSpeed : ' . esc_attr( $slide_data['slide_transition'] ) . ",\n"; $output .= ' dotsSpeed : ' . esc_attr( $slide_data['slide_transition'] ) . ",\n"; if ( '1' === $slide_data['dot_per_slide'] ) { $output .= " dotsEach : 1,\n"; } $output .= ' loop : ' . esc_attr( $slide_data['loop_slider'] ) . ",\n"; $output .= ' nav : ' . esc_attr( $slide_data['nav_arrows'] ) . ",\n"; $output .= " navText : ['Previous','Next'],\n"; if ( '1' === $slide_data['showcase_slider'] ) { $output .= " navContainer : '#showcase_" . esc_attr( $id ) . "',\n"; } $output .= ' dots : ' . esc_attr( $slide_data['pagination'] ) . ",\n"; $output .= " responsiveRefreshRate : 200,\n"; if ( 'page' === $slide_data['slide_by'] ) { $output .= " slideBy : 'page',\n"; } else { $output .= ' slideBy : ' . esc_attr( $slide_data['slide_by'] ) . ",\n"; } $output .= " mergeFit : true,\n"; $output .= ' autoHeight : ' . esc_attr( $slide_data['auto_height'] ) . ",\n"; if ( '1' === $slide_data['lazy_load_images'] ) { $output .= " lazyLoad : true,\n"; $output .= " lazyLoadEager: 1,\n"; } if ( '1' === $slide_data['thumbs_active'] ) { $output .= " thumbs : true,\n"; $output .= " thumbsPrerendered : true,\n"; } if ( '1' === $slide_data['ulli_containers'] ) { $output .= " stageElement : 'ul',\n"; $output .= " itemElement : 'li',\n"; } if ( '1' === $slide_data['rtl_slider'] ) { $output .= " rtl : true,\n"; } if ( 0 !== $slide_data['start_pos'] ) { $output .= ' startPosition : ' . $slide_data['start_pos'] . ",\n"; } $output .= ' mouseDrag : ' . esc_attr( $slide_data['mouse_drag'] ) . ",\n"; $output .= ' touchDrag : ' . esc_attr( $slide_data['touch_drag'] ) . "\n"; $output .= " });\n"; // MAKE SLIDER VISIBLE (AFTER 'WINDOW ONLOAD' OR 'DOCUMENT READY' EVENT). $output .= " jQuery('#" . esc_attr( $slide_data['css_id'] ) . "').css('visibility', 'visible');\n"; // JAVASCRIPT 'WINDOW RESIZE' EVENT TO SET CSS 'min-height' OF SLIDES WITHIN THIS SLIDER. if ( '1' !== $slide_data['hero_slider'] ) { $slide_min_height = $slide_data['slide_min_height_perc']; if ( strpos( $slide_min_height, 'px' ) !== false ) { $slide_min_height = '0'; } if ( ( '' !== $slide_min_height ) && ( '0' !== $slide_min_height ) ) { $output .= ' sa_resize_' . esc_attr( $slide_data['css_id'] ) . "();\n"; // initial call of resize function. $output .= " window.addEventListener('resize', sa_resize_" . esc_attr( $slide_data['css_id'] ) . ");\n"; // create resize event. // RESIZE EVENT FUNCTION (to set slide CSS 'min-height'). $output .= ' function sa_resize_' . esc_attr( $slide_data['css_id'] ) . "() {\n"; // get slide min height setting. $output .= " var min_height = '" . $slide_min_height . "';\n"; // get window width. $output .= " var win_width = jQuery(window).width();\n"; $output .= " var slider_width = jQuery('#" . esc_attr( $slide_data['css_id'] ) . "').width();\n"; // calculate slide width according to window width & number of slides. $output .= " if (win_width < 480) {\n"; $output .= ' var slide_width = slider_width / ' . esc_attr( $slide_data['items_width1'] ) . ";\n"; $output .= " } else if (win_width < 768) {\n"; $output .= ' var slide_width = slider_width / ' . esc_attr( $slide_data['items_width2'] ) . ";\n"; $output .= " } else if (win_width < 980) {\n"; $output .= ' var slide_width = slider_width / ' . esc_attr( $slide_data['items_width3'] ) . ";\n"; $output .= " } else if (win_width < 1200) {\n"; $output .= ' var slide_width = slider_width / ' . esc_attr( $slide_data['items_width4'] ) . ";\n"; $output .= " } else if (win_width < 1500) {\n"; $output .= ' var slide_width = slider_width / ' . esc_attr( $slide_data['items_width5'] ) . ";\n"; $output .= " } else {\n"; $output .= ' var slide_width = slider_width / ' . esc_attr( $slide_data['items_width6'] ) . ";\n"; $output .= " }\n"; $output .= " slide_width = Math.round(slide_width);\n"; // calculate CSS 'min-height' using the captured 'min-height' data settings for this slider. $output .= " var slide_height = '0';\n"; $output .= " if (min_height == 'aspect43') {\n"; $output .= ' slide_height = (slide_width / 4) * 3;'; $output .= " slide_height = Math.round(slide_height);\n"; $output .= " } else if (min_height == 'aspect169') {\n"; $output .= ' slide_height = (slide_width / 16) * 9;'; $output .= " slide_height = Math.round(slide_height);\n"; $output .= " } else {\n"; $output .= ' slide_height = (slide_width / 100) * min_height;'; $output .= " slide_height = Math.round(slide_height);\n"; $output .= " }\n"; // set the slide 'min-height' css value. $output .= " jQuery('#" . esc_attr( $slide_data['css_id'] ) . " .owl-item .sa_hover_container').css('min-height', slide_height+'px');\n"; $output .= " }\n"; } } // JAVASCRIPT FOR SHOWCASE CAROUSELS ONLY. // DYNAMICALLY SET CLASS NAMES FOR LEFTMOST (FIRST) AND RIGHTMOST (LAST) ACTIVE (DISPLAYED) SLIDES. if ( '1' === $slide_data['showcase_slider'] ) { $output .= " set_first_last_active_classes('" . esc_attr( $slide_data['css_id'] ) . "');\n"; $output .= " jQuery('#" . esc_attr( $slide_data['css_id'] ) . "').on('translated.owl.carousel resized.owl.carousel', function(event) {\n"; $output .= " set_first_last_active_classes('" . esc_attr( $slide_data['css_id'] ) . "');\n"; $output .= " });\n"; $output .= " function set_first_last_active_classes(css_id) {\n"; $output .= " var total = jQuery('#" . esc_attr( $slide_data['css_id'] ) . " .owl-stage .owl-item.active').length;\n"; $output .= " jQuery('#" . esc_attr( $slide_data['css_id'] ) . " .owl-stage .owl-item').removeClass('sc_partial');\n"; $output .= " jQuery('#" . esc_attr( $slide_data['css_id'] ) . " .owl-stage .owl-item.active').each(function(index){\n"; $output .= " if (index === 0) {\n"; // this is the first active slide. $output .= " jQuery(this).addClass('sc_partial');\n"; $output .= " }\n"; $output .= " if (index === total - 1 && total > 1) {\n"; // this is the last active slide. $output .= " jQuery(this).addClass('sc_partial');\n"; $output .= " }\n"; $output .= " });\n"; $output .= " }\n"; } // JAVASCRIPT FOR 'CLICK TO ADVANCE' OPTION ONLY. if ( 'true' === $slide_data['click_advance'] ) { if ( ( 'false' === $slide_data['touch_drag'] ) && ( 'false' === $slide_data['mouse_drag'] ) ) { $output .= ' var cta_' . $id . " = jQuery('#" . esc_attr( $slide_data['css_id'] ) . "');\n"; $output .= " jQuery('#" . esc_attr( $slide_data['css_id'] ) . "').click(function() {\n"; $output .= ' cta_' . $id . ".trigger('next.owl.carousel');\n"; $output .= " });\n"; } } // JAVASCRIPT FOR 'MOUSEWHEEL NAVIGATION' OPTION ONLY. if ( 'true' === $slide_data['mousewheel'] ) { $output .= ' var mw_' . $id . " = jQuery('#" . esc_attr( $slide_data['css_id'] ) . "');\n"; $output .= ' mw_' . $id . ".on('mousewheel', '.owl-stage', function (e) {\n"; $output .= " if (e.deltaY>0) {\n"; $output .= ' mw_' . $id . ".trigger('next.owl');\n"; $output .= " } else {\n"; $output .= ' mw_' . $id . ".trigger('prev.owl');\n"; $output .= " }\n"; $output .= " e.preventDefault();\n"; $output .= " });\n"; } // JAVASCRIPT FOR 'SLIDE GOTO LINKS". $output .= " var owl_goto = jQuery('#" . esc_attr( $slide_data['css_id'] ) . "');\n"; for ( $i = 1; $i <= $slide_data['num_slides']; $i++ ) { $output .= " jQuery('." . esc_attr( $slide_data['css_id'] ) . '_goto' . $i . "').click(function(event){\n"; $output .= " owl_goto.trigger('to.owl.carousel', " . ( $i - 1 ) . ");\n"; $output .= " });\n"; } // ### JQUERY/JAVASCRIPT CODE FOR THUMBNAIL PAGINATION ### if ( '1' === $slide_data['thumbs_active'] ) { // BORDER WIDTH IS SET - SET BORDER COLOUR TO THE ACTIVE THUMB. if ( $slide_data['thumbs_border_width'] > 0 ) { // set border colour of the active (first) thumb. $output .= " jQuery('#" . esc_attr( $slide_data['css_id'] ) . "_thumbs .owl-thumbs .active').css('border-color', '" . $slide_data['thumbs_border_color'] . "');\n"; $output .= " var owl = jQuery('#" . esc_attr( $slide_data['css_id'] ) . "');\n"; // owl carousel change event - set border colour of the active thumb. $output .= " owl.on('changed.owl.carousel', function(event) {\n"; $output .= " jQuery('#" . esc_attr( $slide_data['css_id'] ) . "_thumbs .owl-thumbs .owl-thumb-item').css('border-color', 'transparent');\n"; $output .= " jQuery('#" . esc_attr( $slide_data['css_id'] ) . "_thumbs .owl-thumbs .active').css('border-color', '" . $slide_data['thumbs_border_color'] . "');\n"; $output .= " })\n"; } // RESIZE WINDOW EVENT - RESIZE THUMBS WIDTH & HEIGHT DEPENDING ON WINDOW WIDTH BREAKPOINTS. $output .= ' sa_resize_thumbs_' . esc_attr( $slide_data['css_id'] ) . "();\n"; // initial call of resize function. $output .= " window.addEventListener('resize', sa_resize_thumbs_" . esc_attr( $slide_data['css_id'] ) . ");\n"; // create resize event. $output .= ' function sa_resize_thumbs_' . esc_attr( $slide_data['css_id'] ) . "() {\n"; $output .= " var win_width = jQuery(window).width();\n"; $output .= ' var tablet_perc = parseFloat(' . $slide_data['thumbs_resp_tablet'] . " / 100);\n"; $output .= ' var mobile_perc = parseFloat(' . $slide_data['thumbs_resp_mobile'] . " / 100);\n"; $output .= ' var tablet_width = Math.round(' . $slide_data['thumbs_width'] . " * tablet_perc) + 'px';\n"; $output .= ' var tablet_height = Math.round(' . $slide_data['thumbs_height'] . " * tablet_perc) + 'px';\n"; $output .= ' var mobile_width = Math.round(' . $slide_data['thumbs_width'] . " * mobile_perc) + 'px';\n"; $output .= ' var mobile_height = Math.round(' . $slide_data['thumbs_height'] . " * mobile_perc) + 'px';\n"; $output .= " if ((mobile_perc != 0) && (win_width < 768)) {\n"; $output .= " jQuery('#" . esc_attr( $slide_data['css_id'] ) . "_thumbs .owl-thumbs .owl-thumb-item').css('width', mobile_width);\n"; $output .= " jQuery('#" . esc_attr( $slide_data['css_id'] ) . "_thumbs .owl-thumbs .owl-thumb-item').css('height', mobile_height);\n"; $output .= " } else if ((tablet_perc != 0) && (win_width < 1000)) {\n"; $output .= " jQuery('#" . esc_attr( $slide_data['css_id'] ) . "_thumbs .owl-thumbs .owl-thumb-item').css('width', tablet_width);\n"; $output .= " jQuery('#" . esc_attr( $slide_data['css_id'] ) . "_thumbs .owl-thumbs .owl-thumb-item').css('height', tablet_height);\n"; $output .= " } else {\n"; $output .= " jQuery('#" . esc_attr( $slide_data['css_id'] ) . "_thumbs .owl-thumbs .owl-thumb-item').css('width', '" . $slide_data['thumbs_width'] . "px');\n"; $output .= " jQuery('#" . esc_attr( $slide_data['css_id'] ) . "_thumbs .owl-thumbs .owl-thumb-item').css('height', '" . $slide_data['thumbs_height'] . "px');\n"; $output .= " }\n"; // THUMBS POSITION 'Inside Left' or 'Inside Right' - RESIZE CONTAINER WIDTH DEPENDING ON WINDOW WIDTH BREAKPOINTS. if ( ( 'inside_left' === $thumbs_loc ) || ( 'inside_right' === $thumbs_loc ) ) { $output .= " if ((mobile_perc != 0) && (win_width < 768)) {\n"; $output .= " jQuery('#" . esc_attr( $slide_data['css_id'] ) . "_thumbs').css('width', mobile_width);\n"; $output .= " jQuery('#" . esc_attr( $slide_data['css_id'] ) . "_thumbs').css('height', mobile_height);\n"; $output .= " } else if ((tablet_perc != 0) && (win_width < 1000)) {\n"; $output .= " jQuery('#" . esc_attr( $slide_data['css_id'] ) . "_thumbs').css('width', tablet_width);\n"; $output .= " jQuery('#" . esc_attr( $slide_data['css_id'] ) . "_thumbs').css('height', tablet_height);\n"; $output .= " } else {\n"; $output .= " jQuery('#" . esc_attr( $slide_data['css_id'] ) . "_thumbs').css('width', '" . $slide_data['thumbs_width'] . "px');\n"; $output .= " jQuery('#" . esc_attr( $slide_data['css_id'] ) . "_thumbs').css('height', '" . $slide_data['thumbs_height'] . "px');\n"; $output .= " }\n"; } $output .= " }\n"; } // CALL THE WINDOW RESIZE EVENT AFTER THE OWL CAROUSEL SLIDER HAS BEEN INITIALIZED. $output .= ' var resize_' . $id . " = jQuery('.owl-carousel');\n"; $output .= ' resize_' . $id . ".on('initialized.owl.carousel', function(e) {\n"; $output .= " if (typeof(Event) === 'function') {\n"; // modern browsers. $output .= " window.dispatchEvent(new Event('resize'));\n"; $output .= " } else {\n"; // for IE and other old browsers (causes deprecation warning on modern browsers). $output .= " var evt = window.document.createEvent('UIEvents');\n"; $output .= " evt.initUIEvent('resize', true, false, window, 0);\n"; $output .= " window.dispatchEvent(evt);\n"; $output .= " }\n"; $output .= " });\n"; $output .= " });\n"; $output .= "</script>\n"; // ### CREATE POPUPS USING LIGHTGALLERY LIBRARY (lightgalleryjs.com) ### if ( $lightbox_count > 0 ) { $output .= "<script type='text/javascript'>\n"; if ( '1' === $slide_data['sa_window_onload'] ) { $output .= "document.addEventListener('DOMContentLoaded', function() {\n"; } else { $output .= "jQuery(document).ready(function() {\n"; } $output .= "lightGallery(document.getElementById('" . $lightgallery_id . "'), {\n"; $output .= " plugins: [lgVideo, lgZoom, lgAutoplay],\n"; $output .= " autoplayFirstVideo: true,\n"; $output .= " selector: '.lg_item',\n"; $output .= " licenseKey: '60F5F1E7-E8034357-B387117F-3E9CE6DA'\n"; $output .= "});\n"; // MOVE ALL THE HTML/SHORTCODE POPUPS TO THE BOTTOM OF THE HTML DOM. for ( $i = 1; $i <= $slide_data['num_slides']; $i++ ) { if ( 'HTML' === $slide_data[ 'slide' . $i . '_popup_type' ] ) { $popup_css_id = $slide_data[ 'slide' . $i . '_popup_css_id' ]; $output .= "document.body.appendChild(document.getElementById('" . $popup_css_id . "'));\n"; } } $output .= "});\n"; // JAVASCRIPT FUNCTION WHICH OPENS A LIGHTGALLERY POPUP ON A SPECIFIED SLIDE. $output .= 'function ' . $lightbox_function . "(slide) {\n"; $output .= " slide_num = slide + 1;\n"; $output .= " var popup_cssid = '" . $lightgallery_id . "' + '_' + slide_num;\n"; $output .= " document.getElementById(popup_cssid).click();\n"; $output .= "}\n"; $output .= "</script>\n"; } } } return $output; }