PluginProbe
WPB Addons for Elementor – News Ticker, Timeline, Team & More Widgets / 1.2
WPB Addons for Elementor – News Ticker, Timeline, Team & More Widgets v1.2
trunk 1.0.8.7 1.0.8.8 1.0.8.9 1.0.9 1.2 1.3 1.4 1.5 1.6 1.7
wpb-elementor-addons / templates / slider.php

slider.php in WPB Addons for Elementor – News Ticker, Timeline, Team & More Widgets 1.2, at templates/slider.php

638 lines 20.8 KB
No matching file
Up and down to move Enter to open Esc to close
Raw Download Zip
1 <?php
2 /**
3 * @author WpBean
4 * @version 1.0
5 */
6
7 if ( ! defined( 'ABSPATH' ) ) {
8 exit; // Exit if accessed directly.
9 }
10
11 use Elementor\Controls_Manager;
12 use Elementor\Group_Control_Image_Size;
13
14 class WPB_EA_Widget_Slider extends \Elementor\Widget_Base {
15
16 public function get_name() {
17 return 'wpb-ea-slider-item';
18 }
19
20 public function get_title() {
21 return esc_html__( 'WPB Slider', 'wpb-elementor-addons' );
22 }
23
24 public function get_icon() {
25 return 'eicon-slideshow';
26 }
27
28 public function get_categories() {
29 return array( 'wpb_ea_widgets' );
30 }
31
32 /**
33 * Retrieve the list of scripts the counter widget depended on.
34 *
35 * Used to set scripts dependencies required to run the widget.
36 *
37 * @since 1.3.0
38 * @access public
39 *
40 * @return array Widget scripts dependencies.
41 */
42 public function get_script_depends() {
43 return array(
44 'wpb-ea-owl-carousel',
45 'wpb-ea-super-js',
46 );
47 }
48
49 protected function register_controls() {
50 $wpb_ea_primary_color = wpb_ea_get_option( 'wpb_ea_primary_color', 'wpb_ea_style', '#3878ff' );
51 $wpb_ea_primary_color_dark = wpb_ea_get_option( 'wpb_ea_primary_color_dark', 'wpb_ea_style', '#004dcb' );
52
53 // main slider section
54 $this->start_controls_section(
55 'wpb_ea_main_slider',
56 array(
57 'label' => esc_html__( 'Slider Items', 'wpb-elementor-addons' ),
58 )
59 );
60
61 $this->add_group_control(
62 Group_Control_Image_Size::get_type(),
63 array(
64 'name' => 'image_size',
65 'label' => esc_html__( 'Image Size', 'wpb-elementor-addons' ),
66 'default' => 'full',
67 )
68 );
69
70 $this->add_responsive_control(
71 'wpb_ea_main_slider_height',
72 array(
73 'label' => esc_html__( 'Slider Height', 'wpb-elementor-addons' ),
74 'type' => \Elementor\Controls_Manager::NUMBER,
75 'min' => 100,
76 'max' => 2500,
77 'step' => 1,
78 'default' => 750,
79 'selectors' => array(
80 '{{WRAPPER}} .header-slider .item' => 'height: {{VALUE}}px;',
81 '{{WRAPPER}} .header-slider .slider-preloader-wrap' => 'height: {{VALUE}}px;',
82 '{{WRAPPER}} .header-slider .slider_preloader' => 'min-height: {{VALUE}}px;',
83 ),
84 )
85 );
86
87 $this->add_control(
88 'wpb_ea_main_slider_align',
89 array(
90 'label' => esc_html__( 'Content Alignment', 'wpb-elementor-addons' ),
91 'type' => Controls_Manager::SELECT,
92 'default' => 'left',
93 'options' => array(
94 'left' => esc_html__( 'Left', 'wpb-elementor-addons' ),
95 'right' => esc_html__( 'Right', 'wpb-elementor-addons' ),
96 'center' => esc_html__( 'Center', 'wpb-elementor-addons' ),
97 ),
98 'separator' => 'after',
99 )
100 );
101
102 $repeater = new \Elementor\Repeater();
103
104 $repeater->add_group_control(
105 \Elementor\Group_Control_Background::get_type(),
106 array(
107 'name' => 'background',
108 'types' => array( 'classic', 'gradient' ),
109 'selector' => '{{WRAPPER}} {{CURRENT_ITEM}}',
110 )
111 );
112
113 $repeater->add_control(
114 'wpb_ea_main_slider_title',
115 array(
116 'label' => esc_html__( 'Title', 'wpb-elementor-addons' ),
117 'type' => Controls_Manager::TEXT,
118 'default' => esc_html__( 'Slider Title', 'wpb-elementor-addons' ),
119 )
120 );
121
122 $repeater->add_control(
123 'wpb_ea_main_slider_content',
124 array(
125 'label' => esc_html__( 'Content', 'wpb-elementor-addons' ),
126 'type' => Controls_Manager::TEXTAREA,
127 'default' => esc_html__( 'Nullam a ultrices ex, quis finibus neque. Etiam facilisis consectetur ante ac bibendum. Sed pretium lacinia sollicitudin.', 'wpb-elementor-addons' ),
128 )
129 );
130
131 $repeater->add_control(
132 'wpb_ea_main_slider_button_text',
133 array(
134 'label' => esc_html__( 'Button Text', 'wpb-elementor-addons' ),
135 'type' => Controls_Manager::TEXT,
136 'default' => esc_html__( 'CLICK HERE', 'wpb-elementor-addons' ),
137 )
138 );
139
140 $repeater->add_control(
141 'wpb_ea_main_slider_button_url',
142 array(
143 'label' => esc_html__( 'Link', 'wpb-elementor-addons' ),
144 'type' => Controls_Manager::URL,
145 'default' => array(
146 'url' => '#',
147 'is_external' => '',
148 ),
149 'label_block' => true,
150 'show_external' => true,
151
152 'placeholder' => esc_html__( 'http://your-link.com', 'wpb-elementor-addons' ),
153 )
154 );
155
156 $this->add_control(
157 'wpb_ea_main_slider_items',
158 array(
159 'label' => esc_html__( 'Slider Items', 'wpb-elementor-addons' ),
160 'type' => Controls_Manager::REPEATER,
161 'default' => array(
162 array(
163 'wpb_ea_main_slider_title' => esc_html__( 'Slider Title 1.', 'wpb-elementor-addons' ),
164 'wpb_ea_main_slider_content' => esc_html__( 'Nullam a ultrices ex, quis finibus neque. Etiam facilisis consectetur ante ac bibendum. Sed pretium lacinia sollicitudin.', 'wpb-elementor-addons' ),
165 ),
166 array(
167 'wpb_ea_main_slider_title' => esc_html__( 'Slider Title 2.', 'wpb-elementor-addons' ),
168 'wpb_ea_main_slider_content' => esc_html__( 'Nullam a ultrices ex, quis finibus neque. Etiam facilisis consectetur ante ac bibendum. Sed pretium lacinia sollicitudin.', 'wpb-elementor-addons' ),
169 ),
170 array(
171 'wpb_ea_main_slider_title' => esc_html__( 'Slider Title 3.', 'wpb-elementor-addons' ),
172 'wpb_ea_main_slider_content' => esc_html__( 'Nullam a ultrices ex, quis finibus neque. Etiam facilisis consectetur ante ac bibendum. Sed pretium lacinia sollicitudin.', 'wpb-elementor-addons' ),
173 ),
174 ),
175 'fields' => $repeater->get_controls(),
176 'title_field' => '{{{ wpb_ea_main_slider_title }}}',
177 )
178 );
179
180 // slider extra CSS heading
181 $this->add_control(
182 'wpb_ea_test_extra_css_heading',
183 array(
184 'type' => Controls_Manager::HEADING,
185 'separator' => 'before',
186 )
187 );
188
189 // extra CSS class
190 $this->add_control(
191 'extra_css',
192 array(
193 'label' => esc_html__( 'Extra CSS clss', 'wpb-elementor-addons' ),
194 'type' => Controls_Manager::TEXT,
195 'description' => esc_html__( 'Put your extra CSS class if you need.', 'wpb-elementor-addons' ),
196 'placeholder' => esc_html__( 'your-extra-css-class', 'wpb-elementor-addons' ),
197 )
198 );
199
200 // show preloader in slider?
201 $this->add_control(
202 'show_preloader',
203 array(
204 'type' => Controls_Manager::SWITCHER,
205 'label' => esc_html__( 'Show Preloader?', 'wpb-elementor-addons' ),
206 'default' => 'yes',
207 'return_value' => 'yes',
208 'description' => esc_html__( 'Show preloader on the slider.', 'wpb-elementor-addons' ),
209 )
210 );
211
212 $this->end_controls_section();
213
214 /**
215 * -------------------------------------------
216 * main slider carousel section
217 * -------------------------------------------
218 */
219 $this->start_controls_section(
220 'wpb_ea_main_slider_carousel_settings',
221 array(
222 'label' => esc_html__( 'Carousel Settings', 'wpb-elementor-addons' ),
223 'tab' => Controls_Manager::TAB_SETTINGS,
224 )
225 );
226
227 // show navigation?
228 $this->add_control(
229 'arrows',
230 array(
231 'type' => Controls_Manager::SWITCHER,
232 'label' => esc_html__( 'Show Prev/Next Arrows?', 'wpb-elementor-addons' ),
233 'default' => 'yes',
234 'return_value' => 'yes',
235 )
236 );
237
238 // show pagination?
239 $this->add_control(
240 'dots',
241 array(
242 'type' => Controls_Manager::SWITCHER,
243 'label' => esc_html__( 'Show dot indicators for navigation?', 'wpb-elementor-addons' ),
244 'default' => 'yes',
245 'return_value' => 'yes',
246 )
247 );
248
249 // pause on hover?
250 $this->add_control(
251 'pause_on_hover',
252 array(
253 'type' => Controls_Manager::SWITCHER,
254 'label' => esc_html__( 'Pause on Hover?', 'wpb-elementor-addons' ),
255 'default' => 'no',
256 'return_value' => 'yes',
257 )
258 );
259
260 // slider autoplay?
261 $this->add_control(
262 'autoplay',
263 array(
264 'type' => Controls_Manager::SWITCHER,
265 'label' => esc_html__( 'Autoplay?', 'wpb-elementor-addons' ),
266 'default' => 'yes',
267 'return_value' => 'yes',
268 'description' => esc_html__( 'Show the carousel autoplay as in a slideshow.', 'wpb-elementor-addons' ),
269 )
270 );
271
272 // slider loop?
273 $this->add_control(
274 'loop',
275 array(
276 'type' => Controls_Manager::SWITCHER,
277 'label' => esc_html__( 'Loop?', 'wpb-elementor-addons' ),
278 'default' => 'no',
279 'return_value' => 'yes',
280 'description' => esc_html__( 'Show the carousel loop as in a slideshow.', 'wpb-elementor-addons' ),
281 )
282 );
283
284 $this->end_controls_section();
285
286 /**
287 * -------------------------------------------
288 * main slider carousel style
289 * -------------------------------------------
290 */
291 $this->start_controls_section(
292 'wpb_ea_main_slider_carousel_setting_style_options',
293 array(
294 'label' => esc_html__( 'Style Settings', 'wpb-elementor-addons' ),
295 'tab' => Controls_Manager::TAB_STYLE,
296 )
297 );
298
299 $this->add_control(
300 'wpb_ea_main_slider_bg_overlay',
301 array(
302 'type' => \Elementor\Controls_Manager::COLOR,
303 'label' => esc_html__( 'Slider Background Overlay Color', 'wpb-elementor-addons' ),
304 'default' => 'rgba(0, 0, 0, 0.4)',
305 'selectors' => array(
306 '{{WRAPPER}} .header-slider .item::after' => 'background: {{VALUE}};',
307 ),
308 )
309 );
310
311 $this->add_control(
312 'wpb_ea_main_slider_content_width',
313 array(
314 'type' => Controls_Manager::SWITCHER,
315 'label' => esc_html__( 'Content Full-width?', 'wpb-elementor-addons' ),
316 'default' => 'no',
317 'return_value' => 'yes',
318 'description' => esc_html__( 'Slider content full width? Default: No.', 'wpb-elementor-addons' ),
319 )
320 );
321
322 $this->add_responsive_control(
323 'wpb_ea_main_slider_content_padding',
324 array(
325 'label' => esc_html__( 'Content Padding', 'wpb-elementor-addons' ),
326 'type' => Controls_Manager::DIMENSIONS,
327 'size_units' => array( 'px', '%', 'em' ),
328 'devices' => array( 'desktop', 'tablet', 'mobile' ),
329 'selectors' => array(
330 '{{WRAPPER}} .theme-main-slider .slide-text' => 'padding: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};',
331 ),
332 )
333 );
334
335 $this->add_control(
336 'wpb_ea_main_slider_btn_type',
337 array(
338 'label' => esc_html__( 'Slider button type', 'wpb-elementor-addons' ),
339 'type' => Controls_Manager::SELECT,
340 'default' => 'btn_border',
341 'options' => array(
342 'btn_border' => esc_html__( 'Button Border', 'wpb-elementor-addons' ),
343 'btn_background' => esc_html__( 'Button Background', 'wpb-elementor-addons' ),
344 ),
345 'separator' => 'after',
346 )
347 );
348
349 $this->add_control(
350 'wpb_ea_main_slider_btn_primary_color',
351 array(
352 'type' => \Elementor\Controls_Manager::COLOR,
353 'label' => esc_html__( 'Button Primary Color', 'wpb-elementor-addons' ),
354 'description' => esc_html__( 'Slider button primary color.', 'wpb-elementor-addons' ),
355 'default' => $wpb_ea_primary_color,
356 'selectors' => array(
357 '{{WRAPPER}} .wpb-ea-button-primary.btn-white a:hover' => 'background-color: {{VALUE}}; border-color: {{VALUE}};',
358 '{{WRAPPER}} .wpb-ea-button-primary a:hover' => 'background-color: {{VALUE}};',
359 '{{WRAPPER}} .slide-text .wpb-ea-button-primary.btn-white.wpb-ea-button-btn_background a' => 'background-color: {{VALUE}};',
360 '{{WRAPPER}} .wpb-ea-button-primary.btn-white.wpb-ea-button-btn_background a' => 'border-color: {{VALUE}};',
361 ),
362 )
363 );
364
365 $this->add_control(
366 'wpb_ea_main_slider_btn_secondary_color',
367 array(
368 'type' => \Elementor\Controls_Manager::COLOR,
369 'label' => esc_html__( 'Button Secondary Color', 'wpb-elementor-addons' ),
370 'description' => esc_html__( 'Slider button secondary color.', 'wpb-elementor-addons' ),
371 'default' => '#ffffff',
372 'selectors' => array(
373 '{{WRAPPER}} .slide-text .wpb-ea-button-primary.btn-white a' => 'color: {{VALUE}};',
374 '{{WRAPPER}} .wpb-ea-button-primary.btn-white a' => 'border-color: {{VALUE}};',
375 '{{WRAPPER}} .wpb-ea-button-primary.btn-white.wpb-ea-button-btn_background a' => 'color: {{VALUE}};',
376 ),
377 )
378 );
379
380 $this->add_control(
381 'wpb_ea_main_slider_btn_bg_hover_bg_color',
382 array(
383 'type' => \Elementor\Controls_Manager::COLOR,
384 'label' => esc_html__( 'Button Hover Background', 'wpb-elementor-addons' ),
385 'description' => esc_html__( 'Slider button hover background color.', 'wpb-elementor-addons' ),
386 'default' => $wpb_ea_primary_color_dark,
387 'condition' => array(
388 '.wpb_ea_main_slider_btn_type' => 'btn_background',
389 ),
390 'selectors' => array(
391 '{{WRAPPER}} .wpb-ea-button-primary.btn-white.wpb-ea-button-btn_background a:hover' => 'background-color: {{VALUE}};',
392 '{{WRAPPER}} .slide-text .wpb-ea-button-primary.btn-white.wpb-ea-button-btn_background a:hover' => 'border-color: {{VALUE}};',
393 ),
394 )
395 );
396
397 $this->start_controls_tabs( 'wpb_ea_main_slider_carousel_navigation_pagination_style' );
398
399 // navigation style tab
400 $this->start_controls_tab(
401 'wpb_ea_main_slider_navigation_style',
402 array(
403 'label' => esc_html__( 'Navigation', 'wpb-elementor-addons' ),
404 'condition' => array(
405 '.wpb_ea_main_slider_carousel_settings.arrows!' => '',
406 ),
407 )
408 );
409
410 // navigation background color
411 $this->add_control(
412 'wpb_ea_main_slider_carousel_navigation_bg_color',
413 array(
414 'type' => \Elementor\Controls_Manager::COLOR,
415 'label' => esc_html__( 'Background Color', 'wpb-elementor-addons' ),
416 'default' => '#ffffff',
417 'selectors' => array(
418 '{{WRAPPER}} .header-slider .owl-theme .owl-nav > button' => 'background-color: {{VALUE}};',
419 ),
420 )
421 );
422
423 // navigation color
424 $this->add_control(
425 'wpb_ea_main_slider_carousel_navigation_color',
426 array(
427 'type' => \Elementor\Controls_Manager::COLOR,
428 'label' => esc_html__( 'Color', 'wpb-elementor-addons' ),
429 'default' => '#383838',
430 'selectors' => array(
431 '{{WRAPPER}} .header-slider .owl-theme .owl-nav > button i' => 'color: {{VALUE}};',
432 ),
433 )
434 );
435
436 // navigation hover style
437 $this->add_control(
438 'wpb_ea_main_slider_navigation_hover_style',
439 array(
440 'label' => esc_html__( 'Hover', 'wpb-elementor-addons' ),
441 'type' => Controls_Manager::HEADING,
442 'separator' => 'before',
443 )
444 );
445
446 // navigation hover background color
447 $this->add_control(
448 'wpb_ea_main_slider_carousel_navigation_hover_bg_color',
449 array(
450 'type' => \Elementor\Controls_Manager::COLOR,
451 'label' => esc_html__( 'Background Color', 'wpb-elementor-addons' ),
452 'default' => '#ffffff',
453 'selectors' => array(
454 '{{WRAPPER}} .header-slider .owl-theme .owl-nav > button:hover' => 'background-color: {{VALUE}};',
455 ),
456 )
457 );
458
459 // navigation hover color
460 $this->add_control(
461 'wpb_ea_main_slider_carousel_navigation_hover_color',
462 array(
463 'type' => \Elementor\Controls_Manager::COLOR,
464 'label' => esc_html__( 'Color', 'wpb-elementor-addons' ),
465 'default' => '#383838',
466 'selectors' => array(
467 '{{WRAPPER}} .header-slider .owl-theme .owl-nav > button:hover i' => 'color: {{VALUE}};',
468 ),
469 )
470 );
471
472 $this->end_controls_tab();
473
474 // pagination style tab
475 $this->start_controls_tab(
476 'wpb_ea_main_slider_pagination_style',
477 array(
478 'label' => esc_html__( 'pagination', 'wpb-elementor-addons' ),
479 'condition' => array(
480 '.wpb_ea_main_slider_carousel_settings.dots!' => '',
481 ),
482 )
483 );
484
485 // pagination background color
486 $this->add_control(
487 'wpb_ea_main_slider_carousel_pagination_color',
488 array(
489 'type' => \Elementor\Controls_Manager::COLOR,
490 'label' => esc_html__( 'Pagination Color', 'wpb-elementor-addons' ),
491 'default' => '#ffffff',
492 'selectors' => array(
493 '{{WRAPPER}} .theme-main-slider.owl-theme .owl-dots .owl-dot span' => 'border-color: {{VALUE}}; background-color: {{VALUE}};',
494 ),
495 )
496 );
497
498 // pagination hover style
499 $this->add_control(
500 'wpb_ea_main_slider_pagination_hover_style',
501 array(
502 'label' => esc_html__( 'Active', 'wpb-elementor-addons' ),
503 'type' => Controls_Manager::HEADING,
504 'separator' => 'before',
505 )
506 );
507
508 // pagination active color
509 $this->add_control(
510 'wpb_ea_main_slider_carousel_pagination_active_color',
511 array(
512 'type' => \Elementor\Controls_Manager::COLOR,
513 'label' => esc_html__( 'Background Color', 'wpb-elementor-addons' ),
514 'default' => $wpb_ea_primary_color,
515 'selectors' => array(
516 '{{WRAPPER}} .theme-main-slider.owl-theme .owl-dots .owl-dot.active span' => 'border-color: {{VALUE}}; background-color: {{VALUE}};',
517 ),
518 )
519 );
520
521 $this->end_controls_tab();
522
523 $this->end_controls_tabs();
524
525 $this->end_controls_section();
526
527 /**
528 * -------------------------------------------
529 * main slider style tab ends here
530 * -------------------------------------------
531 */
532 }
533
534 /**
535 * Render image function
536 *
537 * return image url
538 */
539 private function render_image( $item, $settings ) {
540 $image_id = $item['wpb_ea_main_slider_img']['id'];
541 $image_size = $settings['image_size_size'];
542 if ( 'custom' === $image_size ) {
543 $image_src = Group_Control_Image_Size::get_attachment_image_src( $image_id, 'image_size', $settings );
544 } else {
545 $image_src = wp_get_attachment_image_src( $image_id, $image_size );
546 if ( ! empty( $image_src ) ) {
547 $image_src = $image_src[0];
548 }
549 }
550
551 return $image_src;
552 }
553
554 protected function render() {
555 $settings = $this->get_settings_for_display();
556 $extra_css = $settings['extra_css'];
557 if ( $extra_css ) {
558 $extra_css = $extra_css . ' ';
559 }
560
561 // slider attributes
562 $stop = $settings['pause_on_hover'];
563 $autoplay = $settings['autoplay'];
564 $loop = $settings['loop'];
565 $navigation = $settings['arrows'];
566 $pagination = $settings['dots'];
567 $slider_attr = array(
568 'data-stop' => ( $stop == 'yes' ? 'true' : 'false' ),
569 'data-loop' => ( $loop == 'yes' ? 'true' : 'false' ),
570 'data-autoplay' => ( $autoplay == 'yes' ? 'true' : 'false' ),
571 'data-navigation' => ( $navigation == 'yes' ? 'true' : 'false' ),
572 'data-pagination' => ( $pagination == 'yes' ? 'true' : 'false' ),
573 'data-direction' => ( is_rtl() ? 'true' : '' ),
574 );
575
576 $slider_alignment = '';
577 $wpb_ea_main_slider_align = $settings['wpb_ea_main_slider_align'];
578
579 if ( $wpb_ea_main_slider_align == 'right' ) {
580 $slider_alignment = 'justify-content-end';
581 } elseif ( $wpb_ea_main_slider_align == 'center' ) {
582 $slider_alignment = 'justify-content-around';
583 }
584
585 $content_width = 'col-lg-7';
586 $wpb_ea_main_slider_content_width = $settings['wpb_ea_main_slider_content_width'];
587 if ( $wpb_ea_main_slider_content_width == 'yes' ) {
588 $content_width = 'col-lg-12';
589 } else {
590 $content_width = 'col-lg-7';
591 }
592
593 if ( is_array( $settings['wpb_ea_main_slider_items'] ) ) :
594 echo '<div class="' . esc_attr( $extra_css ) . 'header-slider header-slider-preloader">';
595 echo '<div class="theme-main-slider animation-slides owl-carousel owl-theme"' . wp_kses_data( wpb_ea_owl_carousel_data_attr_implode( $slider_attr ) ) . '>';
596 foreach ( $settings['wpb_ea_main_slider_items'] as $item ) :
597 if ( ! empty( $item['wpb_ea_main_slider_button_url']['url'] ) ) {
598 $this->add_link_attributes( 'wpb_ea_main_slider_button_url', $item['wpb_ea_main_slider_button_url'] );
599 }
600 echo '<div class="item slider-item-content-' . esc_attr( $wpb_ea_main_slider_align ) . ' text-' . esc_attr( $wpb_ea_main_slider_align ) . ' elementor-repeater-item-' . esc_attr( $item['_id'] ) . '">';
601 if ( $item['wpb_ea_main_slider_title'] || $item['wpb_ea_main_slider_content'] || $item['wpb_ea_main_slider_button_text'] ) :
602 echo '<div class="slide-table">';
603 echo '<div class="slide-tablecell">';
604 echo '<div class="wpb-ea-container">';
605 echo '<div class="ea-row d-flex ' . esc_attr( $slider_alignment ) . '">';
606 echo '<div class="' . esc_attr( $content_width ) . '">';
607 echo '<div class="slide-text">';
608 $item['wpb_ea_main_slider_title'] ? printf( '<h2>%s</h2>', esc_html( $item['wpb_ea_main_slider_title'] ) ) : '';
609 $item['wpb_ea_main_slider_content'] ? printf( '%s', wp_kses_post( wpautop( ( $item['wpb_ea_main_slider_content'] ) ) ) ) : '';
610 if ( ! empty( $item['wpb_ea_main_slider_button_text'] ) ) :
611 echo '<div class="wpb-ea-button-primary btn-white wpb-ea-button-' . esc_attr( $settings['wpb_ea_main_slider_btn_type'] ) . '">';
612 ?>
613 <a <?php $this->print_render_attribute_string( 'wpb_ea_main_slider_button_url' ); ?>>
614 <?php echo esc_html( $item['wpb_ea_main_slider_button_text'] ); ?>
615 </a>
616 <?php
617 echo '</div>';
618 endif;
619 echo '</div>';
620 echo '</div>';
621 echo '</div>';
622 echo '</div>';
623 echo '</div>';
624 echo '</div>';
625 endif;
626 echo '</div>';
627 endforeach;
628 echo '</div>';
629 if ( $settings['show_preloader'] == 'yes' ) :
630 echo '<div class="slider_preloader">';
631 echo '<div class="slider_preloader_status">&nbsp;</div>';
632 echo '</div>';
633 endif;
634 echo '</div>';
635 endif;
636 }
637 }
638