<?php
namespace Elementor;
if ( ! defined( 'ABSPATH' ) ) exit; // If this file is called directly, abort.
class Widget_BoostedElementsImage_Slideshow extends Widget_Base {
public function get_name() {
return 'boosted-elements-image-slideshow';
}
public function get_title() {
return esc_html__( 'Image Slideshow - Boosted', 'boosted-elements-progression' );
}
public function get_icon() {
return 'eicon-image-bold boosted-elements-progression-icon';
}
public function get_categories() {
return [ 'boosted-elements-progression' ];
}
public function get_script_depends() {
return [ 'boosted_elements_progression_fotorama_js' ];
}
public function get_style_depends() {
return [ 'elementor-icons-shared', 'elementor-icons-fa-solid' ];
}
protected function register_controls() {
$this->start_controls_section(
'section_title_boosted_global_options',
[
'label' => esc_html__( 'Images', 'boosted-elements-progression' )
]
);
$this->add_control(
'boosted_elements_image_gallery',
[
'label' => esc_html__( 'Images', 'boosted-elements-progression' ),
'type' => Controls_Manager::GALLERY,
]
);
$this->add_group_control(
Group_Control_Image_Size::get_type(),
[
'name' => 'thumbnail',
'default' => 'large',
]
);
$this->add_control(
'boosted_elements_gallery_fit',
[
'label' => esc_html__( 'Image Fit', 'boosted-elements-progression' ),
'type' => Controls_Manager::SELECT,
'default' => 'cover',
'options' => [
'cover' => esc_html__( 'Cover', 'boosted-elements-progression' ),
'contain' => esc_html__( 'Contain', 'boosted-elements-progression' ),
'scaledown' => esc_html__( 'Scale Down', 'boosted-elements-progression' ),
'none' => esc_html__( 'No Scaling', 'boosted-elements-progression' ),
],
]
);
$this->add_control(
'boosted_elements_gallery_videos',
[
'label' => 'Add Youtube or Vimeo Slides via URL',
'separator' => 'before',
'type' => Controls_Manager::REPEATER,
'fields' => [
[
'name' => 'boosted_elements_video_url',
'label' => esc_html__( 'Video URL', 'boosted-elements-progression' ),
'type' => Controls_Manager::TEXT,
'label_block' => true,
],
],
'title_field' => '{{{ boosted_elements_video_url }}}',
]
);
$this->end_controls_section();
$this->start_controls_section(
'section_title_boosted_slideshow_options',
[
'label' => esc_html__( 'Slideshow Options', 'boosted-elements-progression' )
]
);
$this->add_control(
'boosted_elements_gallery_navigation',
[
'label' => esc_html__( 'Navigation', 'boosted-elements-progression' ),
'type' => Controls_Manager::SELECT,
'default' => 'thumbs',
'options' => [
'thumbs' => esc_html__( 'Thumbnails', 'boosted-elements-progression' ),
'dots' => esc_html__( 'Dots', 'boosted-elements-progression' ),
'false' => esc_html__( 'None', 'boosted-elements-progression' ),
],
]
);
$this->add_control(
'boosted_elements_gallery_arrows',
[
'label' => esc_html__( 'Arrow Navigation', 'boosted-elements-progression' ),
'type' => Controls_Manager::SWITCHER,
'default' => 'yes',
]
);
$this->add_control(
'boosted_elements_gallery_transition',
[
'label' => esc_html__( 'Transition', 'boosted-elements-progression' ),
'type' => Controls_Manager::SELECT,
'default' => 'crossfade',
'options' => [
'crossfade' => esc_html__( 'Fade', 'boosted-elements-progression' ),
'slide' => esc_html__( 'Slide', 'boosted-elements-progression' ),
],
]
);
$this->add_control(
'boosted_post_list_transition_duration',
[
'label' => esc_html__( 'Transition Duration', 'boosted-elements-progression' ),
'description' => esc_html__( 'In milliseconds', 'boosted-elements-progression' ),
'type' => Controls_Manager::NUMBER,
'min' => '0',
'default' => '300',
]
);
$this->end_controls_section();
$this->start_controls_section(
'section_title_boosted_additional_options',
[
'label' => esc_html__( 'Additional Options', 'boosted-elements-progression' )
]
);
$this->add_control(
'boosted_elements_gallery_fullscreen',
[
'label' => esc_html__( 'FullScreen', 'boosted-elements-progression' ),
'type' => Controls_Manager::SELECT,
'default' => 'true',
'options' => [
'true' => esc_html__( 'Fullscreen', 'boosted-elements-progression' ),
'native' => esc_html__( 'Native FullScreen', 'boosted-elements-progression' ),
'none' => esc_html__( 'No FullScreen', 'boosted-elements-progression' ),
],
]
);
$this->add_control(
'boosted_elements_gallery_autoplay',
[
'label' => esc_html__( 'Autoplay', 'boosted-elements-progression' ),
'type' => Controls_Manager::SWITCHER,
]
);
$this->add_control(
'boosted_post_list_autplay_duration',
[
'label' => esc_html__( 'Autoplay Duration', 'boosted-elements-progression' ),
'description' => esc_html__( 'In milliseconds', 'boosted-elements-progression' ),
'type' => Controls_Manager::NUMBER,
'min' => '100',
'default' => '3000',
'condition' => [
'boosted_elements_gallery_autoplay!' => '',
],
]
);
$this->add_control(
'boosted_elements_gallery_captions',
[
'label' => esc_html__( 'Image Captions', 'boosted-elements-progression' ),
'type' => Controls_Manager::SWITCHER,
]
);
$this->add_control(
'boosted_elements_gallery_hash',
[
'label' => esc_html__( 'URL Hash', 'boosted-elements-progression' ),
'type' => Controls_Manager::SWITCHER,
]
);
$this->add_control(
'boosted_elements_gallery_shuffle',
[
'label' => esc_html__( 'Shuffle Images', 'boosted-elements-progression' ),
'type' => Controls_Manager::SWITCHER,
]
);
$this->add_control(
'boosted_elements_gallery_keyboard',
[
'label' => esc_html__( 'Keyboard Navigation', 'boosted-elements-progression' ),
'type' => Controls_Manager::SWITCHER,
'default' => 'yes',
]
);
$this->add_control(
'boosted_elements_gallery_clitcktransition',
[
'label' => esc_html__( 'Click to switch slides', 'boosted-elements-progression' ),
'type' => Controls_Manager::SWITCHER,
]
);
$this->add_control(
'boosted_elements_gallery_loop',
[
'label' => esc_html__( 'Loop Slides', 'boosted-elements-progression' ),
'type' => Controls_Manager::SWITCHER,
'default' => 'yes',
]
);
$this->end_controls_section();
$this->start_controls_section(
'section_main_image_styles',
[
'label' => esc_html__( 'Main Styles', 'boosted-elements-progression' ),
'tab' => Controls_Manager::TAB_STYLE,
]
);
$this->add_control(
'boosted_elements_main_image_content_align',
[
'label' => esc_html__( 'Align', 'boosted-elements-progression' ),
'type' => Controls_Manager::CHOOSE,
'label_block' => false,
'options' => [
'left' => [
'title' => esc_html__( 'Left', 'boosted-elements-progression' ),
'icon' => 'eicon-h-align-left',
],
'center' => [
'title' => esc_html__( 'Center', 'boosted-elements-progression' ),
'icon' => 'eicon-h-align-center',
],
'right' => [
'title' => esc_html__( 'Right', 'boosted-elements-progression' ),
'icon' => 'eicon-h-align-right',
],
],
'default' => 'center',
'selectors' => [
'{{WRAPPER}} .fotorama__wrap' => '{{VALUE}}',
],
'selectors_dictionary' => [
'left' => 'margin-left:0px; margin-right:auto;',
'center' => 'margin-left:auto; margin-right:auto;',
'right' => 'margin-left:auto; margin-right:0px;',
],
]
);
$this->add_control(
'boosted_elements_gallery_percentage_option',
[
'label' => esc_html__( 'Dimensions', 'boosted-elements-progression' ),
'type' => Controls_Manager::SELECT,
'default' => 'percentage',
'options' => [
'pixels' => esc_html__( 'Pixels', 'boosted-elements-progression' ),
'percentage' => esc_html__( 'Percentage', 'boosted-elements-progression' ),
],
]
);
$this->add_control(
'boosted_elements_main_width_pixel',
[
'label' => esc_html__( 'Width in pixels', 'boosted-elements-progression' ),
'type' => Controls_Manager::SLIDER,
'default' => [
'size' => 800,
],
'range' => [
'px' => [
'min' => 10,
'max' => 1500,
],
],
'condition' => [
'boosted_elements_gallery_percentage_option' => 'pixels',
],
]
);
$this->add_control(
'boosted_elements_main_height_pixel',
[
'label' => esc_html__( 'Height in pixels', 'boosted-elements-progression' ),
'type' => Controls_Manager::SLIDER,
'default' => [
'size' => 600,
],
'range' => [
'px' => [
'min' => 10,
'max' => 1500,
],
],
'condition' => [
'boosted_elements_gallery_percentage_option' => 'pixels',
],
]
);
$this->add_control(
'boosted_elements_main_width_percentage',
[
'label' => esc_html__( 'Width in percent', 'boosted-elements-progression' ),
'type' => Controls_Manager::SLIDER,
'default' => [
'size' => 100,
],
'range' => [
'px' => [
'min' => 5,
'max' => 100,
],
],
'condition' => [
'boosted_elements_gallery_percentage_option' => 'percentage',
],
]
);
$this->add_control(
'boosted_elements_main_height_percentage',
[
'label' => esc_html__( 'Height in percent', 'boosted-elements-progression' ),
'type' => Controls_Manager::SLIDER,
'default' => [
'size' => 80,
],
'range' => [
'px' => [
'min' => 5,
'max' => 100,
],
],
'condition' => [
'boosted_elements_gallery_percentage_option' => 'percentage',
],
]
);
$this->end_controls_section();
$this->start_controls_section(
'section_thumbnail_styles',
[
'label' => esc_html__( 'Thumbnail Styles', 'boosted-elements-progression' ),
'tab' => Controls_Manager::TAB_STYLE,
'condition' => [
'boosted_elements_gallery_navigation' => 'thumbs',
],
]
);
$this->add_control(
'boosted_elements_thumb_border_radius',
[
'label' => esc_html__( 'Thumbnail Radius', 'boosted-elements-progression' ),
'type' => Controls_Manager::SLIDER,
'separator' => 'before',
'default' => [
'size' => 0,
],
'range' => [
'px' => [
'min' => 0,
'max' => 100,
],
],
'selectors' => [
'{{WRAPPER}} .fotorama__thumb-border' => 'border-radius:{{SIZE}}px;',
'{{WRAPPER}} .fotorama__thumb' => 'border-radius:{{SIZE}}px;',
],
'condition' => [
'boosted_elements_gallery_navigation' => 'thumbs',
],
]
);
$this->add_control(
'boosted_thumbnail_border_color',
[
'label' => esc_html__( 'Thumbnail Border Color', 'boosted-elements-progression' ),
'type' => Controls_Manager::COLOR,
'selectors' => [
'{{WRAPPER}} .fotorama__thumb-border, .fotorama--fullscreen .fotorama__thumb-border' => 'border-color: {{VALUE}};',
],
'condition' => [
'boosted_elements_gallery_navigation' => 'thumbs',
],
]
);
$this->add_control(
'boosted_thumbnail_background_color',
[
'label' => esc_html__( 'Overlay Thumb Color', 'boosted-elements-progression' ),
'type' => Controls_Manager::COLOR,
'selectors' => [
'{{WRAPPER}} .fotorama__thumb-border, .fotorama--fullscreen .fotorama__thumb-border' => 'background: {{VALUE}};',
],
'condition' => [
'boosted_elements_gallery_navigation' => 'thumbs',
],
]
);
$this->add_control(
'boosted_elements_thumb_width',
[
'label' => esc_html__( 'Thumbnail Width', 'boosted-elements-progression' ),
'type' => Controls_Manager::SLIDER,
'separator' => 'before',
'default' => [
'size' => 100,
],
'range' => [
'px' => [
'min' => 10,
'max' => 800,
],
],
'condition' => [
'boosted_elements_gallery_navigation' => 'thumbs',
],
]
);
$this->add_control(
'boosted_elements_thumb_height',
[
'label' => esc_html__( 'Thumbnail Height', 'boosted-elements-progression' ),
'type' => Controls_Manager::SLIDER,
'default' => [
'size' => 80,
],
'range' => [
'px' => [
'min' => 10,
'max' => 800,
],
],
'condition' => [
'boosted_elements_gallery_navigation' => 'thumbs',
],
]
);
$this->add_control(
'boosted_elements_thumb_margin',
[
'label' => esc_html__( 'Thumbnail Margin', 'boosted-elements-progression' ),
'type' => Controls_Manager::SLIDER,
'default' => [
'size' => 4,
],
'range' => [
'px' => [
'min' => 0,
'max' => 100,
],
],
'condition' => [
'boosted_elements_gallery_navigation' => 'thumbs',
],
]
);
$this->add_control(
'boosted_elements_thumb_margin_top',
[
'label' => esc_html__( 'Thumbnail Vertical Adjustment', 'boosted-elements-progression' ),
'type' => Controls_Manager::SLIDER,
'range' => [
'px' => [
'min' => -100,
'max' => 100,
],
],
'selectors' => [
'{{WRAPPER}} .fotorama__nav-wrap' => 'margin-top:{{SIZE}}px;',
],
'condition' => [
'boosted_elements_gallery_navigation' => 'thumbs',
],
]
);
$this->add_control(
'boosted_elements_thumb_border',
[
'label' => esc_html__( 'Thumbnail Border', 'boosted-elements-progression' ),
'type' => Controls_Manager::SLIDER,
'default' => [
'size' => 2,
],
'range' => [
'px' => [
'min' => 0,
'max' => 20,
],
],
'condition' => [
'boosted_elements_gallery_navigation' => 'thumbs',
],
]
);
$this->end_controls_section();
$this->start_controls_section(
'section_caption_styles',
[
'label' => esc_html__( 'Caption Styles', 'boosted-elements-progression' ),
'tab' => Controls_Manager::TAB_STYLE,
'condition' => [
'boosted_elements_gallery_captions!' => '',
],
]
);
$this->add_control(
'boosted_elements_main_caption_align',
[
'label' => esc_html__( 'Caption Align', 'boosted-elements-progression' ),
'type' => Controls_Manager::CHOOSE,
'label_block' => false,
'options' => [
'left' => [
'title' => esc_html__( 'Left', 'boosted-elements-progression' ),
'icon' => 'eicon-h-align-left',
],
'center' => [
'title' => esc_html__( 'Center', 'boosted-elements-progression' ),
'icon' => 'eicon-h-align-center',
],
'right' => [
'title' => esc_html__( 'Right', 'boosted-elements-progression' ),
'icon' => 'eicon-h-align-right',
],
],
'default' => 'left',
'selectors' => [
'{{WRAPPER}} .boosted-elements-progression-image-slideshow-container' => 'text-align:{{VALUE}};',
],
'condition' => [
'boosted_elements_gallery_captions!' => '',
],
]
);
$this->add_responsive_control(
'boosted_elements_main_caption_padding',
[
'label' => esc_html__( 'Caption Padding', 'boosted-elements-progression' ),
'type' => Controls_Manager::DIMENSIONS,
'size_units' => [ 'px'],
'selectors' => [
'{{WRAPPER}} .fotorama__caption__wrap' => 'padding: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};',
],
'condition' => [
'boosted_elements_gallery_captions!' => '',
],
]
);
$this->add_control(
'boosted_elements_main_caption_color',
[
'label' => esc_html__( 'Caption Color', 'boosted-elements-progression' ),
'type' => Controls_Manager::COLOR,
'selectors' => [
'{{WRAPPER}} .fotorama__caption' => 'color: {{VALUE}};',
],
'condition' => [
'boosted_elements_gallery_captions!' => '',
],
]
);
$this->add_control(
'boosted_elements_main_caption_border_color',
[
'label' => esc_html__( 'Caption Background', 'boosted-elements-progression' ),
'type' => Controls_Manager::COLOR,
'selectors' => [
'{{WRAPPER}} .fotorama__caption__wrap' => 'background-color: {{VALUE}};',
],
'condition' => [
'boosted_elements_gallery_captions!' => '',
],
]
);
$this->add_group_control(
Group_Control_Typography::get_type(),
[
'name' => 'caption_typography',
'scheme' => \Elementor\Core\Schemes\Typography::TYPOGRAPHY_1,
'selector' => '{{WRAPPER}} .fotorama__caption',
]
);
$this->end_controls_section();
$this->start_controls_section(
'section_bullet_dots_styles',
[
'label' => esc_html__( 'Dot Styles', 'boosted-elements-progression' ),
'tab' => Controls_Manager::TAB_STYLE,
'condition' => [
'boosted_elements_gallery_navigation' => 'dots',
],
]
);
$this->add_control(
'section_bullet_dots_vertical_position',
[
'label' => esc_html__( 'Dot Vertical Position', 'boosted-elements-progression' ),
'type' => Controls_Manager::SLIDER,
'range' => [
'px' => [
'min' => -100,
'max' => 100,
],
],
'selectors' => [
'{{WRAPPER}} .fotorama--fullscreen .fotorama__dot' => 'top:{{SIZE}}px;',
'{{WRAPPER}} .boosted-elements-dot-navigation .fotorama__dot' => 'top:{{SIZE}}px;',
],
]
);
$this->add_control(
'section_bullet_dots_styles_text_color',
[
'label' => esc_html__( 'Color', 'boosted-elements-progression' ),
'type' => Controls_Manager::COLOR,
'selectors' => [
'{{WRAPPER}} .fotorama--fullscreen .fotorama__dot' => 'border-color: {{VALUE}};',
'{{WRAPPER}} .boosted-elements-dot-navigation .fotorama__dot' => 'border-color: {{VALUE}};',
'{{WRAPPER}} .fotorama--fullscreen .fotorama__nav__frame--dot.fotorama__active .fotorama__dot' => 'border-color: {{VALUE}}; background: {{VALUE}};',
'{{WRAPPER}} .boosted-elements-dot-navigation .fotorama__nav__frame--dot.fotorama__active .fotorama__dot' => 'border-color: {{VALUE}}; background: {{VALUE}};',
],
]
);
$this->end_controls_section();
$this->start_controls_section(
'section_arrow_styles',
[
'label' => esc_html__( 'Arrow Styles', 'boosted-elements-progression' ),
'tab' => Controls_Manager::TAB_STYLE,
'condition' => [
'boosted_elements_gallery_arrows!' => '',
],
]
);
$this->add_control(
'section_arrow_styles_font_size',
[
'label' => esc_html__( 'Arrow Size', 'boosted-elements-progression' ),
'type' => Controls_Manager::SLIDER,
'range' => [
'px' => [
'min' => 5,
'max' => 200,
],
],
'selectors' => [
'{{WRAPPER}} .fotorama__arr--prev' => 'font-size:{{SIZE}}px;',
'{{WRAPPER}} .fotorama__arr--next' => 'font-size:{{SIZE}}px;',
],
'condition' => [
'boosted_elements_gallery_arrows!' => '',
],
]
);
$this->add_control(
'section_arrow_styles_width',
[
'label' => esc_html__( 'Arrow Width', 'boosted-elements-progression' ),
'type' => Controls_Manager::SLIDER,
'range' => [
'px' => [
'min' => 5,
'max' => 200,
],
],
'selectors' => [
'{{WRAPPER}} .fotorama__arr--prev' => 'width:{{SIZE}}px;',
'{{WRAPPER}} .fotorama__arr--next' => 'width:{{SIZE}}px;',
],
'condition' => [
'boosted_elements_gallery_arrows!' => '',
],
]
);
$this->add_control(
'section_arrow_styles_height',
[
'label' => esc_html__( 'Arrow Height', 'boosted-elements-progression' ),
'type' => Controls_Manager::SLIDER,
'range' => [
'px' => [
'min' => 5,
'max' => 200,
],
],
'selectors' => [
'{{WRAPPER}} .fotorama__arr--prev' => 'height:{{SIZE}}px; line-height:{{SIZE}}px;',
'{{WRAPPER}} .fotorama__arr--next' => 'height:{{SIZE}}px; line-height:{{SIZE}}px;',
],
'condition' => [
'boosted_elements_gallery_arrows!' => '',
],
]
);
$this->add_control(
'section_arrow_styles_vertical_align',
[
'label' => esc_html__( 'Vertical Align', 'boosted-elements-progression' ),
'type' => Controls_Manager::SLIDER,
'range' => [
'px' => [
'min' => -100,
'max' => 100,
],
],
'selectors' => [
'{{WRAPPER}} .fotorama__arr--prev' => 'margin-top:{{SIZE}}px;',
'{{WRAPPER}} .fotorama__arr--next' => 'margin-top:{{SIZE}}px;',
],
'condition' => [
'boosted_elements_gallery_arrows!' => '',
],
]
);
$this->start_controls_tabs( 'boosted_elements_arrow_styles_tabs' );
$this->start_controls_tab( 'normal_arrow_styles_style', [ 'label' => esc_html__( 'Normal', 'boosted-elements-progression' ) ] );
$this->add_control(
'boosted_elements_arrow_styles_text_color',
[
'label' => esc_html__( 'Color', 'boosted-elements-progression' ),
'type' => Controls_Manager::COLOR,
'selectors' => [
'{{WRAPPER}} .fotorama__arr--prev' => 'color: {{VALUE}};',
'{{WRAPPER}} .fotorama__arr--next' => 'color: {{VALUE}};',
],
]
);
$this->add_control(
'boosted_elements_arrow_styles_background_color',
[
'label' => esc_html__( 'Background', 'boosted-elements-progression' ),
'type' => Controls_Manager::COLOR,
'selectors' => [
'{{WRAPPER}} .fotorama__arr--prev' => 'background: {{VALUE}};',
'{{WRAPPER}} .fotorama__arr--next' => 'background: {{VALUE}};',
],
]
);
$this->end_controls_tab();
$this->start_controls_tab( 'hover_arrow_styles_style', [ 'label' => esc_html__( 'Hover', 'boosted-elements-progression' ) ] );
$this->add_control(
'boosted_elements_arrow_styles_hover_text_color',
[
'label' => esc_html__( 'Color', 'boosted-elements-progression' ),
'type' => Controls_Manager::COLOR,
'selectors' => [
'{{WRAPPER}} .fotorama__arr--prev:hover' => 'color: {{VALUE}};',
'{{WRAPPER}} .fotorama__arr--next:hover' => 'color: {{VALUE}};',
],
]
);
$this->add_control(
'boosted_elements_arrow_styles_hover_background_color',
[
'label' => esc_html__( 'Background', 'boosted-elements-progression' ),
'type' => Controls_Manager::COLOR,
'selectors' => [
'{{WRAPPER}} .fotorama__arr--prev:hover' => 'background: {{VALUE}};',
'{{WRAPPER}} .fotorama__arr--next:hover' => 'background: {{VALUE}};',
],
]
);
$this->end_controls_tab();
$this->end_controls_tabs();
$this->end_controls_section();
$this->end_controls_section();
}
protected function render( ) {
$settings = $this->get_settings();
if ( empty( $settings['boosted_elements_image_gallery'] ) ) {
return;
}
?>
<div class="boosted-elements-progression-image-slideshow-container <?php if ( $settings['boosted_elements_gallery_navigation'] == 'dots' ) : ?>boosted-elements-dot-navigation<?php endif; ?>">
<div class="boosted-elements-fotorama-<?php echo esc_attr($this->get_id()); ?>" data-nav="<?php echo esc_attr($settings['boosted_elements_gallery_navigation'] ); ?>" data-fit="<?php echo esc_attr($settings['boosted_elements_gallery_fit'] ); ?>" data-transition="<?php echo esc_attr($settings['boosted_elements_gallery_transition'] ); ?>" <?php if ( $settings['boosted_elements_gallery_fullscreen'] != 'none' ) : ?>data-allowfullscreen="<?php echo esc_attr($settings['boosted_elements_gallery_fullscreen'] ); ?>"<?php endif; ?> <?php if ( ! empty( $settings['boosted_elements_gallery_hash'] ) ) : ?>data-hash="true"<?php endif; ?> <?php if ( ! empty( $settings['boosted_elements_gallery_autoplay'] ) ) : ?>data-autoplay="<?php echo esc_attr($settings['boosted_post_list_autplay_duration'] ); ?>"<?php endif; ?> data-transitionduration="<?php echo esc_attr($settings['boosted_post_list_transition_duration'] ); ?>" <?php if ( ! empty( $settings['boosted_elements_gallery_keyboard'] ) ) : ?> data-keyboard="true"<?php endif; ?><?php if ( ! empty( $settings['boosted_elements_gallery_shuffle'] ) ) : ?> data-shuffle="true"<?php endif; ?><?php if ( ! empty( $settings['boosted_elements_gallery_arrows'] ) ) : ?> data-arrows="true"<?php endif; ?><?php if ( empty( $settings['boosted_elements_gallery_clitcktransition'] ) ) : ?> data-click="false"<?php endif; ?> <?php if ( ! empty( $settings['boosted_elements_gallery_loop'] ) ) : ?> data-loop="true"<?php endif; ?> data-thumbwidth="<?php echo esc_attr($settings['boosted_elements_thumb_width']['size'] ); ?>" data-thumbheight="<?php echo esc_attr($settings['boosted_elements_thumb_height']['size'] ); ?>" data-thumbmargin="<?php echo esc_attr($settings['boosted_elements_thumb_margin']['size'] ); ?>" data-thumbborderwidth="<?php echo esc_attr($settings['boosted_elements_thumb_border']['size'] ); ?>" <?php if ( $settings['boosted_elements_gallery_percentage_option'] == 'percentage' ) : ?> data-width="<?php echo esc_attr($settings['boosted_elements_main_width_percentage']['size'] ); ?>%" data-height="<?php echo esc_attr($settings['boosted_elements_main_height_percentage']['size'] ); ?>%" <?php else: ?> data-width="<?php echo esc_attr($settings['boosted_elements_main_width_pixel']['size'] ); ?>" data-height="<?php echo esc_attr($settings['boosted_elements_main_height_pixel']['size'] ); ?>"<?php endif; ?>>
<?php if ( ! empty( $settings['boosted_elements_gallery_videos'] ) ) : ?>
<?php foreach ( $settings['boosted_elements_gallery_videos'] as $item ) : ?>
<?php if ( ! empty( $item['boosted_elements_video_url'] ) ) : ?>
<a href="<?php echo esc_attr($item['boosted_elements_video_url'] ); ?>"><?php echo esc_attr($item['boosted_elements_video_url'] ); ?></a>
<?php endif; ?>
<?php endforeach; ?>
<?php endif; ?>
<?php $pro_images_gallery = $this->get_settings( 'boosted_elements_image_gallery' ); foreach ( $pro_images_gallery as $image ) : ?>
<?php $image_thumbnail = wp_get_attachment_image_src($image['id'], 'thumb'); ?>
<?php $image_main_url = Group_Control_Image_Size::get_attachment_image_src( $image['id'], 'thumbnail', $settings ); ?>
<a href="<?php echo esc_attr($image_main_url);?>" data-thumb="<?php echo esc_attr($image_thumbnail[0]);?>" <?php if ( ! empty( $settings['boosted_elements_gallery_captions'] ) ) : ?><?php $get_description = get_post($image['id'])->post_excerpt; if(!empty($get_description)){ echo 'data-caption="' . esc_attr($get_description) . '"'; } ?><?php endif; ?>></a>
<?php endforeach; ?>
<div class="clearfix-boosted-element"></div>
</div>
</div><!-- close .boosted-elements-progression-image-slideshow-container -->
<script type="text/javascript">
jQuery(document).ready(function($) {
'use strict';
setTimeout(function(){
$('.boosted-elements-fotorama-<?php echo esc_attr($this->get_id()); ?>').fotorama();
}, 10);
});
</script>
<div class="clearfix-boosted-element"></div>
<?php
}
protected function content_template(){}
}
Plugin::instance()->widgets_manager->register_widget_type( new Widget_BoostedElementsImage_Slideshow() );