<?php namespace BdevsElementor\Widget; use Elementor\Controls_Manager; use Elementor\Group_Control_Typography; use Elementor\Scheme_Typography; use Elementor\Group_Control_Border; use Elementor\Group_Control_Box_Shadow; /** * Bdevs Elementor Widget. * * Elementor widget that inserts an embbedable content into the page, from any given URL. * * @since 1.0.0 */ class BdevsSliderSlideshow extends \Elementor\Widget_Base { /** * Get widget name. * * Retrieve Bdevs Elementor widget name. * * @since 1.0.0 * @access public * * @return string Widget name. */ public function get_name() { return 'bdevs-slider-slideshow'; } /** * Get widget title. * * Retrieve Bdevs Elementor widget title. * * @since 1.0.0 * @access public * * @return string Widget title. */ public function get_title() { return __( 'Slider Home Slideshow', 'bdevs-elementor' ); } /** * Get widget icon. * * Retrieve Bdevs Slider widget icon. * * @since 1.0.0 * @access public * * @return string Widget icon. */ public function get_icon() { return 'eicon-slideshow'; } /** * Get widget categories. * * Retrieve the list of categories the Bdevs Slider widget belongs to. * * @since 1.0.0 * @access public * * @return array Widget categories. */ public function get_categories() { return [ 'home-slideshow-elementor' ]; } public function get_keywords() { return [ 'slides Slideshow', 'carousel' ]; } public function get_script_depends() { return [ 'bdevs-elementor']; } // BDT Position protected function element_pack_position() { $position_options = [ '' => esc_html__('Default', 'bdevs-elementor'), 'top-left' => esc_html__('Top Left', 'bdevs-elementor') , 'top-center' => esc_html__('Top Center', 'bdevs-elementor') , 'top-right' => esc_html__('Top Right', 'bdevs-elementor') , 'center' => esc_html__('Center', 'bdevs-elementor') , 'center-left' => esc_html__('Center Left', 'bdevs-elementor') , 'center-right' => esc_html__('Center Right', 'bdevs-elementor') , 'bottom-left' => esc_html__('Bottom Left', 'bdevs-elementor') , 'bottom-center' => esc_html__('Bottom Center', 'bdevs-elementor') , 'bottom-right' => esc_html__('Bottom Right', 'bdevs-elementor') , ]; return $position_options; } protected function _register_controls() { $this->start_controls_section( 'section_content_sliders_slideshow', [ 'label' => esc_html__( 'Sliders Slideshow', 'bdevs-elementor' ), ] ); $this->add_control( 'image', [ 'label' => esc_html__( 'Background Image', 'bdevs-elementor' ), 'type' => Controls_Manager::MEDIA, 'dynamic' => [ 'active' => true ], 'label_block' => true, 'description' => esc_html__( 'Upload Background Image', 'bdevs-elementor' ), ] ); $this->add_control( 'image2', [ 'label' => esc_html__( 'Background Image 2', 'bdevs-elementor' ), 'type' => Controls_Manager::MEDIA, 'dynamic' => [ 'active' => true ], 'label_block' => true, 'description' => esc_html__( 'Upload Background Image', 'bdevs-elementor' ), ] ); $this->add_control( 'image3', [ 'label' => esc_html__( 'Background Image 3', 'bdevs-elementor' ), 'type' => Controls_Manager::MEDIA, 'dynamic' => [ 'active' => true ], 'label_block' => true, 'description' => esc_html__( 'Upload Background Image', 'bdevs-elementor' ), ] ); $this->add_control( 'heading', [ 'label' => __( 'Heading', 'bdevs-elementor' ), 'type' => Controls_Manager::TEXT, 'placeholder' => __( 'Enter your heading', 'bdevs-elementor' ), 'default' => __( 'Digital Agency', 'bdevs-elementor' ), 'label_block' => true, ] ); $this->add_control( 'subheading', [ 'label' => __( 'Subheading', 'bdevs-elementor' ), 'type' => Controls_Manager::TEXT, 'placeholder' => __( 'Enter your Subheading', 'bdevs-elementor' ), 'default' => __( 'Agency viverra tristique usto duis vitae diam neque nivamus aestan.', 'bdevs-elementor' ), 'label_block' => true, ] ); $this->add_control( 'button', [ 'label' => __( 'Button', 'bdevs-elementor' ), 'type' => Controls_Manager::TEXT, 'placeholder' => __( 'Enter your Button', 'bdevs-elementor' ), 'default' => __( 'Getting Started', 'bdevs-elementor' ), 'label_block' => true, ] ); $this->add_control( 'link_button', [ 'label' => __( 'Link Button', 'bdevs-elementor' ), 'type' => Controls_Manager::TEXT, 'placeholder' => __( 'Enter your Link Button', 'bdevs-elementor' ), 'default' => __( '#', 'bdevs-elementor' ), 'label_block' => true, ] ); $this->end_controls_section(); $this->start_controls_section( 'section_content_layout', [ 'label' => esc_html__( 'Layout', 'bdevs-elementor' ), ] ); $this->add_responsive_control( 'align', [ 'label' => esc_html__( 'Alignment', 'bdevs-elementor' ), 'type' => Controls_Manager::CHOOSE, 'options' => [ 'left' => [ 'title' => esc_html__( 'Left', 'bdevs-elementor' ), 'icon' => 'fa fa-align-left', ], 'center' => [ 'title' => esc_html__( 'Center', 'bdevs-elementor' ), 'icon' => 'fa fa-align-center', ], 'right' => [ 'title' => esc_html__( 'Right', 'bdevs-elementor' ), 'icon' => 'fa fa-align-right', ], 'justify' => [ 'title' => esc_html__( 'Justified', 'bdevs-elementor' ), 'icon' => 'fa fa-align-justify', ], ], 'prefix_class' => 'elementor%s-align-', 'description' => 'Use align to match position', 'default' => 'left', ] ); $this->end_controls_section(); } public function render() { $settings = $this->get_settings_for_display(); extract($settings); ?> <aside class="kenburns-section" id="kenburnsSliderContainer" data-overlay-dark="6"> <div class="kenburns-inner h-100"> <div class="v-middle caption"> <div class="container"> <div class="row h-100 justify-content-center"> <div class="col-md-12 text-center mt-60"> <?php if ( '' !== $settings['heading'] ) : ?> <h1><?php echo wp_kses_post($settings['heading']); ?></h1> <?php endif; ?> <?php if ( '' !== $settings['subheading'] ) : ?> <p><?php echo wp_kses_post($settings['subheading']); ?></p> <?php endif; ?> <?php if ( '' !== $settings['button'] ) : ?> <a href="<?php echo wp_kses_post($settings['link_button']); ?>" class="btn-1 mt-15"> <?php echo wp_kses_post($settings['button']); ?></a> <?php endif; ?> </div> </div> </div> </div> </div> </aside> <!-- divider line --> <div class="line-vr-section"></div> <script type="text/javascript"> jQuery(document).ready(function() { jQuery('#kenburnsSliderContainer').vegas({ slides: [{ src: "<?php print esc_url($settings['image']['url']); ?>" }, { src: "<?php print esc_url($settings['image2']['url']); ?>" }, { src: "<?php print esc_url($settings['image3']['url']); ?>" }], overlay: true, transition: 'fade2', animation: 'kenburnsUpRight', transitionDuration: 1000, delay: 10000, animationDuration: 20000 }); }); </script> <?php } }