PluginProbe
UiCore Elements – Free widgets and templates for Elementor / 1.3.17
UiCore Elements – Free widgets and templates for Elementor v1.3.17
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
← All changes | includes/utils/testimonial-component.php +842 -834 1.2.21.3.17 View file →
@@ -1,5 +1,6 @@
1 1 <?php
2 +
2 3 namespace UiCoreElements\Utils;
3 4
4 5 use Elementor\Controls_Manager;
5 6 use Elementor\Plugin;
@@ -16,9 +17,10 @@
16 17
17 18
18 19 defined('ABSPATH') || exit();
19 20
20 -trait Testimonial_Trait {
21 +trait Testimonial_Trait
22 +{
21 23
22 24 // Content Controls Functions
23 25 function TRAIT_register_testimonial_repeater_controls($logo)
24 26 {
@@ -25,137 +27,137 @@
25 27 $this->start_controls_section(
26 28 'section_reviewer_content',
27 29 [
28 30 /* translators: %s: Control title */
29 - 'label' => esc_html( sprintf('%s', $logo), 'uicore-elements'),
31 + 'label' => esc_html(sprintf('%s', $logo), 'uicore-elements'),
30 32 'tab' => Controls_Manager::TAB_CONTENT,
31 33 ]
32 34 );
33 35
34 - $repeater = new Repeater();
36 + $repeater = new Repeater();
35 37
36 - $repeater->add_control(
37 - 'avatar',
38 - [
39 - 'label' => __('Avatar', 'uicore-elements'),
40 - 'type' => Controls_Manager::MEDIA,
41 - 'render_type' => 'template',
42 - 'dynamic' => [
43 - 'active' => true,
38 + $repeater->add_control(
39 + 'avatar',
40 + [
41 + 'label' => __('Avatar', 'uicore-elements'),
42 + 'type' => Controls_Manager::MEDIA,
43 + 'render_type' => 'template',
44 + 'dynamic' => [
45 + 'active' => true,
46 + ],
47 + 'default' => [
48 + 'url' => Utils::get_placeholder_image_src(),
49 + ],
50 + ]
51 + );
52 + $repeater->add_control(
53 + 'reviewer_name',
54 + [
55 + 'label' => __('Name', 'uicore-elements'),
56 + 'type' => Controls_Manager::TEXT,
57 + 'dynamic' => [
58 + 'active' => true,
59 + ],
60 + 'default' => __('Adam Smith', 'uicore-elements'),
61 + 'placeholder' => __('Enter reviewer name', 'uicore-elements'),
62 + 'label_block' => true,
63 + ]
64 + );
65 + $repeater->add_control(
66 + 'reviewer_job_title',
67 + [
68 + 'label' => __('Job Title', 'uicore-elements'),
69 + 'type' => Controls_Manager::TEXT,
70 + 'dynamic' => [
71 + 'active' => true,
72 + ],
73 + 'default' => __('SEO Expert', 'uicore-elements'),
74 + 'placeholder' => __('Enter reviewer job title', 'uicore-elements'),
75 + 'label_block' => true,
76 + ]
77 + );
78 + $repeater->add_control(
79 + 'rating_number',
80 + [
81 + 'label' => __('Rating', 'uicore-elements'),
82 + 'type' => Controls_Manager::SLIDER,
83 + 'size_units' => ['px'],
84 + 'default' => [
85 + 'size' => 4.5,
86 + ],
87 + 'range' => [
88 + 'px' => [
89 + 'min' => 0,
90 + 'max' => 5,
91 + 'step' => .5,
44 92 ],
45 - 'default' => [
46 - 'url' => Utils::get_placeholder_image_src(),
93 + ],
94 + 'dynamic' => [
95 + 'active' => true,
96 + ],
97 + ]
98 + );
99 + $repeater->add_control(
100 + 'review_text',
101 + [
102 + 'label' => __('Review Text', 'uicore-elements'),
103 + 'type' => Controls_Manager::WYSIWYG,
104 + 'dynamic' => [
105 + 'active' => true,
106 + ],
107 + 'default' => __('Click edit button to change this text. Lorem ipsum dolor sit amet, consectetur adipiscing elit. Ut elit tellus, luctus nec ullamcorper mattis, pulvinar dapibus leo.', 'uicore-elements'),
108 + 'placeholder' => __('Enter review text', 'uicore-elements'),
109 + ]
110 + );
111 + $repeater->add_control(
112 + 'image',
113 + [
114 + 'label' => __('Secondary Image', 'uicore-elements'),
115 + 'type' => Controls_Manager::MEDIA,
116 + 'render_type' => 'template',
117 + 'dynamic' => [
118 + 'active' => true,
119 + ],
120 + 'default' => [
121 + 'url' => Utils::get_placeholder_image_src(),
122 + ],
123 + ]
124 + );
125 + $this->add_control(
126 + 'review_items',
127 + [
128 + 'show_label' => false,
129 + 'type' => Controls_Manager::REPEATER,
130 + 'fields' => $repeater->get_controls(),
131 + 'title_field' => '{{{ reviewer_name }}}',
132 + 'default' => [
133 + [
134 + 'reviewer_name' => __('Adam', 'uicore-elements'),
135 + 'reviewer_job_title' => __('SEO Expert', 'uicore-elements'),
47 136 ],
48 - ]
49 - );
50 - $repeater->add_control(
51 - 'reviewer_name',
52 - [
53 - 'label' => __('Name', 'uicore-elements'),
54 - 'type' => Controls_Manager::TEXT,
55 - 'dynamic' => [
56 - 'active' => true,
137 + [
138 + 'reviewer_name' => __('Karl', 'uicore-elements'),
139 + 'reviewer_job_title' => __('Designer', 'uicore-elements'),
57 140 ],
58 - 'default' => __('Adam Smith', 'uicore-elements'),
59 - 'placeholder' => __('Enter reviewer name', 'uicore-elements'),
60 - 'label_block' => true,
61 - ]
62 - );
63 - $repeater->add_control(
64 - 'reviewer_job_title',
65 - [
66 - 'label' => __('Job Title', 'uicore-elements'),
67 - 'type' => Controls_Manager::TEXT,
68 - 'dynamic' => [
69 - 'active' => true,
141 + [
142 + 'reviewer_name' => __('Maria', 'uicore-elements'),
143 + 'reviewer_job_title' => __('Developer', 'uicore-elements'),
70 144 ],
71 - 'default' => __('SEO Expert', 'uicore-elements'),
72 - 'placeholder' => __('Enter reviewer job title', 'uicore-elements'),
73 - 'label_block' => true,
74 - ]
75 - );
76 - $repeater->add_control(
77 - 'rating_number',
78 - [
79 - 'label' => __( 'Rating', 'uicore-elements' ),
80 - 'type' => Controls_Manager::SLIDER,
81 - 'size_units' => [ 'px' ],
82 - 'default' => [
83 - 'size' => 4.5,
145 + [
146 + 'reviewer_name' => __('Michael', 'uicore-elements'),
147 + 'reviewer_job_title' => __('Manager', 'uicore-elements'),
84 148 ],
85 - 'range' => [
86 - 'px' => [
87 - 'min' => 0,
88 - 'max' => 5,
89 - 'step' => .5,
90 - ],
149 + [
150 + 'reviewer_name' => __('Lena', 'uicore-elements'),
151 + 'reviewer_job_title' => __('CEO', 'uicore-elements'),
91 152 ],
92 - 'dynamic' => [
93 - 'active' => true,
153 + [
154 + 'reviewer_name' => __('Jennifer', 'uicore-elements'),
155 + 'reviewer_job_title' => __('Consultant', 'uicore-elements'),
94 156 ],
95 157 ]
96 - );
97 - $repeater->add_control(
98 - 'review_text',
99 - [
100 - 'label' => __('Review Text', 'uicore-elements'),
101 - 'type' => Controls_Manager::WYSIWYG,
102 - 'dynamic' => [
103 - 'active' => true,
104 - ],
105 - 'default' => __('Click edit button to change this text. Lorem ipsum dolor sit amet, consectetur adipiscing elit. Ut elit tellus, luctus nec ullamcorper mattis, pulvinar dapibus leo.', 'uicore-elements'),
106 - 'placeholder' => __('Enter review text', 'uicore-elements'),
107 - ]
108 - );
109 - $repeater->add_control(
110 - 'image',
111 - [
112 - 'label' => __('Secondary Image', 'uicore-elements'),
113 - 'type' => Controls_Manager::MEDIA,
114 - 'render_type' => 'template',
115 - 'dynamic' => [
116 - 'active' => true,
117 - ],
118 - 'default' => [
119 - 'url' => Utils::get_placeholder_image_src(),
120 - ],
121 - ]
122 - );
123 - $this->add_control(
124 - 'review_items',
125 - [
126 - 'show_label' => false,
127 - 'type' => Controls_Manager::REPEATER,
128 - 'fields' => $repeater->get_controls(),
129 - 'title_field' => '{{{ reviewer_name }}}',
130 - 'default' => [
131 - [
132 - 'reviewer_name' => __( 'Adam', 'uicore-elements' ),
133 - 'reviewer_job_title' => __( 'SEO Expert', 'uicore-elements' ),
134 - ],
135 - [
136 - 'reviewer_name' => __( 'Karl', 'uicore-elements' ),
137 - 'reviewer_job_title' => __( 'Designer', 'uicore-elements' ),
138 - ],
139 - [
140 - 'reviewer_name' => __( 'Maria', 'uicore-elements' ),
141 - 'reviewer_job_title' => __( 'Developer', 'uicore-elements' ),
142 - ],
143 - [
144 - 'reviewer_name' => __( 'Michael', 'uicore-elements' ),
145 - 'reviewer_job_title' => __( 'Manager', 'uicore-elements' ),
146 - ],
147 - [
148 - 'reviewer_name' => __( 'Lena', 'uicore-elements' ),
149 - 'reviewer_job_title' => __( 'CEO', 'uicore-elements' ),
150 - ],
151 - [
152 - 'reviewer_name' => __( 'Jennifer', 'uicore-elements' ),
153 - 'reviewer_job_title' => __( 'Consultant', 'uicore-elements' ),
154 - ],
155 - ]
156 - ]
157 - );
158 + ]
159 + );
158 160
159 161 $this->end_controls_section();
160 162 }
161 163 function TRAIT_register_testimonial_additional_controls()
@@ -201,14 +203,14 @@
201 203 );
202 204 $this->add_control(
203 205 'rating_type',
204 206 [
205 - 'label' => __( 'Rating Type', 'uicore-elements' ),
207 + 'label' => __('Rating Type', 'uicore-elements'),
206 208 'type' => Controls_Manager::SELECT,
207 209 'default' => 'star',
208 210 'options' => [
209 - 'star' => __( 'Star', 'uicore-elements' ),
210 - 'number' => __( 'Number', 'uicore-elements' ),
211 + 'star' => __('Star', 'uicore-elements'),
212 + 'number' => __('Number', 'uicore-elements'),
211 213 ],
212 214 'condition' => [
213 215 'show_reviewer_rating' => 'yes'
214 216 ]
@@ -285,17 +287,17 @@
285 287 'default' => 'flex-start',
286 288 'toggle' => false,
287 289 'options' => [
288 290 'flex-start' => [
289 - 'title' => __( 'Top', 'uicore-elements' ),
291 + 'title' => __('Top', 'uicore-elements'),
290 292 'icon' => 'eicon-v-align-top',
291 293 ],
292 294 'center' => [
293 - 'title' => __( 'Center', 'uicore-elements' ),
295 + 'title' => __('Center', 'uicore-elements'),
294 296 'icon' => 'eicon-v-align-middle',
295 297 ],
296 298 'flex-end' => [
297 - 'title' => __( 'Bottom', 'uicore-elements' ),
299 + 'title' => __('Bottom', 'uicore-elements'),
298 300 'icon' => 'eicon-v-align-bottom',
299 301 ],
300 302 ],
301 303 'selectors' => [
@@ -340,8 +342,9 @@
340 342 'title' => __('Justified', 'uicore-elements'),
341 343 'icon' => 'eicon-text-align-justify',
342 344 ],
343 345 ],
346 + 'default' => is_rtl() ? 'right' : 'left',
344 347 'prefix_class' => 'ui-e-h-align-',
345 348 'selectors' => [
346 349 '{{WRAPPER}} .ui-e-item' => 'text-align: {{VALUE}};',
347 350 ],
@@ -362,13 +365,18 @@
362 365 'center' => [
363 366 'title' => __('Center', 'uicore-elements'),
364 367 'icon' => 'eicon-align-center-v',
365 368 ],
369 + 'space-between' => [
370 + 'title' => __('Space Between', 'uicore-elements'),
371 + 'icon' => 'eicon-justify-space-between-v',
372 + ],
366 373 'end' => [
367 374 'title' => __('Bottom', 'uicore-elements'),
368 375 'icon' => 'eicon-align-end-v',
369 376 ],
370 377 ],
378 + 'prefix_class' => 'ui-e-v-align-',
371 379 'selectors' => [
372 380 '{{WRAPPER}} .ui-e-item' => '--ui-e-content-v-alignment: {{VALUE}};',
373 381 ]
374 382 ]
@@ -388,182 +396,182 @@
388 396 ]
389 397 ]
390 398 );
391 399
392 - $this->add_group_control(
393 - Group_Control_Border::get_type(),
394 - [
395 - 'name' => 'avatar_border',
396 - 'selector' => '{{WRAPPER}} .ui-e-testimonial-avatar img'
397 - ]
398 - );
399 - $this->add_control(
400 - 'avatar_radius',
401 - [
402 - 'label' => esc_html__('Border Radius', 'uicore-elements'),
403 - 'type' => Controls_Manager::DIMENSIONS,
404 - 'size_units' => ['px', 'em', '%'],
405 - 'selectors' => [
406 - '{{WRAPPER}} .ui-e-testimonial-avatar img' => 'border-radius: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};',
400 + $this->add_group_control(
401 + Group_Control_Border::get_type(),
402 + [
403 + 'name' => 'avatar_border',
404 + 'selector' => '{{WRAPPER}} .ui-e-testimonial-avatar img'
405 + ]
406 + );
407 + $this->add_control(
408 + 'avatar_radius',
409 + [
410 + 'label' => esc_html__('Border Radius', 'uicore-elements'),
411 + 'type' => Controls_Manager::DIMENSIONS,
412 + 'size_units' => ['px', 'em', '%'],
413 + 'selectors' => [
414 + '{{WRAPPER}} .ui-e-testimonial-avatar img' => 'border-radius: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};',
415 + ],
416 + ]
417 + );
418 + $this->add_responsive_control(
419 + 'avatar_padding',
420 + [
421 + 'label' => __('Padding', 'uicore-elements'),
422 + 'type' => Controls_Manager::DIMENSIONS,
423 + 'size_units' => ['px', 'em', '%'],
424 + 'selectors' => [
425 + '{{WRAPPER}} .ui-e-testimonial-avatar img' => 'padding: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};',
426 + ],
427 + ]
428 + );
429 + $this->add_responsive_control(
430 + 'avatar_size',
431 + [
432 + 'label' => __('Size', 'uicore-elements'),
433 + 'type' => Controls_Manager::SLIDER,
434 + 'size_units' => ['px', '%'],
435 + 'default' => [
436 + 'size' => 120,
437 + 'unit' => 'px'
438 + ],
439 + 'range' => [
440 + '%' => [
441 + 'min' => 1,
442 + 'max' => 100,
407 443 ],
408 - ]
409 - );
410 - $this->add_responsive_control(
411 - 'avatar_padding',
412 - [
413 - 'label' => __('Padding', 'uicore-elements'),
414 - 'type' => Controls_Manager::DIMENSIONS,
415 - 'size_units' => ['px', 'em', '%'],
416 - 'selectors' => [
417 - '{{WRAPPER}} .ui-e-testimonial-avatar img' => 'padding: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};',
418 - ],
419 - ]
420 - );
421 - $this->add_responsive_control(
422 - 'avatar_size',
423 - [
424 - 'label' => __('Size', 'uicore-elements'),
425 - 'type' => Controls_Manager::SLIDER,
426 - 'size_units' => [ 'px', '%' ],
427 - 'default' => [
428 - 'size' => 120,
429 - 'unit' => 'px'
430 - ],
431 - 'range' => [
432 - '%' => [
433 - 'min' => 1,
434 - 'max' => 100,
435 - ],
436 - 'px' => [
437 - 'min' => 10,
438 - 'max' => 500,
439 - ]
440 - ],
441 - 'description' => __('Using `%` might make image height fits the available space, depending on layout and inline options, cutting the image. Using `px` althougt adjust the image.', 'uicore-elements'),
442 - 'selectors' => [
443 - '{{WRAPPER}}' => '--ui-e-avatar-size: {{SIZE}}{{UNIT}};',
444 - ],
445 - 'render_type' => 'template',
446 - 'condition' => [
447 - 'layout!' => 'layout_5',
444 + 'px' => [
445 + 'min' => 10,
446 + 'max' => 500,
448 447 ]
448 + ],
449 + 'description' => __('Using `%` might make image height fits the available space, depending on layout and inline options, cutting the image. Using `px` althougt adjust the image.', 'uicore-elements'),
450 + 'selectors' => [
451 + '{{WRAPPER}}' => '--ui-e-avatar-size: {{SIZE}}{{UNIT}};',
452 + ],
453 + 'render_type' => 'template',
454 + 'condition' => [
455 + 'layout!' => 'layout_5',
449 456 ]
450 - );
451 - $this->add_responsive_control(
452 - 'avatar_size_px',
453 - [
454 - 'label' => __('Size', 'uicore-elements'),
455 - 'type' => Controls_Manager::SLIDER,
456 - 'default' => [
457 - 'size' => 80,
458 - 'unit' => 'px'
457 + ]
458 + );
459 + $this->add_responsive_control(
460 + 'avatar_size_px',
461 + [
462 + 'label' => __('Size', 'uicore-elements'),
463 + 'type' => Controls_Manager::SLIDER,
464 + 'default' => [
465 + 'size' => 80,
466 + 'unit' => 'px'
467 + ],
468 + 'range' => [
469 + 'px' => [
470 + 'min' => 1,
471 + 'max' => 250,
459 472 ],
460 - 'range' => [
461 - 'px' => [
462 - 'min' => 1,
463 - 'max' => 250,
464 - ],
465 - ],
466 - 'selectors' => [
467 - '{{WRAPPER}}' => '--ui-e-avatar-size: {{SIZE}}{{UNIT}};',
468 - ],
469 - 'condition' => [
470 - 'layout' => 'layout_5',
471 - ]
473 + ],
474 + 'selectors' => [
475 + '{{WRAPPER}}' => '--ui-e-avatar-size: {{SIZE}}{{UNIT}};',
476 + ],
477 + 'condition' => [
478 + 'layout' => 'layout_5',
472 479 ]
473 - );
474 - $this->add_responsive_control(
475 - 'avatar_spacing',
476 - [
477 - 'label' => __('Spacing', 'uicore-elements'),
478 - 'type' => Controls_Manager::SLIDER,
479 - 'default' => [
480 - 'size' => 15,
480 + ]
481 + );
482 + $this->add_responsive_control(
483 + 'avatar_spacing',
484 + [
485 + 'label' => __('Spacing', 'uicore-elements'),
486 + 'type' => Controls_Manager::SLIDER,
487 + 'default' => [
488 + 'size' => 15,
489 + ],
490 + 'selectors' => [
491 + '{{WRAPPER}}' => '--ui-e-avatar-spacing: {{SIZE}}{{UNIT}}'
492 + ],
493 + ]
494 + );
495 + $this->add_group_control(
496 + Group_Control_Box_Shadow::get_type(),
497 + [
498 + 'name' => 'avatar_shadow',
499 + 'selector' => '{{WRAPPER}} .ui-e-testimonial-avatar img'
500 + ]
501 + );
502 + $this->add_control(
503 + 'avatar_offset_toggle',
504 + [
505 + 'label' => __('Offset', 'uicore-elements'),
506 + 'type' => Controls_Manager::POPOVER_TOGGLE,
507 + 'label_off' => __('None', 'uicore-elements'),
508 + 'label_on' => __('Custom', 'uicore-elements'),
509 + 'return_value' => 'yes',
510 + ]
511 + );
512 + $this->start_popover();
513 +
514 + $this->add_responsive_control(
515 + 'avatar_horizontal_offset',
516 + [
517 + 'label' => __('Horizontal', 'uicore-elements'),
518 + 'type' => Controls_Manager::SLIDER,
519 + 'default' => [
520 + 'size' => 0,
521 + ],
522 + 'tablet_default' => [
523 + 'size' => 0,
524 + ],
525 + 'mobile_default' => [
526 + 'size' => 0,
527 + ],
528 + 'range' => [
529 + 'px' => [
530 + 'min' => -200,
531 + 'max' => 200,
481 532 ],
482 - 'selectors' => [
483 - '{{WRAPPER}}' => '--ui-e-avatar-spacing: {{SIZE}}{{UNIT}}'
533 + ],
534 + 'condition' => [
535 + 'avatar_offset_toggle' => 'yes'
536 + ],
537 + 'render_type' => 'ui',
538 + 'selectors' => [
539 + '{{WRAPPER}}' => '--ui-e-avatar-h-offset: {{SIZE}}px;'
540 + ],
541 + ]
542 + );
543 + $this->add_responsive_control(
544 + 'avatar_vertical_offset',
545 + [
546 + 'label' => __('Vertical', 'uicore-elements'),
547 + 'type' => Controls_Manager::SLIDER,
548 + 'default' => [
549 + 'size' => 0,
550 + ],
551 + 'tablet_default' => [
552 + 'size' => 0,
553 + ],
554 + 'mobile_default' => [
555 + 'size' => 0,
556 + ],
557 + 'range' => [
558 + 'px' => [
559 + 'min' => -200,
560 + 'max' => 200,
484 561 ],
485 - ]
486 - );
487 - $this->add_group_control(
488 - Group_Control_Box_Shadow::get_type(),
489 - [
490 - 'name' => 'avatar_shadow',
491 - 'selector' => '{{WRAPPER}} .ui-e-testimonial-avatar img'
492 - ]
493 - );
494 - $this->add_control(
495 - 'avatar_offset_toggle',
496 - [
497 - 'label' => __('Offset', 'uicore-elements'),
498 - 'type' => Controls_Manager::POPOVER_TOGGLE,
499 - 'label_off' => __('None', 'uicore-elements'),
500 - 'label_on' => __('Custom', 'uicore-elements'),
501 - 'return_value' => 'yes',
502 - ]
503 - );
504 - $this->start_popover();
562 + ],
563 + 'condition' => [
564 + 'avatar_offset_toggle' => 'yes'
565 + ],
566 + 'render_type' => 'ui',
567 + 'selectors' => [
568 + '{{WRAPPER}}' => '--ui-e-avatar-v-offset: {{SIZE}}px;'
569 + ],
570 + ]
571 + );
572 + $this->end_popover();
505 573
506 - $this->add_responsive_control(
507 - 'avatar_horizontal_offset',
508 - [
509 - 'label' => __('Horizontal', 'uicore-elements'),
510 - 'type' => Controls_Manager::SLIDER,
511 - 'default' => [
512 - 'size' => 0,
513 - ],
514 - 'tablet_default' => [
515 - 'size' => 0,
516 - ],
517 - 'mobile_default' => [
518 - 'size' => 0,
519 - ],
520 - 'range' => [
521 - 'px' => [
522 - 'min' => -200,
523 - 'max' => 200,
524 - ],
525 - ],
526 - 'condition' => [
527 - 'avatar_offset_toggle' => 'yes'
528 - ],
529 - 'render_type' => 'ui',
530 - 'selectors' => [
531 - '{{WRAPPER}}' => '--ui-e-avatar-h-offset: {{SIZE}}px;'
532 - ],
533 - ]
534 - );
535 - $this->add_responsive_control(
536 - 'avatar_vertical_offset',
537 - [
538 - 'label' => __('Vertical', 'uicore-elements'),
539 - 'type' => Controls_Manager::SLIDER,
540 - 'default' => [
541 - 'size' => 0,
542 - ],
543 - 'tablet_default' => [
544 - 'size' => 0,
545 - ],
546 - 'mobile_default' => [
547 - 'size' => 0,
548 - ],
549 - 'range' => [
550 - 'px' => [
551 - 'min' => -200,
552 - 'max' => 200,
553 - ],
554 - ],
555 - 'condition' => [
556 - 'avatar_offset_toggle' => 'yes'
557 - ],
558 - 'render_type' => 'ui',
559 - 'selectors' => [
560 - '{{WRAPPER}}' => '--ui-e-avatar-v-offset: {{SIZE}}px;'
561 - ],
562 - ]
563 - );
564 - $this->end_popover();
565 -
566 574 $this->end_controls_section();
567 575 $this->start_controls_section(
568 576 'section_style_image',
569 577 [
@@ -573,115 +581,115 @@
573 581 'show_reviewer_image' => 'yes'
574 582 ]
575 583 ]
576 584 );
577 - $this->add_control(
578 - 'image_size',
579 - [
580 - 'label' => __('Size', 'uicore-elements'),
581 - 'type' => Controls_Manager::SLIDER,
582 - 'default' => [
583 - 'size' => 40,
584 - 'unit' => 'px'
585 + $this->add_responsive_control(
586 + 'image_size',
587 + [
588 + 'label' => __('Size', 'uicore-elements'),
589 + 'type' => Controls_Manager::SLIDER,
590 + 'default' => [
591 + 'size' => 40,
592 + 'unit' => 'px'
593 + ],
594 + 'range' => [
595 + 'px' => [
596 + 'min' => 10,
597 + 'max' => 500,
585 598 ],
586 - 'range' => [
587 - 'px' => [
588 - 'min' => 10,
589 - 'max' => 500,
590 - ],
591 - ],
592 - 'selectors' => [
593 - '{{WRAPPER}}' => '--ui-e-image-size: {{SIZE}}{{UNIT}};',
594 - ],
599 + ],
600 + 'selectors' => [
601 + '{{WRAPPER}}' => '--ui-e-image-size: {{SIZE}}{{UNIT}};',
602 + ],
603 + ]
604 + );
605 + $this->add_responsive_control(
606 + 'image_spacing',
607 + [
608 + 'label' => __('Spacing', 'uicore-elements'),
609 + 'type' => Controls_Manager::SLIDER,
610 + 'default' => [
611 + 'size' => 15,
612 + ],
613 + 'selectors' => [
614 + '{{WRAPPER}}' => '--ui-e-img-spacing: {{SIZE}}{{UNIT}}'
615 + ],
616 + 'condition' => [
617 + 'layout!' => ['layout_2', 'layout_4', 'layout_6'],
595 618 ]
596 - );
597 - $this->add_control(
598 - 'image_spacing',
599 - [
600 - 'label' => __('Spacing', 'uicore-elements'),
601 - 'type' => Controls_Manager::SLIDER,
602 - 'default' => [
603 - 'size' => 15,
619 + ]
620 + );
621 + $this->add_control(
622 + 'image_offset_toggle',
623 + [
624 + 'label' => __('Offset', 'uicore-elements'),
625 + 'type' => Controls_Manager::POPOVER_TOGGLE,
626 + 'label_off' => __('None', 'uicore-elements'),
627 + 'label_on' => __('Custom', 'uicore-elements'),
628 + 'return_value' => 'yes',
629 + ]
630 + );
631 + $this->start_popover();
632 +
633 + $this->add_responsive_control(
634 + 'image_horizontal_offset',
635 + [
636 + 'label' => __('Horizontal', 'uicore-elements'),
637 + 'type' => Controls_Manager::SLIDER,
638 + 'default' => [
639 + 'size' => 0,
640 + ],
641 + 'tablet_default' => [
642 + 'size' => 0,
643 + ],
644 + 'mobile_default' => [
645 + 'size' => 0,
646 + ],
647 + 'range' => [
648 + 'px' => [
649 + 'min' => -200,
650 + 'max' => 200,
604 651 ],
605 - 'selectors' => [
606 - '{{WRAPPER}}' => '--ui-e-img-spacing: {{SIZE}}{{UNIT}}'
652 + ],
653 + 'condition' => [
654 + 'image_offset_toggle' => 'yes'
655 + ],
656 + 'render_type' => 'ui',
657 + 'selectors' => [
658 + '{{WRAPPER}}' => '--ui-e-img-h-offset: {{SIZE}}px;'
659 + ],
660 + ]
661 + );
662 + $this->add_responsive_control(
663 + 'image_vertical_offset',
664 + [
665 + 'label' => __('Vertical', 'uicore-elements'),
666 + 'type' => Controls_Manager::SLIDER,
667 + 'default' => [
668 + 'size' => 0,
669 + ],
670 + 'tablet_default' => [
671 + 'size' => 0,
672 + ],
673 + 'mobile_default' => [
674 + 'size' => 0,
675 + ],
676 + 'range' => [
677 + 'px' => [
678 + 'min' => -200,
679 + 'max' => 200,
607 680 ],
608 - 'condition' => [
609 - 'layout!' => ['layout_2', 'layout_4', 'layout_6'],
610 - ]
611 - ]
612 - );
613 - $this->add_control(
614 - 'image_offset_toggle',
615 - [
616 - 'label' => __('Offset', 'uicore-elements'),
617 - 'type' => Controls_Manager::POPOVER_TOGGLE,
618 - 'label_off' => __('None', 'uicore-elements'),
619 - 'label_on' => __('Custom', 'uicore-elements'),
620 - 'return_value' => 'yes',
621 - ]
622 - );
623 - $this->start_popover();
624 -
625 - $this->add_responsive_control(
626 - 'image_horizontal_offset',
627 - [
628 - 'label' => __('Horizontal', 'uicore-elements'),
629 - 'type' => Controls_Manager::SLIDER,
630 - 'default' => [
631 - 'size' => 0,
632 - ],
633 - 'tablet_default' => [
634 - 'size' => 0,
635 - ],
636 - 'mobile_default' => [
637 - 'size' => 0,
638 - ],
639 - 'range' => [
640 - 'px' => [
641 - 'min' => -200,
642 - 'max' => 200,
643 - ],
644 - ],
645 - 'condition' => [
646 - 'image_offset_toggle' => 'yes'
647 - ],
648 - 'render_type' => 'ui',
649 - 'selectors' => [
650 - '{{WRAPPER}}' => '--ui-e-img-h-offset: {{SIZE}}px;'
651 - ],
652 - ]
653 - );
654 - $this->add_responsive_control(
655 - 'image_vertical_offset',
656 - [
657 - 'label' => __('Vertical', 'uicore-elements'),
658 - 'type' => Controls_Manager::SLIDER,
659 - 'default' => [
660 - 'size' => 0,
661 - ],
662 - 'tablet_default' => [
663 - 'size' => 0,
664 - ],
665 - 'mobile_default' => [
666 - 'size' => 0,
667 - ],
668 - 'range' => [
669 - 'px' => [
670 - 'min' => -200,
671 - 'max' => 200,
672 - ],
673 - ],
674 - 'condition' => [
675 - 'image_offset_toggle' => 'yes'
676 - ],
677 - 'render_type' => 'ui',
678 - 'selectors' => [
679 - '{{WRAPPER}}' => '--ui-e-img-v-offset: {{SIZE}}px;'
680 - ],
681 - ]
682 - );
683 - $this->end_popover();
681 + ],
682 + 'condition' => [
683 + 'image_offset_toggle' => 'yes'
684 + ],
685 + 'render_type' => 'ui',
686 + 'selectors' => [
687 + '{{WRAPPER}}' => '--ui-e-img-v-offset: {{SIZE}}px;'
688 + ],
689 + ]
690 + );
691 + $this->end_popover();
684 692 $this->end_controls_section();
685 693 }
686 694 function register_testimonial_name_controls()
687 695 {
@@ -695,59 +703,59 @@
695 703 ]
696 704 ]
697 705 );
698 706
699 - $this->add_control(
700 - 'name_color',
701 - [
702 - 'label' => __('Color', 'uicore-elements'),
703 - 'type' => Controls_Manager::COLOR,
704 - 'selectors' => [
705 - '{{WRAPPER}} .ui-e-testimonial-name' => 'color: {{VALUE}};',
707 + $this->add_control(
708 + 'name_color',
709 + [
710 + 'label' => __('Color', 'uicore-elements'),
711 + 'type' => Controls_Manager::COLOR,
712 + 'selectors' => [
713 + '{{WRAPPER}} .ui-e-testimonial-name' => 'color: {{VALUE}};',
714 + ],
715 + ]
716 + );
717 + $this->add_control(
718 + 'name_hover_color',
719 + [
720 + 'label' => __('Hover Color', 'uicore-elements'),
721 + 'type' => Controls_Manager::COLOR,
722 + 'selectors' => [
723 + '{{WRAPPER}} .ui-e-item:hover .ui-e-testimonial-name' => 'color: {{VALUE}};',
724 + ],
725 + ]
726 + );
727 + $this->add_responsive_control(
728 + 'name_bottom_space',
729 + [
730 + 'label' => __('Spacing', 'uicore-elements'),
731 + 'type' => Controls_Manager::SLIDER,
732 + 'range' => [
733 + 'px' => [
734 + 'min' => 0,
735 + 'max' => 100,
706 736 ],
707 - ]
708 - );
709 - $this->add_control(
710 - 'name_hover_color',
711 - [
712 - 'label' => __('Hover Color', 'uicore-elements'),
713 - 'type' => Controls_Manager::COLOR,
714 - 'selectors' => [
715 - '{{WRAPPER}} .ui-e-item:hover .ui-e-testimonial-name' => 'color: {{VALUE}};',
716 - ],
717 - ]
718 - );
719 - $this->add_control(
720 - 'name_bottom_space',
721 - [
722 - 'label' => __('Spacing', 'uicore-elements'),
723 - 'type' => Controls_Manager::SLIDER,
724 - 'range' => [
725 - 'px' => [
726 - 'min' => 0,
727 - 'max' => 100,
728 - ],
729 - ],
730 - 'selectors' => [
731 - '{{WRAPPER}} .ui-e-testimonial-name' => 'padding-bottom: {{SIZE}}{{UNIT}};',
732 - ],
733 - ]
734 - );
735 - $this->add_group_control(
736 - Group_Control_Typography::get_type(),
737 - [
738 - 'name' => 'name_typography',
739 - 'selector' => '{{WRAPPER}} .ui-e-testimonial-name',
740 - ]
741 - );
742 - $this->add_group_control(
743 - Group_Control_Text_Shadow::get_type(),
744 - [
745 - 'name' => 'name_shadow',
746 - 'label' => __( 'Text Shadow', 'uicore-elements' ),
747 - 'selector' => '{{WRAPPER}} .ui-e-testimonial-name',
748 - ]
749 - );
737 + ],
738 + 'selectors' => [
739 + '{{WRAPPER}} .ui-e-testimonial-name' => 'padding-bottom: {{SIZE}}{{UNIT}};',
740 + ],
741 + ]
742 + );
743 + $this->add_group_control(
744 + Group_Control_Typography::get_type(),
745 + [
746 + 'name' => 'name_typography',
747 + 'selector' => '{{WRAPPER}} .ui-e-testimonial-name',
748 + ]
749 + );
750 + $this->add_group_control(
751 + Group_Control_Text_Shadow::get_type(),
752 + [
753 + 'name' => 'name_shadow',
754 + 'label' => __('Text Shadow', 'uicore-elements'),
755 + 'selector' => '{{WRAPPER}} .ui-e-testimonial-name',
756 + ]
757 + );
750 758
751 759 $this->end_controls_section();
752 760 }
753 761 function register_testimonial_job_controls()
@@ -762,55 +770,55 @@
762 770 ]
763 771 ]
764 772 );
765 773
766 - $this->add_control(
767 - 'job_title_color',
768 - [
769 - 'label' => __('Color', 'uicore-elements'),
770 - 'type' => Controls_Manager::COLOR,
771 - 'selectors' => [
772 - '{{WRAPPER}} .ui-e-testimonial-job-title' => 'color: {{VALUE}};',
774 + $this->add_control(
775 + 'job_title_color',
776 + [
777 + 'label' => __('Color', 'uicore-elements'),
778 + 'type' => Controls_Manager::COLOR,
779 + 'selectors' => [
780 + '{{WRAPPER}} .ui-e-testimonial-job-title' => 'color: {{VALUE}};',
781 + ],
782 + ]
783 + );
784 + $this->add_control(
785 + 'job_title_hover_color',
786 + [
787 + 'label' => __('Hover Color', 'uicore-elements'),
788 + 'type' => Controls_Manager::COLOR,
789 + 'selectors' => [
790 + '{{WRAPPER}} .ui-e-item:hover .ui-e-testimonial-job-title' => 'color: {{VALUE}};',
791 + ],
792 + ]
793 + );
794 + $this->add_responsive_control(
795 + 'job_title_bottom_space',
796 + [
797 + 'label' => __('Spacing', 'uicore-elements'),
798 + 'type' => Controls_Manager::SLIDER,
799 + 'range' => [
800 + 'px' => [
801 + 'min' => 0,
802 + 'max' => 100,
773 803 ],
774 - ]
775 - );
776 - $this->add_control(
777 - 'job_title_hover_color',
778 - [
779 - 'label' => __('Hover Color', 'uicore-elements'),
780 - 'type' => Controls_Manager::COLOR,
781 - 'selectors' => [
782 - '{{WRAPPER}} .ui-e-item:hover .ui-e-testimonial-job-title' => 'color: {{VALUE}};',
783 - ],
784 - ]
785 - );
786 - $this->add_control(
787 - 'job_title_bottom_space',
788 - [
789 - 'label' => __('Spacing', 'uicore-elements'),
790 - 'type' => Controls_Manager::SLIDER,
791 - 'range' => [
792 - 'px' => [
793 - 'min' => 0,
794 - 'max' => 100,
795 - ],
796 - ],
797 - 'default' => [
798 - 'size' => 10,
799 - 'unit' => 'px'
800 - ],
801 - 'selectors' => [
802 - '{{WRAPPER}} .ui-e-testimonial-job-title' => 'padding-bottom: {{SIZE}}{{UNIT}};',
803 - ],
804 - ]
805 - );
806 - $this->add_group_control(
807 - Group_Control_Typography::get_type(),
808 - [
809 - 'name' => 'job_title_typography',
810 - 'selector' => '{{WRAPPER}} .ui-e-testimonial-job-title',
811 - ]
812 - );
804 + ],
805 + 'default' => [
806 + 'size' => 10,
807 + 'unit' => 'px'
808 + ],
809 + 'selectors' => [
810 + '{{WRAPPER}} .ui-e-testimonial-job-title' => 'padding-bottom: {{SIZE}}{{UNIT}};',
811 + ],
812 + ]
813 + );
814 + $this->add_group_control(
815 + Group_Control_Typography::get_type(),
816 + [
817 + 'name' => 'job_title_typography',
818 + 'selector' => '{{WRAPPER}} .ui-e-testimonial-job-title',
819 + ]
820 + );
813 821
814 822 $this->end_controls_section();
815 823 }
816 824 function register_testimonial_text_controls()
@@ -825,55 +833,55 @@
825 833 ]
826 834 ]
827 835 );
828 836
829 - $this->add_control(
830 - 'text_color',
831 - [
832 - 'label' => __('Color', 'uicore-elements'),
833 - 'type' => Controls_Manager::COLOR,
834 - 'selectors' => [
835 - '{{WRAPPER}} .ui-e-testimonial-text' => 'color: {{VALUE}};',
837 + $this->add_control(
838 + 'text_color',
839 + [
840 + 'label' => __('Color', 'uicore-elements'),
841 + 'type' => Controls_Manager::COLOR,
842 + 'selectors' => [
843 + '{{WRAPPER}} .ui-e-testimonial-text' => 'color: {{VALUE}};',
844 + ],
845 + ]
846 + );
847 + $this->add_control(
848 + 'text_hover_color',
849 + [
850 + 'label' => __('Hover Color', 'uicore-elements'),
851 + 'type' => Controls_Manager::COLOR,
852 + 'selectors' => [
853 + '{{WRAPPER}} .ui-e-item:hover .ui-e-testimonial-text' => 'color: {{VALUE}};',
854 + ],
855 + ]
856 + );
857 + $this->add_group_control(
858 + Group_Control_Typography::get_type(),
859 + [
860 + 'name' => 'text_typography',
861 + 'selector' => '{{WRAPPER}} .ui-e-testimonial-text',
862 + ]
863 + );
864 + $this->add_responsive_control(
865 + 'text_bottom_space',
866 + [
867 + 'label' => __('Spacing', 'uicore-elements'),
868 + 'type' => Controls_Manager::SLIDER,
869 + 'range' => [
870 + 'px' => [
871 + 'min' => 0,
872 + 'max' => 100,
836 873 ],
837 - ]
838 - );
839 - $this->add_control(
840 - 'text_hover_color',
841 - [
842 - 'label' => __('Hover Color', 'uicore-elements'),
843 - 'type' => Controls_Manager::COLOR,
844 - 'selectors' => [
845 - '{{WRAPPER}} .ui-e-item:hover .ui-e-testimonial-text' => 'color: {{VALUE}};',
846 - ],
847 - ]
848 - );
849 - $this->add_group_control(
850 - Group_Control_Typography::get_type(),
851 - [
852 - 'name' => 'text_typography',
853 - 'selector' => '{{WRAPPER}} .ui-e-testimonial-text',
854 - ]
855 - );
856 - $this->add_control(
857 - 'text_bottom_space',
858 - [
859 - 'label' => __('Spacing', 'uicore-elements'),
860 - 'type' => Controls_Manager::SLIDER,
861 - 'range' => [
862 - 'px' => [
863 - 'min' => 0,
864 - 'max' => 100,
865 - ],
866 - ],
867 - 'default' => [
868 - 'size' => 15,
869 - 'unit' => 'px'
870 - ],
871 - 'selectors' => [
872 - '{{WRAPPER}} .ui-e-testimonial-text' => 'padding-bottom: {{SIZE}}{{UNIT}};',
873 - ],
874 - ]
875 - );
874 + ],
875 + 'default' => [
876 + 'size' => 15,
877 + 'unit' => 'px'
878 + ],
879 + 'selectors' => [
880 + '{{WRAPPER}} .ui-e-testimonial-text' => 'padding-bottom: {{SIZE}}{{UNIT}};',
881 + ],
882 + ]
883 + );
876 884
877 885 $this->end_controls_section();
878 886 }
879 887 function register_testimonial_rating_controls()
@@ -888,75 +896,34 @@
888 896 ],
889 897 ]
890 898 );
891 899
892 - // If SVG inline, we only need one color control because the semi-star bg color hack is not enabled with this experiment
893 - if(Plugin::$instance->experiments->is_feature_active('e_font_icon_svg')) {
894 - $this->add_control(
895 - 'active_rating_color',
896 - [
897 - 'label' => esc_html__('Color', 'uicore-elements'),
898 - 'type' => Controls_Manager::COLOR,
899 - 'default' => '#ffab1a',
900 - 'selectors' => [
901 - '{{WRAPPER}} .ui-e-testimonial-rating svg' => 'fill: {{VALUE}};',
902 - ],
903 - 'condition' => [
904 - 'rating_type' => 'star',
905 - ],
906 - ]
907 - );
908 - // Without the experiment, two colors are usefull because <i> elements can be cut and printed as decimal-stars
909 - } else {
910 - $this->add_control(
911 - 'active_rating_color',
912 - [
913 - 'label' => esc_html__('Active Color', 'uicore-elements'),
914 - 'type' => Controls_Manager::COLOR,
915 - 'default' => '#ffab1a',
916 - 'selectors' => [
917 - '{{WRAPPER}} .ui-e-testimonial-rating .ui-e-marked i' => 'color: {{VALUE}};',
918 - ],
919 - 'condition' => [
920 - 'rating_type' => 'star',
921 - ],
922 - ]
923 - );
924 - $this->add_control(
925 - 'rating_color',
926 - [
927 - 'label' => esc_html__('Color', 'uicore-elements'),
928 - 'type' => Controls_Manager::COLOR,
929 - 'default' => '#ccd6df',
930 - 'selectors' => [
931 - '{{WRAPPER}} .ui-e-testimonial-rating .ui-e-unmarked i' => 'color: {{VALUE}};',
932 - ],
933 - 'condition' => [
934 - 'rating_type' => 'star',
935 - ],
936 - ]
937 - );
938 - }
900 + // If SVG inline, we only need one color control because the semi-star bg color hack is not enabled with this experiment
901 + if (Plugin::$instance->experiments->is_feature_active('e_font_icon_svg')) {
939 902 $this->add_control(
940 - 'rating_number_color',
903 + 'active_rating_color',
941 904 [
942 905 'label' => esc_html__('Color', 'uicore-elements'),
943 906 'type' => Controls_Manager::COLOR,
907 + 'default' => '#ffab1a',
944 908 'selectors' => [
945 - '{{WRAPPER}} .ui-e-testimonial-rating' => 'color: {{VALUE}};',
909 + '{{WRAPPER}} .ui-e-testimonial-rating svg' => 'fill: {{VALUE}};',
946 910 ],
947 911 'condition' => [
948 - 'rating_type' => 'number',
912 + 'rating_type' => 'star',
949 913 ],
950 914 ]
951 915 );
916 + // Without the experiment, two colors are usefull because <i> elements can be cut and printed as decimal-stars
917 + } else {
952 918 $this->add_control(
953 - 'rating_background',
919 + 'active_rating_color',
954 920 [
955 - 'label' => __( 'Background Color', 'uicore-elements' ),
956 - 'type' => Controls_Manager::COLOR,
921 + 'label' => esc_html__('Active Color', 'uicore-elements'),
922 + 'type' => Controls_Manager::COLOR,
923 + 'default' => '#ffab1a',
957 924 'selectors' => [
958 - '{{WRAPPER}} .ui-e-testimonial-rating' => 'background-color: {{VALUE}};',
925 + '{{WRAPPER}} .ui-e-testimonial-rating .ui-e-marked i' => 'color: {{VALUE}};',
959 926 ],
960 927 'condition' => [
961 928 'rating_type' => 'star',
962 929 ],
@@ -962,99 +929,139 @@
962 929 ],
963 930 ]
964 931 );
965 932 $this->add_control(
966 - 'rating_number_background',
933 + 'rating_color',
967 934 [
968 - 'label' => __( 'Background Color', 'uicore-elements' ),
969 - 'type' => Controls_Manager::COLOR,
935 + 'label' => esc_html__('Color', 'uicore-elements'),
936 + 'type' => Controls_Manager::COLOR,
937 + 'default' => '#ccd6df',
970 938 'selectors' => [
971 - '{{WRAPPER}} .ui-e-testimonial-rating' => 'background-color: {{VALUE}};',
939 + '{{WRAPPER}} .ui-e-testimonial-rating .ui-e-unmarked i' => 'color: {{VALUE}};',
972 940 ],
973 - 'global' => [
974 - 'default' => Global_Colors::COLOR_PRIMARY,
975 - ],
976 941 'condition' => [
977 - 'rating_type' => 'number',
942 + 'rating_type' => 'star',
978 943 ],
979 944 ]
980 945 );
946 + }
947 + $this->add_control(
948 + 'rating_number_color',
949 + [
950 + 'label' => esc_html__('Color', 'uicore-elements'),
951 + 'type' => Controls_Manager::COLOR,
952 + 'selectors' => [
953 + '{{WRAPPER}} .ui-e-testimonial-rating' => 'color: {{VALUE}};',
954 + ],
955 + 'condition' => [
956 + 'rating_type' => 'number',
957 + ],
958 + ]
959 + );
960 + $this->add_control(
961 + 'rating_background',
962 + [
963 + 'label' => __('Background Color', 'uicore-elements'),
964 + 'type' => Controls_Manager::COLOR,
965 + 'selectors' => [
966 + '{{WRAPPER}} .ui-e-testimonial-rating' => 'background-color: {{VALUE}};',
967 + ],
968 + 'condition' => [
969 + 'rating_type' => 'star',
970 + ],
971 + ]
972 + );
973 + $this->add_control(
974 + 'rating_number_background',
975 + [
976 + 'label' => __('Background Color', 'uicore-elements'),
977 + 'type' => Controls_Manager::COLOR,
978 + 'selectors' => [
979 + '{{WRAPPER}} .ui-e-testimonial-rating' => 'background-color: {{VALUE}};',
980 + ],
981 + 'default' => 'var(--e-global-color-uicore_primary)',
981 982
982 - $this->add_group_control(
983 - Group_Control_Border::get_type(),
984 - [
985 - 'name' => 'rating_border',
986 - 'selector' => '{{WRAPPER}} .ui-e-testimonial-rating',
987 - ]
988 - );
989 - $this->add_control(
990 - 'rating_border_radius',
991 - [
992 - 'label' => __( 'Border Radius', 'uicore-elements' ),
993 - 'type' => Controls_Manager::DIMENSIONS,
994 - 'size_units' => [ 'px', 'em', '%' ],
995 - 'selectors' => [
996 - '{{WRAPPER}} .ui-e-testimonial-rating' => 'border-radius: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};',
983 + 'condition' => [
984 + 'rating_type' => 'number',
985 + ],
986 + ]
987 + );
988 +
989 + $this->add_group_control(
990 + Group_Control_Border::get_type(),
991 + [
992 + 'name' => 'rating_border',
993 + 'selector' => '{{WRAPPER}} .ui-e-testimonial-rating',
994 + ]
995 + );
996 + $this->add_control(
997 + 'rating_border_radius',
998 + [
999 + 'label' => __('Border Radius', 'uicore-elements'),
1000 + 'type' => Controls_Manager::DIMENSIONS,
1001 + 'size_units' => ['px', 'em', '%'],
1002 + 'selectors' => [
1003 + '{{WRAPPER}} .ui-e-testimonial-rating' => 'border-radius: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};',
1004 + ],
1005 + ]
1006 + );
1007 + $this->add_control(
1008 + 'rating_padding',
1009 + [
1010 + 'label' => esc_html__('Padding', 'uicore-elements'),
1011 + 'type' => Controls_Manager::DIMENSIONS,
1012 + 'size_units' => ['px', 'em', '%'],
1013 + 'selectors' => [
1014 + '{{WRAPPER}} .ui-e-testimonial-rating' => 'padding: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};',
1015 + ],
1016 + ]
1017 + );
1018 + $this->add_control(
1019 + 'rating_margin',
1020 + [
1021 + 'label' => esc_html__('Margin', 'uicore-elements'),
1022 + 'type' => Controls_Manager::DIMENSIONS,
1023 + 'size_units' => ['px', '%'],
1024 + 'selectors' => [
1025 + '{{WRAPPER}} .ui-e-testimonial-rating' => 'margin: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};',
1026 + ],
1027 + ]
1028 + );
1029 + $this->add_control(
1030 + 'rating_size',
1031 + [
1032 + 'label' => esc_html__('Size', 'uicore-elements'),
1033 + 'type' => Controls_Manager::SLIDER,
1034 + 'default' => [
1035 + 'size' => 14,
1036 + 'unit' => 'px'
1037 + ],
1038 + 'selectors' => [
1039 + '{{WRAPPER}} .ui-e-testimonial-rating' => 'font-size: {{SIZE}}{{UNIT}};',
1040 + '{{WRAPPER}} .ui-e-testimonial-rating svg' => 'width: {{SIZE}}{{UNIT}};',
1041 + ],
1042 + ]
1043 + );
1044 + $this->add_control(
1045 + 'rating_space_between',
1046 + [
1047 + 'label' => esc_html__('Space Between', 'uicore-elements'),
1048 + 'type' => Controls_Manager::SLIDER,
1049 + 'range' => [
1050 + 'px' => [
1051 + 'min' => 0,
1052 + 'max' => 10,
997 1053 ],
998 - ]
999 - );
1000 - $this->add_control(
1001 - 'rating_padding',
1002 - [
1003 - 'label' => esc_html__('Padding', 'uicore-elements'),
1004 - 'type' => Controls_Manager::DIMENSIONS,
1005 - 'size_units' => ['px', 'em', '%'],
1006 - 'selectors' => [
1007 - '{{WRAPPER}} .ui-e-testimonial-rating' => 'padding: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};',
1008 - ],
1009 - ]
1010 - );
1011 - $this->add_control(
1012 - 'rating_margin',
1013 - [
1014 - 'label' => esc_html__('Margin', 'uicore-elements'),
1015 - 'type' => Controls_Manager::DIMENSIONS,
1016 - 'size_units' => ['px', '%'],
1017 - 'selectors' => [
1018 - '{{WRAPPER}} .ui-e-testimonial-rating' => 'margin: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};',
1019 - ],
1020 - ]
1021 - );
1022 - $this->add_control(
1023 - 'rating_size',
1024 - [
1025 - 'label' => esc_html__('Size', 'uicore-elements'),
1026 - 'type' => Controls_Manager::SLIDER,
1027 - 'default' => [
1028 - 'size' => 14,
1029 - 'unit' => 'px'
1030 - ],
1031 - 'selectors' => [
1032 - '{{WRAPPER}} .ui-e-testimonial-rating' => 'font-size: {{SIZE}}{{UNIT}};',
1033 - '{{WRAPPER}} .ui-e-testimonial-rating svg' => 'width: {{SIZE}}{{UNIT}};',
1034 - ],
1035 - ]
1036 - );
1037 - $this->add_control(
1038 - 'rating_space_between',
1039 - [
1040 - 'label' => esc_html__('Space Between', 'uicore-elements'),
1041 - 'type' => Controls_Manager::SLIDER,
1042 - 'range' => [
1043 - 'px' => [
1044 - 'min' => 0,
1045 - 'max' => 10,
1046 - ],
1047 - ],
1048 - 'selectors' => [
1049 - '{{WRAPPER}} .ui-e-testimonial-rating .ui-e-icon + .ui-e-icon' => 'margin-left: {{SIZE}}{{UNIT}};', // star type
1050 - '{{WRAPPER}} .ui-e-testimonial-rating span' => 'margin-right: {{SIZE}}{{UNIT}};', // number type
1051 - ],
1052 - 'condition' => [
1053 - 'rating_type' => 'star',
1054 - ],
1055 - ]
1056 - );
1054 + ],
1055 + 'selectors' => [
1056 + '{{WRAPPER}} .ui-e-testimonial-rating .ui-e-icon + .ui-e-icon' => 'margin-left: {{SIZE}}{{UNIT}};', // star type
1057 + '{{WRAPPER}} .ui-e-testimonial-rating span' => 'margin-right: {{SIZE}}{{UNIT}};', // number type
1058 + ],
1059 + 'condition' => [
1060 + 'rating_type' => 'star',
1061 + ],
1062 + ]
1063 + );
1057 1064
1058 1065 $this->end_controls_section();
1059 1066 }
1060 1067 function register_testimonial_divider_controls()
@@ -1070,32 +1077,32 @@
1070 1077 ]
1071 1078 ]
1072 1079 );
1073 1080
1074 - $this->add_control(
1075 - 'divider_color',
1076 - [
1077 - 'label' => __('Color', 'uicore-elements'),
1078 - 'type' => Controls_Manager::COLOR,
1079 - 'selectors' => [
1080 - '{{WRAPPER}} .ui-e-testimonial-divider' => 'border-color: {{VALUE}};',
1081 - ],
1082 - ]
1083 - );
1084 - $this->add_control(
1085 - 'divider_spacing',
1086 - [
1087 - 'label' => __('Spacing', 'uicore-elements'),
1088 - 'type' => Controls_Manager::SLIDER,
1089 - 'default' => [
1090 - 'size' => 20,
1091 - 'unit' => 'px'
1092 - ],
1093 - 'selectors' => [
1094 - '{{WRAPPER}} .ui-e-testimonial-divider' => 'margin-bottom: {{SIZE}}{{UNIT}};',
1095 - ],
1096 - ]
1097 - );
1081 + $this->add_control(
1082 + 'divider_color',
1083 + [
1084 + 'label' => __('Color', 'uicore-elements'),
1085 + 'type' => Controls_Manager::COLOR,
1086 + 'selectors' => [
1087 + '{{WRAPPER}} .ui-e-testimonial-divider' => 'border-color: {{VALUE}};',
1088 + ],
1089 + ]
1090 + );
1091 + $this->add_responsive_control(
1092 + 'divider_spacing',
1093 + [
1094 + 'label' => __('Spacing', 'uicore-elements'),
1095 + 'type' => Controls_Manager::SLIDER,
1096 + 'default' => [
1097 + 'size' => 20,
1098 + 'unit' => 'px'
1099 + ],
1100 + 'selectors' => [
1101 + '{{WRAPPER}} .ui-e-testimonial-divider' => 'margin-bottom: {{SIZE}}{{UNIT}};',
1102 + ],
1103 + ]
1104 + );
1098 1105
1099 1106 $this->end_controls_section();
1100 1107 }
1101 1108
@@ -1153,23 +1160,23 @@
1153 1160 // Register specific Controls that can't be called in blocks because are positioned differently on widgets, or used only by specific testimonial types, such as grid or carousel
1154 1161 function TRAIT_register_specific_testimonial_controls($arg)
1155 1162 {
1156 1163
1157 - switch ($arg){
1158 - case 'layout' :
1164 + switch ($arg) {
1165 + case 'layout':
1159 1166 $this->add_control(
1160 1167 'layout',
1161 1168 [
1162 - 'label' => esc_html__( 'Layout', 'uicore-elements' ),
1169 + 'label' => esc_html__('Layout', 'uicore-elements'),
1163 1170 'type' => Controls_Manager::SELECT,
1164 1171 'default' => 'layout_1',
1165 1172 'options' => [
1166 - 'layout_1' => esc_html__( 'Layout 1', 'uicore-elements' ),
1167 - 'layout_2' => esc_html__( 'Layout 2', 'uicore-elements' ),
1168 - 'layout_3' => esc_html__( 'Layout 3', 'uicore-elements' ),
1169 - 'layout_4' => esc_html__( 'Layout 4', 'uicore-elements' ),
1170 - 'layout_5' => esc_html__( 'Layout 5', 'uicore-elements' ),
1171 - 'layout_6' => esc_html__( 'Layout 6', 'uicore-elements' ),
1173 + 'layout_1' => esc_html__('Layout 1', 'uicore-elements'),
1174 + 'layout_2' => esc_html__('Layout 2', 'uicore-elements'),
1175 + 'layout_3' => esc_html__('Layout 3', 'uicore-elements'),
1176 + 'layout_4' => esc_html__('Layout 4', 'uicore-elements'),
1177 + 'layout_5' => esc_html__('Layout 5', 'uicore-elements'),
1178 + 'layout_6' => esc_html__('Layout 6', 'uicore-elements'),
1172 1179 ],
1173 1180 'render_type' => 'template',
1174 1181 'prefix_class' => 'ui-e-',
1175 1182 'frontend_available' => true
@@ -1176,13 +1183,13 @@
1176 1183 ]
1177 1184 );
1178 1185 break;
1179 1186
1180 - case 'item_animations' :
1187 + case 'item_animations':
1181 1188 $this->add_control(
1182 1189 'item_hover_animation',
1183 1190 [
1184 - 'label' => esc_html__( 'Item Hover Animation', 'uicore-elements' ),
1191 + 'label' => esc_html__('Item Hover Animation', 'uicore-elements'),
1185 1192 'type' => Controls_Manager::SELECT,
1186 1193 'default' => '',
1187 1194 'label_block' => true,
1188 1195 'options' => $this->get_animations(),
@@ -1189,9 +1196,8 @@
1189 1196 ]
1190 1197 );
1191 1198 break;
1192 1199 }
1193 -
1194 1200 }
1195 1201
1196 1202 // HTML Rendering Functions
1197 1203 function render_reviewer_avatar($item)
@@ -1196,18 +1202,18 @@
1196 1202 // HTML Rendering Functions
1197 1203 function render_reviewer_avatar($item)
1198 1204 {
1199 1205 $settings = $this->get_settings_for_display();
1200 - $fit_avatar = ( $this->is_option('avatar_size') && $settings['avatar_size']['unit'] === 'px' )
1206 + $fit_avatar = ($this->is_option('avatar_size') && $settings['avatar_size']['unit'] === 'px')
1201 1207 ? 'ui-avatar-fit'
1202 1208 : '';
1203 1209
1204 - if ( ! $settings['show_reviewer_avatar'] ) {
1205 - return;
1206 - }
1210 + if (! $settings['show_reviewer_avatar']) {
1211 + return;
1212 + }
1207 1213
1208 - ?>
1209 - <div class="ui-e-testimonial-avatar <?php echo esc_attr($settings['avatar_animations']);?> <?php echo esc_attr($fit_avatar);?>">
1214 +?>
1215 + <div class="ui-e-testimonial-avatar <?php echo esc_attr($settings['avatar_animations']); ?> <?php echo esc_attr($fit_avatar); ?>">
1210 1216 <?php
1211 1217 $avatar_url = Group_Control_Image_Size::get_attachment_image_src($item['avatar']['id'], 'avatar_media_size', $settings);
1212 1218 if (!$avatar_url) {
1213 1219 printf('<img src="%1$s" alt="%2$s">', esc_url($item['avatar']['url']), esc_html($item['reviewer_name']));
@@ -1222,9 +1228,9 @@
1222 1228 ));
1223 1229 }
1224 1230 ?>
1225 1231 </div>
1226 - <?php
1232 + <?php
1227 1233 }
1228 1234 function render_reviewer_secondary_image($item)
1229 1235 {
1230 1236 $settings = $this->get_settings_for_display();
@@ -1230,14 +1236,14 @@
1230 1236 $settings = $this->get_settings_for_display();
1231 1237
1232 1238 $thumb_url = Group_Control_Image_Size::get_attachment_image_src($item['image']['id'], 'image_media_size', $settings);
1233 1239
1234 - if ( ! $settings['show_reviewer_image'] || !$thumb_url ) {
1235 - return;
1236 - }
1240 + if (! $settings['show_reviewer_image'] || !$thumb_url) {
1241 + return;
1242 + }
1237 1243
1238 - ?>
1239 - <div class="ui-e-testimonial-image <?php echo esc_attr($settings['image_animations']);?>">
1244 + ?>
1245 + <div class="ui-e-testimonial-image <?php echo esc_attr($settings['image_animations']); ?>">
1240 1246 <?php
1241 1247 if ($thumb_url) {
1242 1248 print(wp_get_attachment_image(
1243 1249 $item['image']['id'],
@@ -1247,54 +1253,54 @@
1247 1253 ));
1248 1254 }
1249 1255 ?>
1250 1256 </div>
1251 - <?php
1257 + <?php
1252 1258 }
1253 1259 function render_reviewer_name($item)
1254 1260 {
1255 1261 $settings = $this->get_settings_for_display();
1256 1262
1257 - if ( ! $settings['show_reviewer_name'] ) {
1258 - return;
1259 - }
1263 + if (! $settings['show_reviewer_name']) {
1264 + return;
1265 + }
1260 1266
1261 - ?>
1262 - <?php if ( $item['reviewer_name'] ) : ?>
1263 - <<?php echo esc_html($settings['review_name_tag']); ?> class="ui-e-testimonial-name <?php echo esc_attr($settings['name_animations']);?>">
1264 - <span><?php echo wp_kses_post($item['reviewer_name']);?></span>
1265 - </<?php echo esc_html($settings['review_name_tag']); ?>>
1267 + ?>
1268 + <?php if ($item['reviewer_name']) : ?>
1269 + <<?php echo Helper::esc_tag($settings['review_name_tag']); ?> class="ui-e-testimonial-name <?php echo esc_attr($settings['name_animations']); ?>">
1270 + <span><?php echo wp_kses_post($item['reviewer_name']); ?></span>
1271 + </<?php echo Helper::esc_tag($settings['review_name_tag']); ?>>
1266 1272 <?php endif; ?>
1267 - <?php
1273 + <?php
1268 1274 }
1269 1275 function render_reviewer_job_title($item)
1270 1276 {
1271 1277 $settings = $this->get_settings_for_display();
1272 1278
1273 - if ( ! $settings['show_reviewer_job_title'] ) {
1274 - return;
1275 - }
1279 + if (! $settings['show_reviewer_job_title']) {
1280 + return;
1281 + }
1276 1282
1277 - ?>
1278 - <?php if ( $item['reviewer_job_title'] ) : ?>
1279 - <div class="ui-e-testimonial-job-title <?php echo esc_attr($settings['job_animations']);?>">
1283 + ?>
1284 + <?php if ($item['reviewer_job_title']) : ?>
1285 + <div class="ui-e-testimonial-job-title <?php echo esc_attr($settings['job_animations']); ?>">
1280 1286 <span><?php echo esc_html($item['reviewer_job_title']); ?></span>
1281 1287 </div>
1282 1288 <?php endif; ?>
1283 - <?php
1289 + <?php
1284 1290 }
1285 1291 function render_review_text($item)
1286 1292 {
1287 1293 $settings = $this->get_settings_for_display();
1288 1294
1289 - if ( ! $settings['show_reviewer_text'] ) {
1290 - return;
1291 - }
1295 + if (! $settings['show_reviewer_text']) {
1296 + return;
1297 + }
1292 1298
1293 - ?>
1294 - <?php if ( $item['review_text'] ) : ?>
1295 - <div class="ui-e-testimonial-text <?php echo esc_attr($settings['text_animations']);?>">
1296 - <?php echo wp_kses_post( $item['review_text'] ); ?>
1299 + ?>
1300 + <?php if ($item['review_text']) : ?>
1301 + <div class="ui-e-testimonial-text <?php echo esc_attr($settings['text_animations']); ?>">
1302 + <?php echo wp_kses_post($this->parse_text_editor($item['review_text'])); ?>
1297 1303 </div>
1298 1304 <?php endif; ?>
1299 1305 <?php
1300 1306 }
@@ -1303,9 +1309,9 @@
1303 1309
1304 1310 $settings = $this->get_settings_for_display();
1305 1311
1306 1312 $ID = $item['_id'];
1307 - if ( !$settings['show_reviewer_rating'] ) {
1313 + if (!$settings['show_reviewer_rating']) {
1308 1314 return;
1309 1315 }
1310 1316
1311 1317 $rating_value = $item['rating_number']['size']; // get rating value
@@ -1311,79 +1317,81 @@
1311 1317 $rating_value = $item['rating_number']['size']; // get rating value
1312 1318
1313 1319 if ($settings['rating_type'] == 'star') {
1314 1320
1315 - ?>
1316 - <div class="ui-e-testimonial-rating <?php echo esc_attr($settings['rating_animations']);?>">
1321 + ?>
1322 + <div class="ui-e-testimonial-rating <?php echo esc_attr($settings['rating_animations']); ?>">
1317 1323 <?php
1318 1324
1319 1325 $rating_scale = 5;
1320 1326
1321 - if ( '' === $rating_value ) {
1327 + if ('' === $rating_value) {
1322 1328 $rating_value = $rating_scale;
1323 1329 }
1324 1330
1325 - $rating_value = floatval( $rating_value );
1326 - $rating_value = round( $rating_value, 2 );
1331 + $rating_value = floatval($rating_value);
1332 + $rating_value = round($rating_value, 2);
1327 1333
1328 - for ( $index = 1; $index <= $rating_scale; $index++ ) {
1334 + for ($index = 1; $index <= $rating_scale; $index++) {
1329 1335
1330 1336 // SVG Method (uses font-awesome library for it's half-star icon, and can prints full and half-star)
1331 - if (Plugin::$instance->experiments->is_feature_active('e_font_icon_svg')){
1332 - ?>
1337 + if (Plugin::$instance->experiments->is_feature_active('e_font_icon_svg')) {
1338 + ?>
1333 1339 <div class="ui-e-icon">
1334 1340 <?php
1335 - if ( $rating_value >= $index ) {
1336 - echo Icons_Manager::try_get_icon_html( ['value' => 'fas fa-star', 'library' => 'fa-solid'], [ 'aria-hidden' => 'true' ] ); //phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped
1337 - } elseif ( intval( ceil( $rating_value ) ) === $index ) {
1338 - echo Icons_Manager::try_get_icon_html( ['value' => 'fas fa-star-half', 'library' => 'fa-solid'], ['aria-hidden' => 'true'] ); //phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped
1339 - }
1341 + if ($rating_value >= $index) {
1342 + echo Icons_Manager::try_get_icon_html(['value' => 'fas fa-star', 'library' => 'fa-solid'], ['aria-hidden' => 'true']); //phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped
1343 + } elseif (intval(ceil($rating_value)) === $index) {
1344 + echo Icons_Manager::try_get_icon_html(['value' => 'fas fa-star-half', 'library' => 'fa-solid'], ['aria-hidden' => 'true']); //phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped
1345 + }
1340 1346 ?>
1341 1347 </div>
1342 - <?php
1343 - // Font Icon Method (uses elementor library and can print decimal specific stars)
1348 + <?php
1349 + // Font Icon Method (uses elementor library and can print decimal specific stars)
1344 1350 } else {
1345 1351
1346 - if ( $rating_value >= $index ) {
1352 + if ($rating_value >= $index) {
1347 1353 $width = '100%'; // Full star if rate superior to current loop
1348 - } elseif ( intval( ceil( $rating_value ) ) === $index ) {
1349 - $width = ( $rating_value - ( $index - 1 ) ) * 100 . '%'; // Semi-star, calculating the width based on the decimal value
1354 + } elseif (intval(ceil($rating_value)) === $index) {
1355 + $width = ($rating_value - ($index - 1)) * 100 . '%'; // Semi-star, calculating the width based on the decimal value
1350 1356 } else {
1351 1357 $width = '0%'; // No star if rate inferior to current loop
1352 1358 }
1353 1359
1354 1360 // Creates the atts
1355 - $this->add_render_attribute( "icon_marked_$ID" . "_$index", [
1361 + $this->add_render_attribute("icon_marked_$ID" . "_$index", [
1356 1362 'class' => 'ui-e-marked',
1357 - ] );
1358 - if ( '100%' !== $width ) {
1359 - $this->add_render_attribute( "icon_marked_$ID" . "_$index", [
1363 + ]);
1364 + if ('100%' !== $width) {
1365 + $this->add_render_attribute("icon_marked_$ID" . "_$index", [
1360 1366 'style' => '--ui-e-rate-width: ' . $width . ';',
1361 - ] );
1367 + ]);
1362 1368 }
1363 1369
1364 - ?>
1365 - <div class="ui-e-icon">
1366 - <div <?php $this->print_render_attribute_string( "icon_marked_$ID" . "_$index",); ?>>
1367 - <?php echo Icons_Manager::try_get_icon_html( ['value' => 'eicon-star','library' => 'eicons'], [ 'aria-hidden' => 'true' ] ); //phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped?>
1368 - </div>
1369 - <div class="ui-e-unmarked">
1370 - <?php echo Icons_Manager::try_get_icon_html( ['value' => 'eicon-star','library' => 'eicons'], [ 'aria-hidden' => 'true' ] ); //phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped?>
1371 - </div>
1370 + ?>
1371 + <div class="ui-e-icon">
1372 + <div <?php $this->print_render_attribute_string("icon_marked_$ID" . "_$index",); ?>>
1373 + <?php echo Icons_Manager::try_get_icon_html(['value' => 'eicon-star', 'library' => 'eicons'], ['aria-hidden' => 'true']); //phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped
1374 + ?>
1372 1375 </div>
1373 - <?php
1376 + <div class="ui-e-unmarked">
1377 + <?php echo Icons_Manager::try_get_icon_html(['value' => 'eicon-star', 'library' => 'eicons'], ['aria-hidden' => 'true']); //phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped
1378 + ?>
1379 + </div>
1380 + </div>
1381 + <?php
1374 1382 }
1375 1383 }
1376 1384 ?>
1377 1385 </div>
1378 - <?php
1386 + <?php
1379 1387
1380 1388 } else { // number type rating
1381 - ?>
1382 - <div class="ui-e-testimonial-rating number">
1383 - <span><?php echo esc_html($rating_value);?></span>
1384 - </div>
1385 - <?php
1389 + ?>
1390 + <div class="ui-e-testimonial-rating number">
1391 + <span><?php echo esc_html($rating_value); ?></span>
1392 + </div>
1393 + <?php
1386 1394 }
1387 1395 }
1388 1396 function render_review_divider()
1389 1397 {
@@ -1388,15 +1396,15 @@
1388 1396 function render_review_divider()
1389 1397 {
1390 1398 $settings = $this->get_settings_for_display();
1391 1399
1392 - if ( !$settings['show_reviewer_divider'] ) {
1400 + if (!$settings['show_reviewer_divider']) {
1393 1401 return;
1394 1402 }
1395 1403
1396 1404 ?>
1397 - <span class="ui-e-testimonial-divider"></span>
1398 - <?php
1405 + <span class="ui-e-testimonial-divider"></span>
1406 + <?php
1399 1407 }
1400 1408 function TRAIT_render_review_item($item, $layout)
1401 1409 {
1402 1410 $settings = $this->get_settings_for_display();
@@ -1424,36 +1432,36 @@
1424 1432 if (!str_contains($this->get_name(), 'slider')) {
1425 1433 $animation_options[] = $settings['item_hover_animation'];
1426 1434 }
1427 1435 // check if any of the animation are set
1428 - $has_animation = array_filter($animation_options, function($value) {
1436 + $has_animation = array_filter($animation_options, function ($value) {
1429 1437 return $value !== '';
1430 1438 });
1431 1439 // and also check if entrance is set
1432 1440 $has_animation = $entrance !== '' ? true : $has_animation;
1433 1441
1434 - ?>
1442 + ?>
1435 1443
1436 1444 <div class="ui-e-wrp swiper-slide">
1437 1445 <?php if (!empty($has_animation)) : ?>
1438 - <div class="ui-e-animations-wrp <?php echo esc_attr($animations);?>">
1439 - <?php endif; ?>
1446 + <div class="ui-e-animations-wrp <?php echo esc_attr($animations); ?>">
1447 + <?php endif; ?>
1440 1448 <div class="ui-e-item">
1441 1449 <?php
1442 - switch($layout){
1443 - case 'layout_2' :
1450 + switch ($layout) {
1451 + case 'layout_2':
1444 1452 $this->render_layout_2($item, $atts);
1445 1453 break;
1446 - case 'layout_3' :
1454 + case 'layout_3':
1447 1455 $this->render_layout_3($item, $atts);
1448 1456 break;
1449 - case 'layout_4' :
1457 + case 'layout_4':
1450 1458 $this->render_layout_4($item);
1451 1459 break;
1452 - case 'layout_5' :
1460 + case 'layout_5':
1453 1461 $this->render_layout_5($item);
1454 1462 break;
1455 - case 'layout_6' :
1463 + case 'layout_6':
1456 1464 $this->render_layout_6($item);
1457 1465 break;
1458 1466 default:
1459 1467 $this->render_layout_1($item, $atts);
@@ -1460,13 +1468,13 @@
1460 1468 break;
1461 1469 }
1462 1470 ?>
1463 1471 </div>
1464 - <?php if (!empty($has_animation)) : ?>
1472 + <?php if (!empty($has_animation)) : ?>
1465 1473 </div>
1466 1474 <?php endif; ?>
1467 1475 </div>
1468 - <?php
1476 + <?php
1469 1477 }
1470 1478
1471 1479 // Layouts
1472 1480 function render_layout_1($item, $atts)
@@ -1472,9 +1480,9 @@
1472 1480 function render_layout_1($item, $atts)
1473 1481 {
1474 1482
1475 1483 $this->render_reviewer_secondary_image($item);
1476 - ?>
1484 + ?>
1477 1485 <div class="ui-e-content">
1478 1486
1479 1487 <?php $this->render_review_text($item); ?>
1480 1488
@@ -1483,11 +1491,11 @@
1483 1491 <div class="ui-e-testimonial-flex">
1484 1492 <?php $this->render_reviewer_avatar($item); ?>
1485 1493 <div class="ui-e-inner-content">
1486 1494 <?php
1487 - $this->render_reviewer_name($item);
1488 - $this->render_reviewer_job_title($item);
1489 - $this->render_review_rating($item);
1495 + $this->render_reviewer_name($item);
1496 + $this->render_reviewer_job_title($item);
1497 + $this->render_review_rating($item);
1490 1498 ?>
1491 1499 </div>
1492 1500 </div>
1493 1501
@@ -1497,14 +1505,14 @@
1497 1505 $this->render_reviewer_job_title($item);
1498 1506 $this->render_review_rating($item);
1499 1507 endif; ?>
1500 1508
1501 - </div>
1502 - <?php
1509 + </div>
1510 + <?php
1503 1511 }
1504 1512 function render_layout_2($item, $atts)
1505 1513 {
1506 - ?>
1514 + ?>
1507 1515 <div class="ui-e-content">
1508 1516
1509 1517 <?php if ($atts['inline']) : ?>
1510 1518 <div class="ui-e-testimonial-flex">
@@ -1510,11 +1518,11 @@
1510 1518 <div class="ui-e-testimonial-flex">
1511 1519 <?php $this->render_reviewer_avatar($item); ?>
1512 1520 <div class="ui-e-inner-content">
1513 1521 <?php
1514 - $this->render_reviewer_name($item);
1515 - $this->render_reviewer_job_title($item);
1516 - $this->render_review_rating($item);
1522 + $this->render_reviewer_name($item);
1523 + $this->render_reviewer_job_title($item);
1524 + $this->render_review_rating($item);
1517 1525 ?>
1518 1526 </div>
1519 1527 </div>
1520 1528
@@ -1527,24 +1535,24 @@
1527 1535
1528 1536 <?php $this->render_review_text($item); ?>
1529 1537 </div>
1530 1538
1531 - <?php
1539 + <?php
1532 1540 $this->render_reviewer_secondary_image($item);
1533 1541 }
1534 1542 function render_layout_3($item, $atts)
1535 1543 {
1536 1544 $this->render_reviewer_secondary_image($item);
1537 - ?>
1545 + ?>
1538 1546 <div class="ui-e-content">
1539 1547
1540 1548 <?php
1541 - $this->render_review_rating($item);
1542 - $this->render_review_text($item);
1543 - $this->render_review_divider();
1549 + $this->render_review_rating($item);
1550 + $this->render_review_text($item);
1551 + $this->render_review_divider();
1544 1552 ?>
1545 1553
1546 - <?php if ($atts['inline']) :?>
1554 + <?php if ($atts['inline']) : ?>
1547 1555
1548 1556 <div class="ui-e-testimonial-flex">
1549 1557 <?php $this->render_reviewer_avatar($item); ?>
1550 1558 <div class="ui-e-inner-content">
@@ -1558,13 +1566,13 @@
1558 1566 $this->render_reviewer_name($item);
1559 1567 $this->render_reviewer_job_title($item);
1560 1568 endif; ?>
1561 1569 </div>
1562 - <?php
1570 + <?php
1563 1571 }
1564 1572 function render_layout_4($item)
1565 1573 {
1566 - ?>
1574 + ?>
1567 1575 <div class="ui-e-testimonial-flex">
1568 1576 <?php $this->render_reviewer_avatar($item); ?>
1569 1577 <?php $this->render_reviewer_secondary_image($item); ?>
1570 1578 </div>
@@ -1570,37 +1578,37 @@
1570 1578 </div>
1571 1579
1572 1580 <div class="ui-e-content">
1573 1581 <?php
1574 - $this->render_review_text($item);
1575 - $this->render_reviewer_name($item);
1576 - $this->render_reviewer_job_title($item);
1577 - $this->render_review_rating($item);
1582 + $this->render_review_text($item);
1583 + $this->render_reviewer_name($item);
1584 + $this->render_reviewer_job_title($item);
1585 + $this->render_review_rating($item);
1578 1586 ?>
1579 1587 </div>
1580 - <?php
1588 + <?php
1581 1589 }
1582 1590 function render_layout_5($item)
1583 1591 {
1584 - ?>
1592 + ?>
1585 1593 <div class="ui-e-testimonial-flex">
1586 1594 <div class="ui-e-content">
1587 1595
1588 1596 <?php
1589 - $this->render_reviewer_secondary_image($item);
1590 - $this->render_review_text($item);
1591 - $this->render_review_rating($item);
1592 - $this->render_reviewer_name($item);
1593 - $this->render_reviewer_job_title($item);
1597 + $this->render_reviewer_secondary_image($item);
1598 + $this->render_review_text($item);
1599 + $this->render_review_rating($item);
1600 + $this->render_reviewer_name($item);
1601 + $this->render_reviewer_job_title($item);
1594 1602 ?>
1595 1603 </div>
1596 1604 <?php $this->render_reviewer_avatar($item); ?>
1597 1605 </div>
1598 - <?php
1606 + <?php
1599 1607 }
1600 1608 function render_layout_6($item)
1601 1609 {
1602 - ?>
1610 + ?>
1603 1611 <div class="ui-e-testimonial-flex">
1604 1612
1605 1613 <?php $this->render_reviewer_avatar($item); ?>
1606 1614
@@ -1605,15 +1613,15 @@
1605 1613 <?php $this->render_reviewer_avatar($item); ?>
1606 1614
1607 1615 <div class="ui-e-content">
1608 1616 <?php
1609 - $this->render_reviewer_name($item);
1610 - $this->render_reviewer_job_title($item);
1611 - $this->render_review_rating($item);
1612 - $this->render_review_text($item);
1613 - $this->render_reviewer_secondary_image($item);
1617 + $this->render_reviewer_name($item);
1618 + $this->render_reviewer_job_title($item);
1619 + $this->render_review_rating($item);
1620 + $this->render_review_text($item);
1621 + $this->render_reviewer_secondary_image($item);
1614 1622 ?>
1615 1623 </div>
1616 1624 </div>
1617 - <?php
1625 +<?php
1618 1626 }
1619 -}
1627 +}