PluginProbe
UiCore Elements – Free widgets and templates for Elementor / 1.0.7
UiCore Elements – Free widgets and templates for Elementor v1.0.7
1.3.17 1.3.16 trunk 1.0.0 1.0.1 1.0.10 1.0.11 1.0.12 1.0.13 1.0.14 1.0.15 1.0.16 1.0.2 1.0.3 1.0.4 1.0.5 1.0.6 1.0.7 1.0.8 1.0.9 1.2.0 1.2.1 1.2.2 1.2.3 1.2.4 All 41 releases
uicore-elements / includes / widgets / testimonial-slider.php

testimonial-slider.php in UiCore Elements – Free widgets and templates for Elementor 1.0.7, at includes/widgets/testimonial-slider.php

109 lines 3.5 KB
No matching file
Up and down to move Enter to open Esc to close
Raw Download Zip
1 <?php
2 namespace UiCoreElements;
3
4 defined('ABSPATH') || exit();
5
6 /**
7 * Testimonial Slider
8 *
9 * Use Testimonial Carousel as base
10 *
11 * @author Lucas Marini Falbo <lucas@uicore.co>
12 * @since 1.0.1
13 */
14
15 class TestimonialSlider extends TestimonialCarousel
16 {
17 public function get_name()
18 {
19 return 'uicore-testimonial-slider';
20 }
21 public function get_title()
22 {
23 return esc_html__('Testimonial Slider', 'uicore-elements');
24 }
25 public function get_icon()
26 {
27 return 'eicon-testimonial ui-e-widget';
28 }
29 public function get_keywords()
30 {
31 return ['testimonial', 'review', 'services', 'cards', 'box', 'client', 'slider'];
32 }
33 public function get_styles()
34 {
35 $styles = [
36 'testimonial-slider',
37 'animation', // hover animations
38 'entrance', // entrance basic style
39 ];
40 if(!class_exists('\UiCore\Core') && !class_exists('\UiCoreAnimate\Base')){
41 $styles['e-animations'] = [ // entrance animations
42 'external' => true,
43 ];
44 }
45 return $styles;
46 }
47 protected function register_controls() {
48
49 parent::register_controls(); // keep original controls
50
51 // Control Updates
52 $this->update_control('h_alignment', ['default' => 'center']);
53 // Default avatar size with one slide visible per time is too big, needs a decrease
54 $this->update_control( 'avatar_size',
55 [
56 'devices' => ['desktop', 'tablet', 'mobile'],
57 'default' => [
58 'size' => 10,
59 'unit' => '%'
60 ],
61 'tablet_default' => [
62 'size' => 15,
63 'unit' => '%'
64 ],
65 'mobile_default' => [
66 'size' => 40,
67 'unit' => '%'
68 ],
69 ]
70 );
71 // Change default border radius to zero
72 $this->update_control( 'item_border_radius', [
73 'default' => [
74 'top' => 0,
75 'right' => 0,
76 'bottom' => 0,
77 'left' => 0,
78 'unit' => 'px',
79 'isLinked' => true,
80 ],
81 ]);
82 // Add special animation slide
83 $this->update_control('animation_style',[
84 'default' => 'fade',
85 'options' => [
86 'coverflow' => esc_html__('Coverflow', 'uicore-elements'),
87 'fade' => esc_html__('Fade', 'uicore-elements'),
88 'cards' => esc_html__('Cards', 'uicore-elements'),
89 'flip' => esc_html__('Flip', 'uicore-elements'),
90 'creative' => esc_html__('Creative', 'uicore-elements'),
91 'stacked' => esc_html__('Stacked', 'uicore-elements'),
92 'circular_avatar' => esc_html__('Circular Avatar', 'uicore-elements'),
93 ]
94 ]);
95
96 // Remove item entrance and hover animation
97 $this->remove_control('animate_items');
98 $this->remove_control('item_hover_animation');
99
100 // Remove controls that are meant for carousel, not slide type widgets
101 $this->remove_responsive_control('slides_per_view');
102 $this->remove_control('show_hidden');
103 $this->remove_control('fade_edges');
104 $this->remove_control('fade_edges_alert');
105 $this->remove_control('match_height');
106 $this->remove_control('carousel_gap');
107 }
108 }
109 \Elementor\Plugin::instance()->widgets_manager->register(new TestimonialSlider());