PluginProbe ʕ •ᴥ•ʔ
ElementsKit Elementor Addons – Advanced Widgets & Templates Addons for Elementor / 4.0.4
ElementsKit Elementor Addons – Advanced Widgets & Templates Addons for Elementor v4.0.4
4.0.4 4.0.3 4.0.2 4.0.1 4.0.0 3.10.02 3.10.01 3.9.10 3.9.9 3.9.8 3.9.7 3.9.5 3.9.6 3.9.3 2.1.0 2.1.1 2.1.2 2.1.3 2.1.4 2.1.5 2.1.6 2.1.7 2.2.0 2.2.1 2.2.2 2.2.3 2.2.4 2.3.0 2.3.1 2.3.1.1 2.3.2 2.3.3 2.3.4 2.3.5 2.3.6 2.3.7 2.4.0 2.5.0 2.5.1 2.5.10 2.5.2 2.5.3 2.5.4 2.5.5 2.5.6 2.5.7 2.5.8 2.5.9 2.6.0 2.6.1 2.6.2 2.6.3 2.7.0 2.7.2 2.7.3 2.7.4 2.7.5 2.8.0 2.8.1 2.8.5 2.8.6 2.8.7 2.8.8 2.9.0 2.9.1 2.9.2 3.0.0 3.0.1 3.0.2 3.0.3 3.0.4 3.0.5 3.0.6 3.0.7 3.1.0 3.1.1 3.1.2 3.1.3 3.1.4 3.2.0 3.2.1 3.2.2 3.2.3 3.2.4 3.2.5 3.2.6 3.2.7 3.2.8 3.2.9 3.3.0 3.3.1 3.3.2 3.3.3 3.3.4 3.3.5 3.3.6 3.3.7 3.3.8 3.3.9 3.4.0 3.4.1 3.4.2 3.4.3 3.4.4 3.4.5 3.4.6 3.4.7 3.4.8 3.4.9 3.5.0 3.5.1 3.5.2 3.5.3 3.5.4 3.5.5 3.5.6 3.6.0 3.6.1 3.7.0 3.7.1 3.7.2 3.7.3 3.7.4 3.7.5 3.7.6 3.7.7 3.7.8 3.7.9 3.8.0 3.8.1 3.8.2 3.9.0 3.9.1 3.9.2 trunk 1.2.6 1.2.7 1.2.9 1.3.1 1.3.2 1.3.3 1.3.4 1.3.5 1.3.8 1.3.9 1.4.0 1.4.1 1.4.2 1.4.3 1.4.4 1.4.5 1.4.7 1.4.8 1.4.9 1.5.0 1.5.1 1.5.10 1.5.11 1.5.12 1.5.2 1.5.4 1.5.5 1.5.6 1.5.7 1.5.8 1.5.9 2.0.0 2.0.1 2.0.10 2.0.11 2.0.12 2.0.13 2.0.2 2.0.3 2.0.4 2.0.5 2.0.6 2.0.7 2.0.8 2.0.9 2.0.9.1 2.0.9.2 2.0.9.3
elementskit-lite / widgets / blog-posts / blog-posts.php
elementskit-lite / widgets / blog-posts Last commit date
assets 6 years ago blog-posts-handler.php 3 years ago blog-posts.php 1 day ago
blog-posts.php
3380 lines
1 <?php
2
3 namespace Elementor;
4
5 use \Elementor\ElementsKit_Widget_Blog_Posts_Handler as Handler;
6 use \ElementsKit_Lite\Modules\Controls\Controls_Manager as ElementsKit_Controls_Manager;
7
8 if (! defined('ABSPATH')) exit;
9
10 class ElementsKit_Widget_Blog_Posts extends Widget_Base
11 {
12 use \ElementsKit_Lite\Widgets\Widget_Notice;
13
14 public $base;
15
16 public function get_script_depends()
17 {
18 $deps = ['imagesloaded', 'ekit-masonry', 'ekit-blog-posts'];
19 return $deps;
20 }
21
22 public function get_style_depends()
23 {
24 $deps = ['ekit-button','ekit-blog-posts'];
25 return $deps;
26 }
27
28 public function get_name()
29 {
30 return Handler::get_name();
31 }
32
33 public function get_title()
34 {
35 return Handler::get_title();
36 }
37
38 public function get_icon()
39 {
40 return Handler::get_icon();
41 }
42
43 public function get_categories()
44 {
45 return Handler::get_categories();
46 }
47
48 public function get_keywords()
49 {
50 return Handler::get_keywords();
51 }
52
53 public function get_help_url()
54 {
55 return 'https://wpmet.com/doc/blog-posts-2/';
56 }
57
58
59 protected function is_dynamic_content(): bool
60 {
61 return true;
62 }
63
64 public function has_widget_inner_wrapper(): bool
65 {
66 return ! Plugin::$instance->experiments->is_feature_active('e_optimized_markup');
67 }
68
69 protected function register_controls()
70 {
71 // Layout
72 $this->start_controls_section(
73 'ekit_blog_posts_general',
74 [
75 'label' => esc_html__('Layout', 'elementskit-lite'),
76 ]
77 );
78
79 $this->add_control(
80 'ekit_blog_posts_layout_style',
81 [
82 'label' => esc_html__('Layout Style', 'elementskit-lite'),
83 'type' => Controls_Manager::SELECT,
84 'options' => [
85 'elementskit-blog-block-post' => esc_html__('Block', 'elementskit-lite'),
86 'elementskit-post-image-card' => esc_html__('Grid With Thumb', 'elementskit-lite'),
87 'elementskit-post-card' => esc_html__('Grid Without Thumb', 'elementskit-lite'),
88 ],
89 'default' => 'elementskit-blog-block-post',
90 // The block layout is always one post per row, so it must not fall back to the
91 // hardcoded two-per-row tablet rule of the .ekit-col-* grid classes. The grid
92 // layouts get their widths from "Show Posts Per Row" instead (empty = no rule).
93 'selectors_dictionary' => [
94 'elementskit-blog-block-post' => 'flex: 0 0 100%; max-width: 100%;',
95 'elementskit-post-image-card' => '',
96 'elementskit-post-card' => '',
97 ],
98 'selectors' => [
99 '{{WRAPPER}} .post-items:not(.carousel-enabled) > .post-item' => '{{VALUE}}',
100 ],
101 // The selectors above turn this into a style control, but the layout style also
102 // changes the markup, so the widget still has to be re-rendered.
103 'render_type' => 'template',
104 ]
105 );
106
107 $this->add_control(
108 'ekit_blog_posts_feature_img',
109 [
110 'label' => esc_html__('Show Featured Image', 'elementskit-lite'),
111 'type' => Controls_Manager::SWITCHER,
112 'label_on' => esc_html__('Yes', 'elementskit-lite'),
113 'label_off' => esc_html__('No', 'elementskit-lite'),
114 'default' => 'yes',
115 'condition' => [
116 'ekit_blog_posts_layout_style!' => 'elementskit-post-card',
117 ],
118 ]
119 );
120
121 $this->add_control(
122 'ekit_blog_posts_layout_style_thumb',
123 [
124 'label' => esc_html__('Image Position', 'elementskit-lite'),
125 'type' => Controls_Manager::SELECT,
126 'options' => [
127 'block' => esc_html__('Top', 'elementskit-lite'),
128 'flex' => esc_html__('Left', 'elementskit-lite'),
129 ],
130 'default' => 'block',
131 'selectors' => [
132 '{{WRAPPER}} .elementskit-post-image-card' => 'display: {{VALUE}}'
133 ],
134 'condition' => [
135 'ekit_blog_posts_layout_style' => 'elementskit-post-image-card',
136 'ekit_blog_posts_feature_img' => 'yes',
137 ],
138 ]
139 );
140
141 /**
142 * Control: Featured Image Size
143 */
144 $this->add_group_control(
145 Group_Control_Image_Size::get_type(),
146 [
147 'name' => 'ekit_blog_posts_feature_img_size',
148 'fields_options' => [
149 'size' => [
150 'label' => esc_html__('Featured Image Size', 'elementskit-lite'),
151 ],
152 ],
153 'exclude' => ['custom'], // PHPCS:ignore WordPressVIPMinimum.Performance.WPQueryParams.PostNotIn_exclude
154 'default' => 'large',
155 'condition' => [
156 'ekit_blog_posts_feature_img' => 'yes',
157 'ekit_blog_posts_layout_style!' => 'elementskit-post-card',
158 ],
159 ]
160 );
161
162 $this->add_control(
163 'ekit_blog_posts_feature_img_float',
164 [
165 'label' => esc_html__('Featured Image Alignment', 'elementskit-lite'),
166 'type' => Controls_Manager::CHOOSE,
167 'options' => [
168 'left' => [
169 'title' => esc_html__('Left', 'elementskit-lite'),
170 'icon' => 'eicon-text-align-left',
171 ],
172 'right' => [
173 'title' => esc_html__('Right', 'elementskit-lite'),
174 'icon' => 'eicon-text-align-right',
175 ],
176 ],
177 'condition' => [
178 'ekit_blog_posts_feature_img' => 'yes',
179 'ekit_blog_posts_layout_style' => 'elementskit-blog-block-post',
180 ],
181 'default' => 'left',
182 ]
183 );
184
185 $this->add_responsive_control(
186 'ekit_blog_posts_column',
187 [
188 'label' => esc_html__('Show Posts Per Row', 'elementskit-lite'),
189 'type' => Controls_Manager::SELECT,
190 'options' => [
191 'ekit-col-12' => esc_html__('1', 'elementskit-lite'),
192 'ekit-col-6' => esc_html__('2', 'elementskit-lite'),
193 'ekit-col-4' => esc_html__('3', 'elementskit-lite'),
194 'ekit-col-3' => esc_html__('4', 'elementskit-lite'),
195 'ekit-col-2' => esc_html__('6', 'elementskit-lite'),
196 ],
197 'condition' => [
198 'ekit_blog_posts_layout_style' => ['elementskit-post-image-card', 'elementskit-post-card'],
199 ],
200 'default' => 'ekit-col-4',
201 // Keeps the pre-responsive rendering as the starting point: 2 per row on tablet, 1 on mobile.
202 'tablet_default' => 'ekit-col-6',
203 'mobile_default' => 'ekit-col-12',
204 'selectors_dictionary' => [
205 'ekit-col-12' => '100%',
206 'ekit-col-6' => '50%',
207 'ekit-col-4' => '33.3333333333%',
208 'ekit-col-3' => '25%',
209 'ekit-col-2' => '16.6666666667%',
210 ],
211 'selectors' => [
212 '{{WRAPPER}} .post-items > .post-item' => 'flex: 0 0 {{VALUE}}; max-width: {{VALUE}};',
213 ],
214 // The masonry column count is printed into the markup, so keep re-rendering.
215 'render_type' => 'template',
216 ]
217 );
218
219 $this->add_control(
220 'ekit_blog_posts_title',
221 [
222 'label' => esc_html__('Show Title', 'elementskit-lite'),
223 'type' => Controls_Manager::SWITCHER,
224 'label_on' => esc_html__('Yes', 'elementskit-lite'),
225 'label_off' => esc_html__('No', 'elementskit-lite'),
226 'default' => 'yes',
227 ]
228 );
229 $this->add_control(
230 'ekit_blog_posts_title_trim',
231 [
232 'label' => esc_html__('Crop title by word', 'elementskit-lite'),
233 'type' => Controls_Manager::NUMBER,
234 'default' => '',
235 'condition' => [
236 'ekit_blog_posts_title' => 'yes',
237 ],
238 ]
239 );
240 $this->add_control(
241 'ekit_blog_posts_content',
242 [
243 'label' => esc_html__('Show Content', 'elementskit-lite'),
244 'type' => Controls_Manager::SWITCHER,
245 'label_on' => esc_html__('Yes', 'elementskit-lite'),
246 'label_off' => esc_html__('No', 'elementskit-lite'),
247 'default' => 'yes',
248 ]
249 );
250 $this->add_control(
251 'ekit_blog_posts_content_trim',
252 [
253 'label' => esc_html__('Crop content by word', 'elementskit-lite'),
254 'type' => Controls_Manager::NUMBER,
255 'default' => '',
256 'condition' => [
257 'ekit_blog_posts_content' => 'yes',
258 ],
259 ]
260 );
261
262 $this->add_control(
263 'ekit_blog_posts_read_more',
264 [
265 'label' => esc_html__('Show Read More', 'elementskit-lite'),
266 'type' => Controls_Manager::SWITCHER,
267 'label_on' => esc_html__('Yes', 'elementskit-lite'),
268 'label_off' => esc_html__('No', 'elementskit-lite'),
269 'default' => 'yes',
270 'condition' => ['ekit_blog_posts_layout_style!' => 'elementskit-blog-block-post'],
271 ]
272 );
273
274 $this->add_control(
275 'grid_masonry',
276 [
277 'label' => esc_html__('Enable Masonry', 'elementskit-lite'),
278 'type' => Controls_Manager::SWITCHER,
279 'return_value' => 'yes',
280 'condition' => [
281 'ekit_blog_posts_layout_style!' => 'elementskit-blog-block-post',
282 ],
283 'assets' => [
284 'scripts' => [
285 [
286 'name' => 'masonry',
287 'conditions' => [
288 'terms' => [
289 [
290 'name' => 'grid_masonry',
291 'operator' => '===',
292 'value' => 'yes',
293 ],
294 ],
295 ],
296 ],
297 ],
298
299 ],
300 ]
301 );
302 // Row Gap
303 $this->add_control(
304 'masonry_row_gap',
305 [
306 'label' => esc_html__('Row Gap', 'elementskit-lite'),
307 'type' => Controls_Manager::SLIDER,
308 'size_units' => ['px', 'em', 'rem'],
309 'range' => [
310 'px' => [
311 'min' => 0,
312 'max' => 200,
313 ],
314 'em' => [
315 'min' => 0,
316 'max' => 10,
317 'step' => 0.1,
318 ],
319 'rem' => [
320 'min' => 0,
321 'max' => 10,
322 'step' => 0.1,
323 ],
324 ],
325 'default' => [
326 'unit' => 'px',
327 'size' => 30,
328 ],
329 'condition' => [
330 'grid_masonry' => 'yes',
331 ],
332 ]
333 );
334
335 // Column Gap
336 $this->add_control(
337 'masonry_column_gap',
338 [
339 'label' => esc_html__('Column Gap', 'elementskit-lite'),
340 'type' => Controls_Manager::SLIDER,
341 'size_units' => ['px', 'em', 'rem'],
342 'range' => [
343 'px' => [
344 'min' => 0,
345 'max' => 200,
346 ],
347 'em' => [
348 'min' => 0,
349 'max' => 10,
350 'step' => 0.1,
351 ],
352 'rem' => [
353 'min' => 0,
354 'max' => 10,
355 'step' => 0.1,
356 ],
357 ],
358 'default' => [
359 'unit' => 'px',
360 'size' => 30,
361 ],
362 'condition' => [
363 'grid_masonry' => 'yes',
364 ],
365 ]
366 );
367
368 $this->end_controls_section();
369 // Query
370 $this->start_controls_section(
371 'ekit_blog_posts_content_section',
372 [
373 'label' => esc_html__('Query', 'elementskit-lite'),
374 ]
375 );
376
377 $this->add_control(
378 'ekit_blog_posts_num',
379 [
380 'label' => esc_html__('Posts Count', 'elementskit-lite'),
381 'type' => Controls_Manager::NUMBER,
382 'min' => 1,
383 'default' => 3,
384 ]
385 );
386
387
388 $this->add_control(
389 'ekit_blog_posts_is_manual_selection',
390 [
391 'label' => esc_html__('Select posts by:', 'elementskit-lite'),
392 'type' => Controls_Manager::SELECT,
393 'default' => '',
394 'options' => [
395 'recent' => esc_html__('Recent Post', 'elementskit-lite'),
396 'yes' => esc_html__('Selected Post', 'elementskit-lite'),
397 '' => esc_html__('Category Post', 'elementskit-lite'),
398 ],
399
400 ]
401 );
402
403 $this->add_control(
404 'ekit_blog_posts_manual_selection',
405 [
406 'label' => esc_html__('Search & Select', 'elementskit-lite'),
407 'type' => ElementsKit_Controls_Manager::AJAXSELECT2,
408 'options' => 'ajaxselect2/post_list',
409 'label_block' => true,
410 'multiple' => true,
411 'condition' => ['ekit_blog_posts_is_manual_selection' => 'yes']
412 ]
413 );
414 $this->add_control(
415 'ekit_blog_posts_cats',
416 [
417 'label' => esc_html__('Select Categories', 'elementskit-lite'),
418 'type' => ElementsKit_Controls_Manager::AJAXSELECT2,
419 'options' => 'ajaxselect2/category',
420 'label_block' => true,
421 'multiple' => true,
422 'condition' => ['ekit_blog_posts_is_manual_selection' => '']
423 ]
424 );
425
426 $this->add_control(
427 'ekit_blog_posts_offset',
428 [
429 'label' => esc_html__('Offset', 'elementskit-lite'),
430 'type' => Controls_Manager::NUMBER,
431 'min' => 0,
432 'max' => 20,
433 'default' => 0,
434 ]
435 );
436
437 $this->add_control(
438 'ekit_blog_posts_order_by',
439 [
440 'label' => esc_html__('Order by', 'elementskit-lite'),
441 'type' => Controls_Manager::SELECT,
442 'options' => [
443 'date' => esc_html__('Date', 'elementskit-lite'),
444 'title' => esc_html__('Title', 'elementskit-lite'),
445 'author' => esc_html__('Author', 'elementskit-lite'),
446 'modified' => esc_html__('Modified', 'elementskit-lite'),
447 'comment_count' => esc_html__('Comments', 'elementskit-lite'),
448 ],
449 'default' => 'date',
450 ]
451 );
452
453 $this->add_control(
454 'ekit_blog_posts_sort',
455 [
456 'label' => esc_html__('Order', 'elementskit-lite'),
457 'type' => Controls_Manager::SELECT,
458 'options' => [
459 'ASC' => esc_html__('ASC', 'elementskit-lite'),
460 'DESC' => esc_html__('DESC', 'elementskit-lite'),
461 ],
462 'default' => 'DESC',
463 ]
464 );
465
466 $this->end_controls_section();
467
468 // meta data
469 $this->start_controls_section(
470 'ekit_blog_posts_meta_data_tab',
471 [
472 'label' => esc_html__('Meta Data', 'elementskit-lite'),
473 'tab' => Controls_Manager::TAB_CONTENT,
474 ]
475 );
476
477 $this->add_control(
478 'ekit_blog_posts_floating_date',
479 [
480 'label' => esc_html__('Show Floating Date', 'elementskit-lite'),
481 'type' => Controls_Manager::SWITCHER,
482 'label_on' => esc_html__('Yes', 'elementskit-lite'),
483 'label_off' => esc_html__('No', 'elementskit-lite'),
484 'default' => 'no',
485 'condition' => [
486 'ekit_blog_posts_layout_style' => 'elementskit-post-image-card',
487 ],
488 ]
489 );
490 $this->add_control(
491 'ekit_blog_posts_floating_date_style',
492 [
493 'label' => esc_html__('Choose Style', 'elementskit-lite'),
494 'type' => ElementsKit_Controls_Manager::IMAGECHOOSE,
495 'default' => 'style1',
496 'options' => [
497 'style1' => [
498 'title' => esc_html__('Image style 1', 'elementskit-lite'),
499 'imagelarge' => Handler::get_url() . 'assets/imagechoose/floating-date-1.png',
500 'imagesmall' => Handler::get_url() . 'assets/imagechoose/floating-date-1.png',
501 'width' => '50%',
502 ],
503 'style2' => [
504 'title' => esc_html__('Image style 2', 'elementskit-lite'),
505 'imagelarge' => Handler::get_url() . 'assets/imagechoose/floating-date-2.png',
506 'imagesmall' => Handler::get_url() . 'assets/imagechoose/floating-date-2.png',
507 'width' => '50%',
508 ],
509 ],
510 'condition' => [
511 'ekit_blog_posts_floating_date' => 'yes',
512 ],
513 ]
514 );
515
516 $this->add_control(
517 'ekit_blog_posts_floating_category',
518 [
519 'label' => esc_html__('Show Floating Category', 'elementskit-lite'),
520 'type' => Controls_Manager::SWITCHER,
521 'label_on' => esc_html__('Yes', 'elementskit-lite'),
522 'label_off' => esc_html__('No', 'elementskit-lite'),
523 'default' => 'no',
524 'condition' => [
525 'ekit_blog_posts_layout_style' => 'elementskit-post-image-card',
526 ],
527 ]
528 );
529
530 $this->add_control(
531 'ekit_blog_posts_meta',
532 [
533 'label' => esc_html__('Show Meta Data', 'elementskit-lite'),
534 'type' => Controls_Manager::SWITCHER,
535 'label_on' => esc_html__('Yes', 'elementskit-lite'),
536 'label_off' => esc_html__('No', 'elementskit-lite'),
537 'default' => 'yes',
538 ]
539 );
540 $this->add_control(
541 'ekit_blog_posts_title_position',
542 [
543 'label' => esc_html__('Meta Position', 'elementskit-lite'),
544 'type' => Controls_Manager::SELECT,
545 'options' => [
546 'after_meta' => esc_html__('Before Title', 'elementskit-lite'),
547 'before_meta' => esc_html__('After Title', 'elementskit-lite'),
548 'after_content' => esc_html__('After Content', 'elementskit-lite'),
549 ],
550 'default' => 'after_meta',
551 'condition' => [
552 'ekit_blog_posts_meta' => 'yes',
553 ]
554 ]
555 );
556 $this->add_control(
557 'ekit_blog_posts_meta_select',
558 [
559 'label' => esc_html__('Meta Data', 'elementskit-lite'),
560 'type' => Controls_Manager::SELECT2,
561 'options' => [
562 'author' => esc_html__('Author', 'elementskit-lite'),
563 'date' => esc_html__('Date', 'elementskit-lite'),
564 'category' => esc_html__('Category', 'elementskit-lite'),
565 'comment' => esc_html__('Comment', 'elementskit-lite'),
566 ],
567 'multiple' => true,
568 // 'default' => [
569 // 'author',
570 // 'date'
571 // ],
572 'condition' => [
573 'ekit_blog_posts_meta' => 'yes',
574 ],
575 ]
576 );
577 $this->add_control(
578 'ekit_blog_posts_author_image',
579 [
580 'label' => esc_html__('Show Author Image', 'elementskit-lite'),
581 'type' => Controls_Manager::SWITCHER,
582 'label_on' => esc_html__('Yes', 'elementskit-lite'),
583 'label_off' => esc_html__('No', 'elementskit-lite'),
584 'default' => 'no',
585 'condition' => [
586 'ekit_blog_posts_meta' => 'yes',
587 'ekit_blog_posts_meta_select' => 'author'
588 ],
589 ]
590 );
591 $this->add_control(
592 'ekit_blog_posts_meta_author_icons',
593 [
594 'label' => esc_html__('Author Icon', 'elementskit-lite'),
595 'type' => Controls_Manager::ICONS,
596 'fa4compatibility' => 'ekit_blog_posts_meta_author_icon',
597 'default' => [
598 'value' => 'icon icon-user',
599 'library' => 'ekiticons',
600 ],
601 'condition' => [
602 'ekit_blog_posts_author_image!' => 'yes',
603 'ekit_blog_posts_meta' => 'yes',
604 'ekit_blog_posts_meta_select' => 'author'
605 ]
606 ]
607 );
608 $this->add_control(
609 'ekit_blog_posts_meta_date_icons',
610 [
611 'label' => esc_html__('Date Icon', 'elementskit-lite'),
612 'type' => Controls_Manager::ICONS,
613 'fa4compatibility' => 'ekit_blog_posts_meta_date_icon',
614 'default' => [
615 'value' => 'icon icon-calendar3',
616 'library' => 'ekiticons',
617 ],
618 'condition' => [
619 'ekit_blog_posts_meta' => 'yes',
620 'ekit_blog_posts_meta_select' => 'date'
621 ],
622 ]
623 );
624 $this->add_control(
625 'ekit_blog_posts_meta_category_icons',
626 [
627 'label' => esc_html__('Category Icon', 'elementskit-lite'),
628 'type' => Controls_Manager::ICONS,
629 'fa4compatibility' => 'ekit_blog_posts_meta_category_icon',
630 'default' => [
631 'value' => 'icon icon-folder',
632 'library' => 'ekiticons',
633 ],
634 'condition' => [
635 'ekit_blog_posts_meta' => 'yes',
636 'ekit_blog_posts_meta_select' => 'category'
637 ],
638 ]
639 );
640 $this->add_control(
641 'ekit_blog_posts_meta_comment_icons',
642 [
643 'label' => esc_html__('Comment Icon', 'elementskit-lite'),
644 'type' => Controls_Manager::ICONS,
645 'fa4compatibility' => 'ekit_blog_posts_meta_comment_icon',
646 'default' => [
647 'value' => 'icon icon-comment',
648 'library' => 'ekiticons',
649 ],
650 'condition' => [
651 'ekit_blog_posts_meta' => 'yes',
652 'ekit_blog_posts_meta_select' => 'comment'
653 ],
654 ]
655 );
656
657
658 $this->end_controls_section();
659
660 // Read More Button
661 $this->start_controls_section(
662 'ekit_blog_posts_more_section',
663 [
664 'label' => esc_html__('Read More Button', 'elementskit-lite'),
665 'condition' => ['ekit_blog_posts_read_more' => 'yes', 'ekit_blog_posts_layout_style!' => 'elementskit-blog-block-post'],
666 ]
667 );
668
669 $this->add_control(
670 'ekit_blog_posts_btn_text',
671 [
672 'label' => esc_html__('Label', 'elementskit-lite'),
673 'type' => Controls_Manager::TEXT,
674 'dynamic' => [
675 'active' => true,
676 ],
677 'default' => esc_html__('Learn more ', 'elementskit-lite'),
678 'placeholder' => esc_html__('Learn more ', 'elementskit-lite'),
679 ]
680 );
681
682 $this->add_control(
683 'ekit_blog_posts_btn_icons__switch',
684 [
685 'label' => esc_html__('Add icon? ', 'elementskit-lite'),
686 'type' => Controls_Manager::SWITCHER,
687 'default' => 'yes',
688 'label_on' => esc_html__('Yes', 'elementskit-lite'),
689 'label_off' => esc_html__('No', 'elementskit-lite'),
690 ]
691 );
692
693 $this->add_control(
694 'ekit_blog_posts_btn_icons',
695 [
696 'label' => esc_html__('Icon', 'elementskit-lite'),
697 'type' => Controls_Manager::ICONS,
698 'fa4compatibility' => 'ekit_blog_posts_btn_icon',
699 'default' => [
700 'value' => '',
701 ],
702 'label_block' => true,
703 'condition' => [
704 'ekit_blog_posts_btn_icons__switch' => 'yes'
705 ]
706 ]
707 );
708 $this->add_control(
709 'ekit_blog_posts_btn_icon_align',
710 [
711 'label' => esc_html__('Icon Position', 'elementskit-lite'),
712 'type' => Controls_Manager::SELECT,
713 'default' => 'left',
714 'options' => [
715 'left' => esc_html__('Before', 'elementskit-lite'),
716 'right' => esc_html__('After', 'elementskit-lite'),
717 ],
718 'condition' => [
719 'ekit_blog_posts_btn_icons__switch' => 'yes'
720 ]
721 ]
722 );
723 $this->add_responsive_control(
724 'ekit_blog_posts_btn_align',
725 [
726 'label' => esc_html__('Alignment', 'elementskit-lite'),
727 'type' => Controls_Manager::CHOOSE,
728 'options' => [
729 'left' => [
730 'title' => esc_html__('Left', 'elementskit-lite'),
731 'icon' => 'eicon-text-align-left',
732 ],
733 'center' => [
734 'title' => esc_html__('Center', 'elementskit-lite'),
735 'icon' => 'eicon-text-align-center',
736 ],
737 'right' => [
738 'title' => esc_html__('Right', 'elementskit-lite'),
739 'icon' => 'eicon-text-align-right',
740 ],
741 ],
742 'selectors' => [
743 '{{WRAPPER}} .btn-wraper' => 'text-align: {{VALUE}};',
744 ],
745 'default' => 'left',
746 ]
747 );
748
749 $this->add_control(
750 'ekit_blog_posts_btn_class',
751 [
752 'label' => esc_html__('Class', 'elementskit-lite'),
753 'type' => Controls_Manager::TEXT,
754 'dynamic' => [
755 'active' => true,
756 ],
757 'placeholder' => esc_html__('Class Name', 'elementskit-lite'),
758 ]
759 );
760
761 $this->add_control(
762 'ekit_blog_posts_btn_id',
763 [
764 'label' => esc_html__('id', 'elementskit-lite'),
765 'type' => Controls_Manager::TEXT,
766 'dynamic' => [
767 'active' => true,
768 ],
769 'placeholder' => esc_html__('ID', 'elementskit-lite'),
770 ]
771 );
772
773 $this->end_controls_section();
774
775
776
777 // Post Styles
778 $this->start_controls_section(
779 'ekit_blog_posts_style',
780 [
781 'label' => esc_html__('Wrapper', 'elementskit-lite'),
782 'tab' => Controls_Manager::TAB_STYLE,
783 ]
784 );
785
786 $this->start_controls_tabs(
787 'ekit_blog_posts_tabs'
788 );
789
790 $this->start_controls_tab(
791 'ekit_blog_posts_tab_normal',
792 [
793 'label' => esc_html__('Normal', 'elementskit-lite'),
794 ]
795 );
796
797 $this->add_group_control(
798 Group_Control_Background::get_type(),
799 [
800 'name' => 'ekit_blog_posts_background',
801 'label' => esc_html__('Background', 'elementskit-lite'),
802 'types' => ['classic', 'gradient'],
803 'selector' => '{{WRAPPER}} .elementskit-blog-block-post, {{WRAPPER}} .elementskit-post-image-card, {{WRAPPER}} .elementskit-post-card',
804 ]
805 );
806
807 $this->add_group_control(
808 Group_Control_Box_Shadow::get_type(),
809 [
810 'name' => 'ekit_blog_posts_shadow',
811 'selector' => '{{WRAPPER}} .elementskit-blog-block-post, {{WRAPPER}} .elementskit-post-image-card, {{WRAPPER}} .elementskit-post-card',
812 ]
813 );
814 $this->end_controls_tab();
815
816 $this->start_controls_tab(
817 'ekit_blog_posts_tab_hover',
818 [
819 'label' => esc_html__('Hover', 'elementskit-lite'),
820 ]
821 );
822 $this->add_group_control(
823 Group_Control_Background::get_type(),
824 [
825 'name' => 'ekit_blog_posts_background_hover',
826 'label' => esc_html__('Background', 'elementskit-lite'),
827 'types' => ['classic', 'gradient'],
828 'selector' => '{{WRAPPER}} .elementskit-blog-block-post:hover, {{WRAPPER}} .elementskit-post-image-card:hover, {{WRAPPER}} .elementskit-post-card:hover',
829 'fields_options' => [
830 'background' => [
831 'prefix_class' => 'ekit-blog-posts--bg-hover bg-hover-',
832 ],
833 ],
834 ]
835 );
836
837 $this->add_group_control(
838 Group_Control_Box_Shadow::get_type(),
839 [
840 'name' => 'ekit_blog_posts_shadow_hover',
841 'selector' => '{{WRAPPER}} .elementskit-blog-block-post:hover, {{WRAPPER}} .elementskit-post-image-card:hover, {{WRAPPER}} .elementskit-post-card:hover',
842 ]
843 );
844 $this->end_controls_tab();
845 $this->end_controls_tabs();
846
847 $this->add_control(
848 'ekit_blog_posts_equal_height',
849 [
850 'label' => esc_html__( 'Equalize Card Height', 'elementskit-lite' ),
851 'type' => Controls_Manager::SWITCHER,
852 'label_on' => esc_html__( 'Yes', 'elementskit-lite' ),
853 'label_off' => esc_html__( 'No', 'elementskit-lite' ),
854 'return_value' => 'yes',
855 'default' => '',
856 'separator' => 'before',
857 'description' => esc_html__( 'Make all cards equal height and push the Read More button to the bottom.', 'elementskit-lite' ),
858 'selectors' => [
859 '{{WRAPPER}} .post-items' => 'display: flex; flex-wrap: wrap;',
860 '{{WRAPPER}} .post-items > [class*="col-"]' => 'display: flex;',
861 '{{WRAPPER}} .elementskit-post-image-card, {{WRAPPER}} .elementskit-post-card' => 'display: flex; flex-direction: column; width: 100%;',
862 '{{WRAPPER}} .elementskit-post-body' => 'display: flex; flex-direction: column; flex: 1 1 auto;',
863 '{{WRAPPER}} .btn-wraper' => 'margin-top: auto;',
864 ],
865 'conditions' => [
866 'relation' => 'and',
867 'terms' => [
868 [
869 'name' => 'ekit_blog_posts_layout_style',
870 'operator' => 'in',
871 'value' => [
872 'elementskit-post-image-card',
873 'elementskit-post-card',
874 ],
875 ],
876 [
877 'name' => 'grid_masonry',
878 'operator' => '!==',
879 'value' => 'yes',
880 ],
881 ],
882 ],
883 ]
884 );
885
886 $this->add_control(
887 'ekit_blog_posts_hr',
888 [
889 'type' => \Elementor\Controls_Manager::DIVIDER,
890 ]
891 );
892
893 $this->add_control(
894 'ekit_blog_posts_vertical_alignment',
895 [
896 'label' => esc_html__('Vertical Alignment', 'elementskit-lite'),
897 'type' => Controls_Manager::CHOOSE,
898 'options' => [
899 'flex-start' => [
900 'title' => esc_html__('Top', 'elementskit-lite'),
901 'icon' => 'eicon-v-align-top',
902 ],
903 'center' => [
904 'title' => esc_html__('Middle', 'elementskit-lite'),
905 'icon' => 'eicon-v-align-middle',
906 ],
907 'flex-end' => [
908 'title' => esc_html__('Bottom', 'elementskit-lite'),
909 'icon' => 'eicon-v-align-bottom',
910 ],
911 ],
912 'condition' => [
913 'ekit_blog_posts_layout_style' => 'elementskit-blog-block-post',
914 ],
915 'default' => 'flex-start',
916 'selectors' => [
917 '{{WRAPPER}} .elementskit-blog-block-post > .row' => 'align-items: {{VALUE}};',
918 ],
919 ]
920 );
921
922 $this->add_responsive_control(
923 'ekit_blog_posts_radius',
924 [
925 'label' => esc_html__('Container Border radius', 'elementskit-lite'),
926 'type' => Controls_Manager::DIMENSIONS,
927 'size_units' => ['px', '%', 'em'],
928 'selectors' => [
929 '{{WRAPPER}} .elementskit-blog-block-post, {{WRAPPER}} .elementskit-post-image-card, {{WRAPPER}} .elementskit-post-card' => 'border-radius: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};',
930 ],
931 ]
932 );
933
934 $this->add_responsive_control(
935 'ekit_blog_posts_padding',
936 [
937 'label' => esc_html__('Container Padding', 'elementskit-lite'),
938 'type' => Controls_Manager::DIMENSIONS,
939 'size_units' => ['px', '%', 'em'],
940 'selectors' => [
941 '{{WRAPPER}} .elementskit-blog-block-post, {{WRAPPER}} .elementskit-post-image-card, {{WRAPPER}} .elementskit-post-card' => 'padding: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};',
942 ],
943 ]
944 );
945
946 $this->add_responsive_control(
947 'ekit_blog_posts_margin',
948 [
949 'label' => esc_html__('Container Margin', 'elementskit-lite'),
950 'type' => Controls_Manager::DIMENSIONS,
951 'size_units' => ['px', '%', 'em'],
952 'tablet_default' => [
953 'top' => '0',
954 'right' => '0',
955 'bottom' => '30',
956 'left' => '0',
957 'unit' => 'px',
958 'isLinked' => 'false',
959 ],
960 'mobile_default' => [
961 'top' => '0',
962 'right' => '0',
963 'bottom' => '30',
964 'left' => '0',
965 'unit' => 'px',
966 'isLinked' => 'false',
967 ],
968 'selectors' => [
969 '{{WRAPPER}} .ekit-blog-post-masonry-inactive .elementskit-blog-block-post, {{WRAPPER}} .ekit-blog-post-masonry-inactive .elementskit-post-image-card, {{WRAPPER}} .ekit-blog-post-masonry-inactive .elementskit-post-card' => 'margin: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};',
970 ],
971 'condition' => [
972 'grid_masonry' => '',
973 ],
974 ]
975 );
976
977 $this->add_responsive_control(
978 'ekit_blog_posts_text_content_wraper_padding',
979 [
980 'label' => esc_html__('Content Padding', 'elementskit-lite'),
981 'type' => Controls_Manager::DIMENSIONS,
982 'size_units' => ['px', '%'],
983 'selectors' => [
984 '{{WRAPPER}} .elementskit-blog-block-post .elementskit-post-body' => 'padding: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};',
985 '{{WRAPPER}} .elementskit-post-image-card .elementskit-post-body' => 'padding: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};',
986 ],
987 ]
988 );
989
990 $this->add_control(
991 'ekit_blog_posts_container_border_title',
992 [
993 'label' => esc_html__('Container Border', 'elementskit-lite'),
994 'type' => Controls_Manager::HEADING,
995 'separator' => 'before',
996 ]
997 );
998
999 $this->add_group_control(
1000 Group_Control_Border::get_type(),
1001 [
1002 'name' => 'ekit_blog_posts_border',
1003 'label' => esc_html__('Container Border', 'elementskit-lite'),
1004 'selector' => '{{WRAPPER}} .elementskit-blog-block-post, {{WRAPPER}} .elementskit-post-image-card, {{WRAPPER}} .elementskit-post-card',
1005 ]
1006 );
1007
1008 $this->add_control(
1009 'ekit_blog_posts_content_border_title',
1010 [
1011 'label' => esc_html__('Content Border', 'elementskit-lite'),
1012 'type' => Controls_Manager::HEADING,
1013 'separator' => 'before',
1014 'condition' => [
1015 'ekit_blog_posts_layout_style' => 'elementskit-post-image-card',
1016 'ekit_blog_posts_feature_img' => 'yes'
1017 ]
1018 ]
1019 );
1020
1021 $this->add_control(
1022 'ekit_blog_posts_content_background',
1023 [
1024 'label' => esc_html_x('Container Background Color', 'elementskit', 'elementskit-lite'),
1025 'type' => Controls_Manager::COLOR,
1026 'default' => '',
1027 'selectors' => [
1028 '{{WRAPPER}} .elementskit-post-body' => 'background-color: {{VALUE}};',
1029 ],
1030 ]
1031 );
1032
1033 $this->add_group_control(
1034 Group_Control_Box_Shadow::get_type(),
1035 [
1036 'name' => 'ekit_blog_posts_content_box_shadow',
1037 'label' => esc_html__('Box Shadow', 'elementskit-lite'),
1038 'selector' => '{{WRAPPER}} .elementskit-post-body',
1039 ]
1040 );
1041
1042 $this->add_control(
1043 'ekit_blog_posts_content_border_style',
1044 [
1045 'label' => esc_html_x('Border Type', 'Border Control', 'elementskit-lite'),
1046 'type' => Controls_Manager::SELECT,
1047 'options' => [
1048 '' => esc_html__('None', 'elementskit-lite'),
1049 'solid' => esc_html_x('Solid', 'Border Control', 'elementskit-lite'),
1050 'double' => esc_html_x('Double', 'Border Control', 'elementskit-lite'),
1051 'dotted' => esc_html_x('Dotted', 'Border Control', 'elementskit-lite'),
1052 'dashed' => esc_html_x('Dashed', 'Border Control', 'elementskit-lite'),
1053 'groove' => esc_html_x('Groove', 'Border Control', 'elementskit-lite'),
1054 ],
1055 'selectors' => [
1056 '{{WRAPPER}} .elementskit-post-body' => 'border-style: {{VALUE}};',
1057 ],
1058 'condition' => [
1059 'ekit_blog_posts_layout_style' => 'elementskit-post-image-card',
1060 'ekit_blog_posts_feature_img' => 'yes'
1061 ]
1062 ]
1063 );
1064 $this->add_control(
1065 'ekit_blog_posts_content_border_dimensions',
1066 [
1067 'label' => esc_html_x('Width', 'Border Control', 'elementskit-lite'),
1068 'type' => Controls_Manager::DIMENSIONS,
1069 'selectors' => [
1070 '{{WRAPPER}} .elementskit-post-body' => 'border-width: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};',
1071 ],
1072 'condition' => [
1073 'ekit_blog_posts_layout_style' => 'elementskit-post-image-card',
1074 'ekit_blog_posts_feature_img' => 'yes'
1075 ]
1076 ]
1077 );
1078 $this->start_controls_tabs('ekit_blog_posts_content_border_tabs', [
1079 'condition' => [
1080 'ekit_blog_posts_layout_style' => 'elementskit-post-image-card',
1081 'ekit_blog_posts_feature_img' => 'yes'
1082 ]
1083 ]);
1084 $this->start_controls_tab(
1085 'ekit_blog_posts_content_border_normal',
1086 [
1087 'label' => esc_html__('Normal', 'elementskit-lite'),
1088 ]
1089 );
1090
1091 $this->add_control(
1092 'ekit_blog_posts_content_border_color_normal',
1093 [
1094 'label' => esc_html_x('Color', 'Border Control', 'elementskit-lite'),
1095 'type' => Controls_Manager::COLOR,
1096 'default' => '',
1097 'selectors' => [
1098 '{{WRAPPER}} .elementskit-post-body' => 'border-color: {{VALUE}};',
1099 ],
1100 ]
1101 );
1102 $this->end_controls_tab();
1103
1104 $this->start_controls_tab(
1105 'ekit_blog_posts_content_border_color_hover_style',
1106 [
1107 'label' => esc_html__('Hover', 'elementskit-lite'),
1108 ]
1109 );
1110 $this->add_control(
1111 'ekit_blog_posts_content_border_color_hover',
1112 [
1113 'label' => esc_html_x('Color', 'Border Control', 'elementskit-lite'),
1114 'type' => Controls_Manager::COLOR,
1115 'default' => '',
1116 'selectors' => [
1117 '{{WRAPPER}} .elementskit-post-image-card:hover .elementskit-post-body ' => 'border-color: {{VALUE}};',
1118 ],
1119 ]
1120 );
1121 $this->end_controls_tab();
1122 $this->end_controls_tabs();
1123
1124 $this->end_controls_section();
1125
1126
1127 // Featured Image Styles
1128 $this->start_controls_section(
1129 'ekit_blog_posts_feature_img_style',
1130 [
1131 'label' => esc_html__('Featured Image', 'elementskit-lite'),
1132 'tab' => Controls_Manager::TAB_STYLE,
1133 'condition' => [
1134 'ekit_blog_posts_layout_style!' => 'elementskit-post-card',
1135 'ekit_blog_posts_feature_img' => 'yes'
1136 ],
1137 ]
1138 );
1139
1140 $this->add_responsive_control(
1141 'ekit_blog_posts_feature_img_size',
1142 [
1143 'label' => esc_html__('Image Width', 'elementskit-lite'),
1144 'type' => Controls_Manager::SLIDER,
1145 'size_units' => ['px', '%', 'em', 'rem'],
1146 'range' => [
1147 'px' => [
1148 'min' => 1,
1149 'max' => 500,
1150 ],
1151 '%' => [
1152 'min' => 1,
1153 'max' => 100,
1154 ],
1155 'em' => [
1156 'min' => 1,
1157 'max' => 50,
1158 ],
1159 'rem' => [
1160 'min' => 1,
1161 'max' => 50,
1162 ],
1163 ],
1164 'selectors' => [
1165 '{{WRAPPER}} .elementskit-entry-thumb img' => 'width: {{SIZE}}{{UNIT}};',
1166 ],
1167 'condition' => [
1168 'ekit_blog_posts_layout_style' => 'elementskit-post-image-card',
1169 'ekit_blog_posts_layout_style_thumb' => 'flex',
1170 ],
1171 ]
1172 );
1173
1174 $this->add_group_control(
1175 Group_Control_Box_Shadow::get_type(),
1176 [
1177 'name' => 'ekit_blog_posts_feature_img_shadow',
1178 'selector' => '{{WRAPPER}} .elementskit-entry-thumb',
1179 ]
1180 );
1181
1182 $this->add_group_control(
1183 Group_Control_Border::get_type(),
1184 [
1185 'name' => 'ekit_blog_posts_feature_img_border',
1186 'label' => esc_html__('Border', 'elementskit-lite'),
1187 'selector' => '{{WRAPPER}} .elementskit-entry-thumb',
1188 ]
1189 );
1190
1191 $this->add_responsive_control(
1192 'ekit_blog_posts_feature_img_radius',
1193 [
1194 'label' => esc_html__('Border radius', 'elementskit-lite'),
1195 'type' => Controls_Manager::DIMENSIONS,
1196 'size_units' => ['px', '%', 'em'],
1197 'selectors' => [
1198 '{{WRAPPER}} .elementskit-entry-thumb' => 'border-radius: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};',
1199 ],
1200 ]
1201 );
1202
1203 $this->add_responsive_control(
1204 'ekit_blog_posts_feature_img_margin',
1205 [
1206 'label' => esc_html__('Margin', 'elementskit-lite'),
1207 'type' => Controls_Manager::DIMENSIONS,
1208 'size_units' => ['px', '%', 'em'],
1209 'selectors' => [
1210 '{{WRAPPER}} .elementskit-entry-thumb' => 'margin: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};',
1211 ],
1212 ]
1213 );
1214
1215 $this->add_responsive_control(
1216 'ekit_blog_posts_feature_img_padding',
1217 [
1218 'label' => esc_html__('Padding', 'elementskit-lite'),
1219 'type' => Controls_Manager::DIMENSIONS,
1220 'size_units' => ['px', '%', 'em'],
1221 'selectors' => [
1222 ' {{WRAPPER}} .ekit-wid-con .elementskit-entry-thumb' => 'padding: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};',
1223 ],
1224 ]
1225 );
1226
1227 $this->end_controls_section();
1228
1229
1230 // Meta Styles
1231 $this->start_controls_section(
1232 'ekit_blog_posts_meta_style',
1233 [
1234 'label' => esc_html__('Meta', 'elementskit-lite'),
1235 'tab' => Controls_Manager::TAB_STYLE,
1236 'condition' => [
1237 'ekit_blog_posts_meta' => 'yes',
1238 ],
1239 ]
1240 );
1241
1242 $this->add_group_control(
1243 Group_Control_Typography::get_type(),
1244 [
1245 'name' => 'ekit_blog_posts_meta_typography',
1246 'selector' => '{{WRAPPER}} .post-meta-list a, {{WRAPPER}} .post-meta-list .meta-date-text',
1247 ]
1248 );
1249
1250 $this->add_responsive_control(
1251 'ekit_blog_posts_meta_alignment',
1252 [
1253 'label' => esc_html__('Alignment', 'elementskit-lite'),
1254 'type' => Controls_Manager::CHOOSE,
1255 'options' => [
1256 'left' => [
1257 'title' => esc_html__('Left', 'elementskit-lite'),
1258 'icon' => 'eicon-text-align-left',
1259 ],
1260 'center' => [
1261 'title' => esc_html__('Center', 'elementskit-lite'),
1262 'icon' => 'eicon-text-align-center',
1263 ],
1264 'right' => [
1265 'title' => esc_html__('Right', 'elementskit-lite'),
1266 'icon' => 'eicon-text-align-right',
1267 ],
1268 ],
1269 'default' => 'left',
1270 'selectors' => [
1271 '{{WRAPPER}} .post-meta-list' => 'text-align: {{VALUE}};',
1272 ],
1273 ]
1274 );
1275
1276 $this->add_responsive_control(
1277 'ekit_blog_posts_meta_margin',
1278 [
1279 'label' => esc_html__('Container Margin', 'elementskit-lite'),
1280 'type' => Controls_Manager::DIMENSIONS,
1281 'size_units' => ['px', '%', 'em'],
1282 'selectors' => [
1283 '{{WRAPPER}} .post-meta-list' => 'margin: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};',
1284 ],
1285 ]
1286 );
1287
1288 $this->add_responsive_control(
1289 'ekit_blog_posts_meta_item_margin',
1290 [
1291 'label' => esc_html__('Item Margin', 'elementskit-lite'),
1292 'type' => Controls_Manager::DIMENSIONS,
1293 'size_units' => ['px', '%', 'em'],
1294 'selectors' => [
1295 '{{WRAPPER}} .post-meta-list > span' => 'margin: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};',
1296 ],
1297 ]
1298 );
1299
1300 $this->add_control(
1301 'ekit_blog_posts_meta_padding',
1302 [
1303 'label' => esc_html__('Item Padding', 'elementskit-lite'),
1304 'type' => Controls_Manager::DIMENSIONS,
1305 'size_units' => ['px', '%', 'em'],
1306 'selectors' => [
1307 '{{WRAPPER}} .post-meta-list > span' => 'padding: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};',
1308 ],
1309 ]
1310 );
1311
1312 $this->add_control(
1313 'ekit_blog_posts_meta_icon_padding',
1314 [
1315 'label' => esc_html__('Icon Spacing', 'elementskit-lite'),
1316 'type' => Controls_Manager::DIMENSIONS,
1317 'size_units' => ['px', '%', 'em'],
1318 'selectors' => [
1319 '{{WRAPPER}} .post-meta-list > span > i, {{WRAPPER}} .post-meta-list > span > svg' => 'margin: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};',
1320 ],
1321 ]
1322 );
1323
1324 $this->add_responsive_control(
1325 'ekit_blog_posts_meta_icon_size',
1326 [
1327 'label' => esc_html__('Icon Size', 'elementskit-lite'),
1328 'type' => Controls_Manager::SLIDER,
1329 'range' => [
1330 'px' => [
1331 'min' => 6,
1332 'max' => 300,
1333 ],
1334 ],
1335 'selectors' => [
1336 '{{WRAPPER}} .post-meta-list > span :is(i, svg)' => 'font-size: {{SIZE}}{{UNIT}};',
1337 ],
1338 ]
1339 );
1340
1341 $this->start_controls_tabs(
1342 'ekit_blog_posts_meta_background_normal_and_hover_tab'
1343 );
1344 $this->start_controls_tab(
1345 'ekit_blog_posts_meta_background_normal_tab',
1346 [
1347 'label' => esc_html__('Normal', 'elementskit-lite'),
1348 ]
1349 );
1350
1351 $this->add_control(
1352 'ekit_blog_posts_meta_color_normal',
1353 [
1354 'label' => esc_html__('Color', 'elementskit-lite'),
1355 'type' => Controls_Manager::COLOR,
1356 'selectors' => [
1357 '{{WRAPPER}} .post-meta-list > span' => 'color: {{VALUE}}; fill: {{VALUE}};',
1358 ],
1359 ]
1360 );
1361
1362 $this->add_control(
1363 'ekit_blog_posts_meta_color_icon_normal',
1364 [
1365 'label' => esc_html__('Icon Color', 'elementskit-lite'),
1366 'type' => Controls_Manager::COLOR,
1367 'selectors' => [
1368 '{{WRAPPER}} .post-meta-list > span i' => 'color: {{VALUE}}',
1369 '{{WRAPPER}} .post-meta-list > span svg' => 'fill: {{VALUE}}',
1370 ],
1371 ]
1372 );
1373
1374 $this->add_group_control(
1375 Group_Control_Background::get_type(),
1376 [
1377 'name' => 'ekit_blog_posts_meta_background_normal',
1378 'label' => esc_html__('Background', 'elementskit-lite'),
1379 'types' => ['classic', 'gradient',],
1380 'selector' => '{{WRAPPER}} .post-meta-list > span',
1381 'exclude' => ['image'] // PHPCS:ignore WordPressVIPMinimum.Performance.WPQueryParams.PostNotIn_exclude
1382 ]
1383 );
1384
1385 $this->add_group_control(
1386 Group_Control_Border::get_type(),
1387 [
1388 'name' => 'ekit_blog_posts_meta_border_normal',
1389 'label' => esc_html__('Border', 'elementskit-lite'),
1390 'selector' => '{{WRAPPER}} .post-meta-list > span',
1391 ]
1392 );
1393
1394 $this->add_control(
1395 'ekit_blog_posts_meta_border_radius_normal',
1396 [
1397 'label' => esc_html__('Border Radius', 'elementskit-lite'),
1398 'type' => Controls_Manager::DIMENSIONS,
1399 'size_units' => ['px', '%', 'em'],
1400 'selectors' => [
1401 '{{WRAPPER}} .post-meta-list > span' => 'border-radius: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};',
1402 ],
1403 ]
1404 );
1405
1406 $this->add_group_control(
1407 Group_Control_Box_Shadow::get_type(),
1408 [
1409 'name' => 'ekit_blog_posts_meta_box_shadow_normal',
1410 'label' => esc_html__('Box Shadow', 'elementskit-lite'),
1411 'selector' => '{{WRAPPER}} .post-meta-list > span',
1412 ]
1413 );
1414
1415 $this->add_group_control(
1416 Group_Control_Text_Shadow::get_type(),
1417 [
1418 'name' => 'ekit_blog_posts_meta_shadow_normal',
1419 'selector' => '{{WRAPPER}} .post-meta-list > span',
1420 ]
1421 );
1422
1423 $this->end_controls_tab();
1424
1425 $this->start_controls_tab(
1426 'ekit_blog_posts_meta_background_hover_tab',
1427 [
1428 'label' => esc_html__('Hover', 'elementskit-lite'),
1429 ]
1430 );
1431
1432 $this->add_control(
1433 'ekit_blog_posts_meta_color_hover',
1434 [
1435 'label' => esc_html__('Color', 'elementskit-lite'),
1436 'type' => Controls_Manager::COLOR,
1437 'selectors' => [
1438 '{{WRAPPER}} .post-meta-list > span:hover' => 'color: {{VALUE}}; fill: {{VALUE}};',
1439 '{{WRAPPER}}.ekit-blog-posts--bg-hover .elementskit-post-image-card:hover .post-meta-list > span' => 'color: {{VALUE}}; fill: {{VALUE}};',
1440 ],
1441 ]
1442 );
1443
1444 $this->add_control(
1445 'ekit_blog_posts_meta_color_icon_hover',
1446 [
1447 'label' => esc_html__('Icon Color', 'elementskit-lite'),
1448 'type' => Controls_Manager::COLOR,
1449 'selectors' => [
1450 '{{WRAPPER}} .post-meta-list > span:hover i' => 'color: {{VALUE}}',
1451 '{{WRAPPER}} .post-meta-list > span:hover svg' => 'fill: {{VALUE}}',
1452 '{{WRAPPER}}.ekit-blog-posts--bg-hover .elementskit-post-image-card:hover .post-meta-list > span:hover i' => 'color: {{VALUE}}',
1453 '{{WRAPPER}}.ekit-blog-posts--bg-hover .elementskit-post-image-card:hover .post-meta-list > span:hover svg' => 'fill: {{VALUE}}',
1454 ],
1455 ]
1456 );
1457
1458 $this->add_group_control(
1459 Group_Control_Background::get_type(),
1460 [
1461 'name' => 'ekit_blog_posts_meta_background_hover',
1462 'label' => esc_html__('Background', 'elementskit-lite'),
1463 'types' => ['classic', 'gradient',],
1464 'selector' => '{{WRAPPER}} .post-meta-list > span:hover, {{WRAPPER}}.ekit-blog-posts--bg-hover .elementskit-post-image-card:hover .post-meta-list > span',
1465 'exclude' => ['image'] // PHPCS:ignore WordPressVIPMinimum.Performance.WPQueryParams.PostNotIn_exclude
1466 ]
1467 );
1468
1469 $this->add_group_control(
1470 Group_Control_Border::get_type(),
1471 [
1472 'name' => 'ekit_blog_posts_meta_border_hover',
1473 'label' => esc_html__('Border', 'elementskit-lite'),
1474 'selector' => '{{WRAPPER}} .post-meta-list > span:hover, {{WRAPPER}}.ekit-blog-posts--bg-hover .elementskit-post-image-card:hover .post-meta-list > span',
1475 ]
1476 );
1477
1478 $this->add_control(
1479 'ekit_blog_posts_meta_border_radius_hover',
1480 [
1481 'label' => esc_html__('Border Radius', 'elementskit-lite'),
1482 'type' => Controls_Manager::DIMENSIONS,
1483 'size_units' => ['px', '%', 'em'],
1484 'selectors' => [
1485 '{{WRAPPER}} .post-meta-list > span:hover, {{WRAPPER}}.ekit-blog-posts--bg-hover .elementskit-post-image-card:hover .post-meta-list > span' => 'border-radius: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};',
1486 ],
1487 ]
1488 );
1489
1490 $this->add_group_control(
1491 Group_Control_Box_Shadow::get_type(),
1492 [
1493 'name' => 'ekit_blog_posts_meta_box_shadow_hover',
1494 'label' => esc_html__('Box Shadow', 'elementskit-lite'),
1495 'selector' => '{{WRAPPER}} .post-meta-list > span:hover, {{WRAPPER}}.ekit-blog-posts--bg-hover .elementskit-post-image-card:hover .post-meta-list > span',
1496 ]
1497 );
1498
1499 $this->add_group_control(
1500 Group_Control_Text_Shadow::get_type(),
1501 [
1502 'name' => 'ekit_blog_posts_meta_shadow_hover',
1503 'selector' => '{{WRAPPER}} .post-meta-list > span:hover, {{WRAPPER}}.ekit-blog-posts--bg-hover .elementskit-post-image-card:hover .post-meta-list > span',
1504 ]
1505 );
1506
1507 $this->end_controls_tab();
1508
1509 $this->end_controls_tabs();
1510
1511 $this->end_controls_section();
1512
1513 // Floating Date Styles
1514 $this->start_controls_section(
1515 'ekit_blog_posts_floating_date_style_area',
1516 [
1517 'label' => esc_html__('Floating Date', 'elementskit-lite'),
1518 'tab' => Controls_Manager::TAB_STYLE,
1519 'condition' => [
1520 'ekit_blog_posts_floating_date' => 'yes',
1521 ],
1522 ]
1523 );
1524
1525 $this->add_responsive_control(
1526 'ekit_blog_posts_floating_date_height',
1527 [
1528 'label' => esc_html__('Height', 'elementskit-lite'),
1529 'type' => Controls_Manager::SLIDER,
1530 'default' => [
1531 'size' => '',
1532 ],
1533 'range' => [
1534 'px' => [
1535 'min' => -30,
1536 'step' => 1,
1537 ],
1538 ],
1539 'size_units' => ['px'],
1540 'selectors' => [
1541 '{{WRAPPER}} .elementskit-meta-lists .elementskit-single-meta' => 'height: {{SIZE}}{{UNIT}};',
1542 ],
1543 'condition' => [
1544 'ekit_blog_posts_floating_date_style' => 'style1',
1545 ],
1546
1547 ]
1548 );
1549 $this->add_responsive_control(
1550 'ekit_blog_posts_floating_date_width',
1551 [
1552 'label' => esc_html__('Width', 'elementskit-lite'),
1553 'type' => Controls_Manager::SLIDER,
1554 'default' => [
1555 'size' => '',
1556 ],
1557 'range' => [
1558 'px' => [
1559 'min' => -30,
1560 'step' => 1,
1561 ],
1562 ],
1563 'size_units' => ['px'],
1564 'selectors' => [
1565 '{{WRAPPER}} .elementskit-meta-lists .elementskit-single-meta' => 'width: {{SIZE}}{{UNIT}};',
1566 ],
1567 'condition' => [
1568 'ekit_blog_posts_floating_date_style' => 'style1',
1569 ],
1570 ]
1571 );
1572 $this->add_responsive_control(
1573 'ekit_blog_posts_floating_date_left_pos',
1574 [
1575 'label' => esc_html__('Left', 'elementskit-lite'),
1576 'type' => Controls_Manager::SLIDER,
1577 'default' => [
1578 'size' => '',
1579 ],
1580 'size_units' => ['px', '%'],
1581 'range' => [
1582 'px' => [
1583 'min' => -100,
1584 'max' => 1000,
1585 'step' => 1,
1586 ],
1587 '%' => [
1588 'min' => 0,
1589 'max' => 100,
1590 'step' => 1,
1591 ],
1592 ],
1593 'selectors' => [
1594 '{{WRAPPER}} .elementskit-meta-lists' => 'left: {{SIZE}}{{UNIT}};',
1595 ],
1596 'condition' => [
1597 'ekit_blog_posts_floating_date_style' => 'style1',
1598 ],
1599 ]
1600 );
1601 $this->add_responsive_control(
1602 'ekit_blog_posts_floating_date_top_pos',
1603 [
1604 'label' => esc_html__('Top', 'elementskit-lite'),
1605 'type' => Controls_Manager::SLIDER,
1606 'default' => [
1607 'size' => '',
1608 ],
1609 'size_units' => ['px', '%'],
1610 'range' => [
1611 'px' => [
1612 'min' => -100,
1613 'max' => 1000,
1614 'step' => 1,
1615 ],
1616 '%' => [
1617 'min' => 0,
1618 'max' => 100,
1619 'step' => 1,
1620 ],
1621 ],
1622 'selectors' => [
1623 '{{WRAPPER}} .elementskit-meta-lists' => 'top: {{SIZE}}{{UNIT}};',
1624 ],
1625 'condition' => [
1626 'ekit_blog_posts_floating_date_style' => 'style1',
1627 ],
1628 ]
1629 );
1630 $this->add_responsive_control(
1631 'ekit_blog_posts_floating_date_bottom_pos',
1632 [
1633 'label' => esc_html__('Bottom', 'elementskit-lite'),
1634 'type' => Controls_Manager::SLIDER,
1635 'default' => [
1636 'size' => '',
1637 ],
1638 'size_units' => ['px', '%'],
1639 'range' => [
1640 'px' => [
1641 'min' => 0,
1642 'max' => 1000,
1643 'step' => 1,
1644 ],
1645 '%' => [
1646 'min' => 0,
1647 'max' => 100,
1648 'step' => 1,
1649 ],
1650 ],
1651 'selectors' => [
1652 '{{WRAPPER}} .elementskit-meta-lists.elementskit-style-tag' => 'bottom: {{SIZE}}{{UNIT}};',
1653 ],
1654 'condition' => [
1655 'ekit_blog_posts_floating_date_style' => 'style2',
1656 ],
1657 ]
1658 );
1659 $this->add_responsive_control(
1660 'ekit_blog_posts_floating_date_style2_left_pos',
1661 [
1662 'label' => esc_html__('Left', 'elementskit-lite'),
1663 'type' => Controls_Manager::SLIDER,
1664 'default' => [
1665 'size' => '-10',
1666 'unit' => 'px'
1667 ],
1668 'size_units' => ['px', '%'],
1669 'range' => [
1670 'px' => [
1671 'min' => -10,
1672 'max' => 100,
1673 'step' => 1,
1674 ],
1675 '%' => [
1676 'min' => -10,
1677 'max' => 100,
1678 'step' => 1,
1679 ],
1680 ],
1681 'selectors' => [
1682 '{{WRAPPER}} .elementskit-meta-lists.elementskit-style-tag' => 'left: {{SIZE}}{{UNIT}};',
1683 ],
1684 'condition' => [
1685 'ekit_blog_posts_floating_date_style' => 'style2',
1686 ],
1687 ]
1688 );
1689 $this->add_control(
1690 'ekit_blog_posts_floating_date_heading',
1691 [
1692 'label' => esc_html__('Date Typography', 'elementskit-lite'),
1693 'type' => Controls_Manager::HEADING,
1694 'separator' => 'before',
1695 ]
1696 );
1697 $this->add_group_control(
1698 Group_Control_Typography::get_type(),
1699 [
1700 'name' => 'ekit_blog_posts_floating_date_typography_group',
1701 'selector' => '{{WRAPPER}} .elementskit-meta-lists .elementskit-single-meta .elementskit-meta-wraper strong',
1702 ]
1703 );
1704
1705 $this->add_control(
1706 'ekit_blog_posts_floating_date_color',
1707 [
1708 'label' => esc_html__('Color', 'elementskit-lite'),
1709 'type' => Controls_Manager::COLOR,
1710 'selectors' => [
1711 '{{WRAPPER}} .elementskit-meta-lists .elementskit-single-meta .elementskit-meta-wraper strong' => 'color: {{VALUE}};'
1712 ],
1713 ]
1714 );
1715 $this->add_control(
1716 'ekit_blog_posts_floating_date_month_heading',
1717 [
1718 'label' => esc_html__('Month Typography', 'elementskit-lite'),
1719 'type' => Controls_Manager::HEADING,
1720 'separator' => 'before',
1721 ]
1722 );
1723 $this->add_group_control(
1724 Group_Control_Typography::get_type(),
1725 [
1726 'name' => 'ekit_blog_posts_floating_date_month_typography_group',
1727 'selector' => '{{WRAPPER}} .elementskit-meta-lists .elementskit-single-meta',
1728 ]
1729 );
1730
1731 $this->add_control(
1732 'ekit_blog_posts_floating_date_month_color',
1733 [
1734 'label' => esc_html__('Color', 'elementskit-lite'),
1735 'type' => Controls_Manager::COLOR,
1736 'selectors' => [
1737 '{{WRAPPER}} .elementskit-meta-lists .elementskit-single-meta .elementskit-meta-wraper' => 'color: {{VALUE}};'
1738 ],
1739 ]
1740 );
1741 $this->add_group_control(
1742 Group_Control_Background::get_type(),
1743 array(
1744 'name' => 'ekit_blog_posts_floating_date_bg_color_group',
1745 'selector' => '{{WRAPPER}} .elementskit-meta-lists .elementskit-single-meta',
1746 'separator' => 'before',
1747 )
1748 );
1749
1750 $this->add_responsive_control(
1751 'ekit_blog_posts_floating_date_padding',
1752 [
1753 'label' => esc_html__('Padding', 'elementskit-lite'),
1754 'type' => Controls_Manager::DIMENSIONS,
1755 'size_units' => ['px', 'em', '%'],
1756 'selectors' => [
1757 '{{WRAPPER}} .elementskit-meta-lists.elementskit-style-tag > .elementskit-single-meta' => 'padding: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};',
1758 ],
1759 'condition' => [
1760 'ekit_blog_posts_floating_date_style' => 'style2',
1761 ],
1762 ]
1763 );
1764 $this->add_group_control(
1765 Group_Control_Border::get_type(),
1766 [
1767 'name' => 'ekit_blog_posts_floating_date_border_group',
1768 'label' => esc_html__('Border', 'elementskit-lite'),
1769 'selector' => '{{WRAPPER}} .elementskit-meta-lists .elementskit-single-meta',
1770 'condition' => [
1771 'ekit_blog_posts_floating_date_style' => 'style1',
1772 ],
1773 ]
1774 );
1775 $this->add_responsive_control(
1776 'ekit_blog_posts_floating_date_border_radius',
1777 [
1778 'label' => esc_html__('Border Radius', 'elementskit-lite'),
1779 'type' => Controls_Manager::DIMENSIONS,
1780 'size_units' => ['px'],
1781 'default' => [
1782 'top' => '',
1783 'right' => '',
1784 'bottom' => '',
1785 'left' => '',
1786 ],
1787 'selectors' => [
1788 '{{WRAPPER}} .elementskit-meta-lists .elementskit-single-meta' => 'border-radius: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};',
1789 ],
1790 'condition' => [
1791 'ekit_blog_posts_floating_date_style' => 'style',
1792 ],
1793 ]
1794 );
1795 $this->add_group_control(
1796 Group_Control_Box_Shadow::get_type(),
1797 [
1798 'name' => 'ekit_blog_posts_floating_date_shadow_group',
1799 'selector' => '{{WRAPPER}} .elementskit-meta-lists .elementskit-single-meta',
1800 'condition' => [
1801 'ekit_blog_posts_floating_date_style' => 'style',
1802 ],
1803 ]
1804 );
1805 $this->add_control(
1806 'ekit_blog_posts_floating_date_triangle_title',
1807 [
1808 'label' => esc_html__('Triangle', 'elementskit-lite'),
1809 'type' => Controls_Manager::HEADING,
1810 'separator' => 'before',
1811 'condition' => [
1812 'ekit_blog_posts_floating_date_style' => 'style2',
1813 ],
1814 ]
1815 );
1816 $this->add_control(
1817 'ekit_blog_posts_floating_date_triangle_color',
1818 [
1819 'label' => esc_html__('Triangle Background', 'elementskit-lite'),
1820 'type' => Controls_Manager::COLOR,
1821 'selectors' => [
1822 '{{WRAPPER}} .elementskit-meta-lists.elementskit-style-tag > .elementskit-single-meta::before' => 'color: {{VALUE}}',
1823 ],
1824 'condition' => [
1825 'ekit_blog_posts_floating_date_style' => 'style2',
1826 ],
1827 ]
1828 );
1829 $this->add_control(
1830 'ekit_blog_posts_floating_date_triangle_size',
1831 [
1832 'label' => esc_html__('Triangle Size', 'elementskit-lite'),
1833 'condition' => [
1834 'ekit_blog_posts_floating_date_style' => 'style2',
1835 ],
1836 'type' => Controls_Manager::SLIDER,
1837 'size_units' => ['px'],
1838 'range' => [
1839 'px' => [
1840 'min' => 0,
1841 'max' => 100,
1842 'step' => 1,
1843 ],
1844 ],
1845 'default' => [
1846 'unit' => 'px',
1847 'size' => 5,
1848 ],
1849 'selectors' => [
1850 '{{WRAPPER}} .elementskit-meta-lists.elementskit-style-tag > .elementskit-single-meta::before' => 'border-width: {{SIZE}}{{UNIT}};',
1851 ],
1852 'condition' => [
1853 'ekit_blog_posts_floating_date_style' => 'style2',
1854 ],
1855 ]
1856 );
1857 $this->add_control(
1858 'ekit_blog_posts_floating_date_triangle_position_left',
1859 [
1860 'label' => esc_html__('Triangle Position Left', 'elementskit-lite'),
1861 'condition' => [
1862 'ekit_blog_posts_floating_date_style' => 'style2',
1863 ],
1864 'type' => Controls_Manager::SLIDER,
1865 'size_units' => ['px', '%'],
1866 'range' => [
1867 'px' => [
1868 'min' => 0,
1869 'max' => 100,
1870 'step' => 1,
1871 ],
1872 ],
1873 'default' => [
1874 'unit' => '%',
1875 'size' => 0,
1876 ],
1877 'selectors' => [
1878 '{{WRAPPER}} .elementskit-meta-lists.elementskit-style-tag > .elementskit-single-meta::before' => 'left: {{SIZE}}{{UNIT}};',
1879 ],
1880 'condition' => [
1881 'ekit_blog_posts_floating_date_style' => 'style2',
1882 ],
1883 ]
1884 );
1885 $this->add_control(
1886 'ekit_blog_posts_floating_date_triangle_position_top',
1887 [
1888 'label' => esc_html__('Triangle Position Top', 'elementskit-lite'),
1889 'condition' => [
1890 'ekit_blog_posts_floating_date_style' => 'style2',
1891 ],
1892 'type' => Controls_Manager::SLIDER,
1893 'size_units' => ['px', '%'],
1894 'range' => [
1895 'px' => [
1896 'min' => -100,
1897 'max' => 100,
1898 'step' => 1,
1899 ],
1900 ],
1901 'default' => [
1902 'unit' => 'px',
1903 'size' => -10,
1904 ],
1905 'selectors' => [
1906 '{{WRAPPER}} .elementskit-meta-lists.elementskit-style-tag > .elementskit-single-meta::before' => 'top: {{SIZE}}{{UNIT}};',
1907 ],
1908 'condition' => [
1909 'ekit_blog_posts_floating_date_style' => 'style2',
1910 ],
1911 ]
1912 );
1913
1914 $this->add_control(
1915 'ekit_blog_posts_floating_date_triangle_position_alignment',
1916 [
1917 'label' => esc_html__('Triangle Direction', 'elementskit-lite'),
1918 'type' => Controls_Manager::CHOOSE,
1919 'options' => [
1920 'triangle_left' => [
1921 'title' => esc_html__('From Left', 'elementskit-lite'),
1922 'icon' => 'fa fa-caret-right',
1923 ],
1924 'triangle_right' => [
1925 'title' => esc_html__('From Right', 'elementskit-lite'),
1926 'icon' => 'fa fa-caret-left',
1927 ],
1928 ],
1929 'default' => 'triangle_left',
1930 'toggle' => true,
1931 'condition' => [
1932 'ekit_blog_posts_floating_date_style' => 'style2',
1933 ],
1934 ]
1935 );
1936
1937 $this->add_control(
1938 'ekit_blog_posts_floating_date_triangle_hr',
1939 [
1940 'type' => Controls_Manager::DIVIDER,
1941 'style' => 'thick',
1942 'condition' => [
1943 'ekit_blog_posts_floating_date_style' => 'style2',
1944 ],
1945 ]
1946 );
1947 $this->end_controls_section();
1948
1949 // Floating Category Styles
1950 $this->start_controls_section(
1951 'ekit_blog_posts_floating_category_style',
1952 [
1953 'label' => esc_html__('Floating Category', 'elementskit-lite'),
1954 'tab' => Controls_Manager::TAB_STYLE,
1955 'condition' => [
1956 'ekit_blog_posts_floating_category' => 'yes',
1957 ],
1958 ]
1959 );
1960
1961 $this->add_responsive_control(
1962 'ekit_blog_posts_floating_category_top_pos',
1963 [
1964 'label' => esc_html__('Top', 'elementskit-lite'),
1965 'type' => Controls_Manager::SLIDER,
1966 'default' => [
1967 'size' => '',
1968 ],
1969 'size_units' => ['px', '%'],
1970 'range' => [
1971 'px' => [
1972 'min' => -100,
1973 'max' => 1000,
1974 'step' => 1,
1975 ],
1976 '%' => [
1977 'min' => 0,
1978 'max' => 100,
1979 'step' => 1,
1980 ],
1981 ],
1982 'selectors' => [
1983 '{{WRAPPER}} .elementskit-meta-categories' => 'top: {{SIZE}}{{UNIT}};',
1984 ],
1985 ]
1986 );
1987
1988 $this->add_responsive_control(
1989 'ekit_blog_posts_floating_category_left_pos',
1990 [
1991 'label' => esc_html__('Left', 'elementskit-lite'),
1992 'type' => Controls_Manager::SLIDER,
1993 'default' => [
1994 'size' => '',
1995 ],
1996 'size_units' => ['px', '%'],
1997 'range' => [
1998 'px' => [
1999 'min' => -100,
2000 'max' => 1000,
2001 'step' => 1,
2002 ],
2003 '%' => [
2004 'min' => 0,
2005 'max' => 100,
2006 'step' => 1,
2007 ],
2008 ],
2009 'selectors' => [
2010 '{{WRAPPER}} .elementskit-meta-categories' => 'left: {{SIZE}}{{UNIT}};',
2011 ],
2012 ]
2013 );
2014
2015 $this->add_group_control(
2016 Group_Control_Typography::get_type(),
2017 [
2018 'name' => 'ekit_blog_posts_floating_category_typography',
2019 'selector' => '{{WRAPPER}} .elementskit-meta-categories .elementskit-meta-wraper span a',
2020 ]
2021 );
2022
2023 $this->add_control(
2024 'ekit_blog_posts_floating_category_color',
2025 [
2026 'label' => esc_html__('Color', 'elementskit-lite'),
2027 'type' => Controls_Manager::COLOR,
2028 'selectors' => [
2029 '{{WRAPPER}} .elementskit-meta-categories .elementskit-meta-wraper span a' => 'color: {{VALUE}};'
2030 ],
2031 ]
2032 );
2033
2034 $this->add_control(
2035 'ekit_blog_posts_floating_category_bg_color',
2036 [
2037 'label' => esc_html__('Background Color', 'elementskit-lite'),
2038 'type' => Controls_Manager::COLOR,
2039 'selectors' => [
2040 '{{WRAPPER}} .elementskit-meta-categories .elementskit-meta-wraper span' => 'background-color: {{VALUE}};'
2041 ],
2042 ]
2043 );
2044
2045
2046 $this->add_responsive_control(
2047 'ekit_blog_posts_floating_category_padding',
2048 [
2049 'label' => esc_html__('Padding', 'elementskit-lite'),
2050 'type' => Controls_Manager::DIMENSIONS,
2051 'size_units' => ['px', '%', 'em'],
2052 'default' => [
2053 'unit' => 'px',
2054 'top' => '4',
2055 'right' => '8',
2056 'bottom' => '4',
2057 'left' => '8',
2058 ],
2059 'selectors' => [
2060 '{{WRAPPER}} .elementskit-meta-categories .elementskit-meta-wraper span' => 'padding: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};',
2061 ],
2062 ]
2063 );
2064
2065 $this->add_responsive_control(
2066 'ekit_blog_posts_floating_category_padding_radius',
2067 [
2068 'label' => esc_html__('Border Radius', 'elementskit-lite'),
2069 'type' => Controls_Manager::DIMENSIONS,
2070 'size_units' => ['px', '%', 'em'],
2071 'separator' => 'after',
2072 'selectors' => [
2073 '{{WRAPPER}} .elementskit-meta-categories .elementskit-meta-wraper span' => 'border-radius: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};',
2074 ],
2075 ]
2076 );
2077
2078 $this->add_responsive_control(
2079 'ekit_blog_posts_floating_category_margin_right',
2080 [
2081 'label' => esc_html__('Space Between Categories', 'elementskit-lite'),
2082 'type' => Controls_Manager::SLIDER,
2083 'default' => [
2084 'size' => '',
2085 ],
2086 'size_units' => ['px', '%'],
2087 'range' => [
2088 'px' => [
2089 'min' => -100,
2090 'max' => 1000,
2091 'step' => 1,
2092 ],
2093 '%' => [
2094 'min' => 0,
2095 'max' => 100,
2096 'step' => 1,
2097 ],
2098 ],
2099 'selectors' => [
2100 '{{WRAPPER}} .elementskit-meta-categories .elementskit-meta-wraper span:not(:last-child)' => 'margin-right: {{SIZE}}{{UNIT}};',
2101 ],
2102 ]
2103 );
2104
2105 $this->end_controls_section();
2106
2107 // Title Styles
2108 $this->start_controls_section(
2109 'ekit_blog_posts_title_style',
2110 [
2111 'label' => esc_html__('Title', 'elementskit-lite'),
2112 'tab' => Controls_Manager::TAB_STYLE,
2113 'condition' => [
2114 'ekit_blog_posts_title' => 'yes',
2115 ],
2116 ]
2117 );
2118
2119 $this->add_group_control(
2120 Group_Control_Typography::get_type(),
2121 [
2122 'name' => 'ekit_blog_posts_title_typography',
2123 'selector' => '{{WRAPPER}} .elementskit-post-body .entry-title, {{WRAPPER}} .elementskit-entry-header .entry-title, {{WRAPPER}} .elementskit-post-image-card .elementskit-post-body .entry-title a, {{WRAPPER}} .elementskit-post-card .elementskit-entry-header .entry-title a,{{WRAPPER}} .elementskit-blog-block-post .elementskit-post-body .entry-title a',
2124 ]
2125 );
2126
2127 $this->start_controls_tabs(
2128 'ekit_blog_posts_title_tabs'
2129 );
2130
2131 $this->start_controls_tab(
2132 'ekit_blog_posts_title_normal',
2133 [
2134 'label' => esc_html__('Normal', 'elementskit-lite'),
2135 ]
2136 );
2137
2138 $this->add_control(
2139 'ekit_blog_posts_title_color',
2140 [
2141 'label' => esc_html__('Color', 'elementskit-lite'),
2142 'type' => Controls_Manager::COLOR,
2143 'selectors' => [
2144 '{{WRAPPER}} .elementskit-post-body .entry-title a' => 'color: {{VALUE}};',
2145 '{{WRAPPER}} .elementskit-entry-header .entry-title a' => 'color: {{VALUE}};'
2146 ],
2147 ]
2148 );
2149
2150 $this->add_group_control(
2151 Group_Control_Text_Shadow::get_type(),
2152 [
2153 'name' => 'ekit_blog_posts_title_shadow',
2154 'selector' => '{{WRAPPER}} .elementskit-post-body .entry-title a, {{WRAPPER}} .elementskit-entry-header .entry-title a',
2155 ]
2156 );
2157
2158 $this->end_controls_tab();
2159
2160 $this->start_controls_tab(
2161 'ekit_blog_posts_title_hover',
2162 [
2163 'label' => esc_html__('Hover', 'elementskit-lite'),
2164 ]
2165 );
2166
2167 $this->add_control(
2168 'ekit_blog_posts_title_hover_color',
2169 [
2170 'label' => esc_html__('Color', 'elementskit-lite'),
2171 'type' => Controls_Manager::COLOR,
2172 'selectors' => [
2173 '{{WRAPPER}} .elementskit-post-body .entry-title a:hover' => 'color: {{VALUE}};',
2174 '{{WRAPPER}} .elementskit-entry-header .entry-title a:hover' => 'color: {{VALUE}};',
2175 '{{WRAPPER}} .elementskit-post-card:hover .entry-title a' => 'color: {{VALUE}};',
2176 '{{WRAPPER}} .elementskit-post-image-card:hover .entry-title a' => 'color: {{VALUE}};'
2177 ],
2178 ]
2179 );
2180
2181 $this->add_group_control(
2182 Group_Control_Text_Shadow::get_type(),
2183 [
2184 'name' => 'ekit_blog_posts_title_hover_shadow',
2185 'selector' => '{{WRAPPER}} .elementskit-post-body .entry-title a:hover, {{WRAPPER}} .elementskit-entry-header .entry-title a:hover',
2186 ]
2187 );
2188
2189 $this->end_controls_tab();
2190
2191 $this->end_controls_tabs();
2192
2193 $this->add_control(
2194 'ekit_blog_posts_title_hover_shadow_hr',
2195 [
2196 'type' => Controls_Manager::DIVIDER,
2197 'style' => 'thick',
2198 ]
2199 );
2200
2201 $this->add_responsive_control(
2202 'ekit_blog_posts_title_alignment',
2203 [
2204 'label' => esc_html__('Alignment', 'elementskit-lite'),
2205 'type' => Controls_Manager::CHOOSE,
2206 'options' => [
2207 'left' => [
2208 'title' => esc_html__('Left', 'elementskit-lite'),
2209 'icon' => 'eicon-text-align-left',
2210 ],
2211 'center' => [
2212 'title' => esc_html__('Center', 'elementskit-lite'),
2213 'icon' => 'eicon-text-align-center',
2214 ],
2215 'right' => [
2216 'title' => esc_html__('Right', 'elementskit-lite'),
2217 'icon' => 'eicon-text-align-right',
2218 ],
2219 'justify' => [
2220 'title' => esc_html__('justify', 'elementskit-lite'),
2221 'icon' => 'eicon-text-align-justify',
2222 ],
2223 ],
2224 'default' => 'left',
2225 'devices' => ['desktop', 'tablet', 'mobile'],
2226 'selectors' => [
2227 '{{WRAPPER}} .elementskit-post-body .entry-title' => 'text-align: {{VALUE}};',
2228 '{{WRAPPER}} .elementskit-entry-header .entry-title' => 'text-align: {{VALUE}};',
2229 ],
2230 ]
2231 );
2232
2233 $this->add_responsive_control(
2234 'ekit_blog_posts_title_margin',
2235 [
2236 'label' => esc_html__('Margin', 'elementskit-lite'),
2237 'type' => Controls_Manager::DIMENSIONS,
2238 'size_units' => ['px', '%', 'em'],
2239 'selectors' => [
2240 '{{WRAPPER}} .elementskit-post-body .entry-title' => 'margin: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};',
2241 '{{WRAPPER}} .elementskit-entry-header .entry-title' => 'margin: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};',
2242 ],
2243 ]
2244 );
2245
2246 $this->add_control(
2247 'ekit_blog_posts_title_separator_hr',
2248 [
2249 'type' => Controls_Manager::DIVIDER,
2250 'style' => 'thick',
2251 'condition' => [
2252 'ekit_blog_posts_layout_style' => 'elementskit-post-card',
2253 ],
2254 ]
2255 );
2256
2257 $this->add_control(
2258 'ekit_blog_posts_title_separator',
2259 [
2260 'label' => esc_html__('Show Separator', 'elementskit-lite'),
2261 'type' => Controls_Manager::SWITCHER,
2262 'label_on' => esc_html__('Yes', 'elementskit-lite'),
2263 'label_off' => esc_html__('No', 'elementskit-lite'),
2264 'default' => 'yes',
2265 'condition' => [
2266 'ekit_blog_posts_layout_style' => 'elementskit-post-card',
2267 ],
2268 ]
2269 );
2270
2271 $this->add_control(
2272 'ekit_blog_posts_title_separator_color',
2273 [
2274 'label' => esc_html__('Separator Color', 'elementskit-lite'),
2275 'type' => Controls_Manager::COLOR,
2276 'condition' => [
2277 'ekit_blog_posts_title_separator' => 'yes',
2278 'ekit_blog_posts_layout_style' => 'elementskit-post-card',
2279 ],
2280 'selectors' => [
2281 '{{WRAPPER}} .elementskit-border-hr' => 'background-color: {{VALUE}};',
2282 ],
2283 ]
2284 );
2285
2286 $this->add_control(
2287 'ekit_blog_posts_title_separator_width',
2288 [
2289 'label' => esc_html__('Width', 'elementskit-lite'),
2290 'type' => Controls_Manager::SLIDER,
2291 'size_units' => ['%'],
2292 'range' => [
2293 '%' => [
2294 'min' => 0,
2295 'max' => 100,
2296 ],
2297 ],
2298 'default' => [
2299 'unit' => '%',
2300 'size' => 5,
2301 ],
2302 'selectors' => [
2303 '{{WRAPPER}} .elementskit-border-hr' => 'width: {{SIZE}}{{UNIT}};',
2304 ],
2305 'condition' => [
2306 'ekit_blog_posts_title_separator' => 'yes',
2307 'ekit_blog_posts_layout_style' => 'elementskit-post-card',
2308 ],
2309 ]
2310 );
2311
2312 $this->add_control(
2313 'ekit_blog_posts_title_separator_height',
2314 [
2315 'label' => esc_html__('Height', 'elementskit-lite'),
2316 'type' => Controls_Manager::SLIDER,
2317 'size_units' => ['px'],
2318 'range' => [
2319 'px' => [
2320 'min' => 0,
2321 'max' => 100,
2322 'step' => 1,
2323 ],
2324 ],
2325 'default' => [
2326 'unit' => 'px',
2327 'size' => 3,
2328 ],
2329 'selectors' => [
2330 '{{WRAPPER}} .elementskit-border-hr' => 'height: {{SIZE}}{{UNIT}};',
2331 ],
2332 'condition' => [
2333 'ekit_blog_posts_title_separator' => 'yes',
2334 'ekit_blog_posts_layout_style' => 'elementskit-post-card',
2335 ],
2336 ]
2337 );
2338
2339 $this->add_control(
2340 'ekit_blog_posts_title_separator_margin',
2341 [
2342 'label' => esc_html__('Margin', 'elementskit-lite'),
2343 'type' => Controls_Manager::DIMENSIONS,
2344 'size_units' => ['px'],
2345 'selectors' => [
2346 '{{WRAPPER}} .elementskit-border-hr' => 'margin: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};',
2347 ],
2348 'condition' => [
2349 'ekit_blog_posts_title_separator' => 'yes',
2350 'ekit_blog_posts_layout_style' => 'elementskit-post-card',
2351 ],
2352 ]
2353 );
2354
2355 $this->end_controls_section();
2356
2357
2358 // Content Styles
2359 $this->start_controls_section(
2360 'ekit_blog_posts_content_style',
2361 [
2362 'label' => esc_html__('Content', 'elementskit-lite'),
2363 'tab' => Controls_Manager::TAB_STYLE,
2364 'condition' => [
2365 'ekit_blog_posts_content' => 'yes',
2366 ],
2367 ]
2368 );
2369
2370 $this->add_control(
2371 'ekit_blog_posts_content_color',
2372 [
2373 'label' => esc_html__('Color', 'elementskit-lite'),
2374 'type' => Controls_Manager::COLOR,
2375 'selectors' => [
2376 '{{WRAPPER}} .elementskit-post-footer > p' => 'color: {{VALUE}};',
2377 '{{WRAPPER}} .elementskit-post-body > p' => 'color: {{VALUE}};',
2378 ],
2379 ]
2380 );
2381
2382 $this->add_control(
2383 'ekit_blog_posts_content_color_hover',
2384 [
2385 'label' => esc_html__('Hover Color', 'elementskit-lite'),
2386 'type' => Controls_Manager::COLOR,
2387 'selectors' => [
2388 '{{WRAPPER}} .elementskit-blog-block-post:hover .elementskit-post-footer > p' => 'color: {{VALUE}};',
2389 '{{WRAPPER}} .elementskit-post-image-card:hover .elementskit-post-footer > p' => 'color: {{VALUE}};',
2390 '{{WRAPPER}} .elementskit-post-card:hover .elementskit-post-footer > p' => 'color: {{VALUE}};',
2391 '{{WRAPPER}} .elementskit-blog-block-post:hover .elementskit-post-body > p' => 'color: {{VALUE}};',
2392 '{{WRAPPER}} .elementskit-post-image-card:hover .elementskit-post-body > p' => 'color: {{VALUE}};',
2393 '{{WRAPPER}} .elementskit-post-card:hover .elementskit-post-body > p' => 'color: {{VALUE}};',
2394 ],
2395 ]
2396 );
2397
2398 $this->add_group_control(
2399 Group_Control_Typography::get_type(),
2400 [
2401 'name' => 'ekit_blog_posts_content_typography',
2402 'selector' => '{{WRAPPER}} .elementskit-post-footer > p, {{WRAPPER}} .elementskit-post-body > p',
2403 ]
2404 );
2405
2406 $this->add_group_control(
2407 Group_Control_Text_Shadow::get_type(),
2408 [
2409 'name' => 'ekit_blog_posts_content_shadow',
2410 'selector' => '{{WRAPPER}} .elementskit-post-footer > p, {{WRAPPER}} .elementskit-post-body > p',
2411 ]
2412 );
2413
2414 $this->add_responsive_control(
2415 'ekit_blog_posts_content_alignment',
2416 [
2417 'label' => esc_html__('Alignment', 'elementskit-lite'),
2418 'type' => Controls_Manager::CHOOSE,
2419 'options' => [
2420 'left' => [
2421 'title' => esc_html__('Left', 'elementskit-lite'),
2422 'icon' => 'eicon-text-align-left',
2423 ],
2424 'center' => [
2425 'title' => esc_html__('Center', 'elementskit-lite'),
2426 'icon' => 'eicon-text-align-center',
2427 ],
2428 'right' => [
2429 'title' => esc_html__('Right', 'elementskit-lite'),
2430 'icon' => 'eicon-text-align-right',
2431 ],
2432 'justify' => [
2433 'title' => esc_html__('justify', 'elementskit-lite'),
2434 'icon' => 'eicon-text-align-justify',
2435 ],
2436 ],
2437 'default' => 'left',
2438 'devices' => ['desktop', 'tablet', 'mobile'],
2439 'selectors' => [
2440 '{{WRAPPER}} .elementskit-post-footer' => 'text-align: {{VALUE}};',
2441 '{{WRAPPER}} .elementskit-post-body > p' => 'text-align: {{VALUE}};',
2442 ],
2443 ]
2444 );
2445
2446 $this->add_responsive_control(
2447 'ekit_blog_posts_content_margin',
2448 [
2449 'label' => esc_html__('Margin', 'elementskit-lite'),
2450 'type' => Controls_Manager::DIMENSIONS,
2451 'size_units' => ['px', '%', 'em'],
2452 'selectors' => [
2453 '{{WRAPPER}} .elementskit-post-footer' => 'margin: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};',
2454 '{{WRAPPER}} .elementskit-blog-block-post .elementskit-post-footer > p' => 'margin: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};',
2455 '{{WRAPPER}} .elementskit-post-body > p' => 'margin: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};',
2456 ],
2457 ]
2458 );
2459
2460 // content highlight
2461
2462 $this->add_control(
2463 'ekit_blog_posts_content_highlight_border',
2464 [
2465 'label' => esc_html__('Show Highlight Border', 'elementskit-lite'),
2466 'type' => Controls_Manager::SWITCHER,
2467 'label_on' => esc_html__('Show', 'elementskit-lite'),
2468 'label_off' => esc_html__('Hide', 'elementskit-lite'),
2469 'return_value' => 'yes',
2470 'default' => '',
2471 'separator' => 'before'
2472 ]
2473 );
2474
2475 $this->add_control(
2476 'ekit_blog_posts_content_highlight_border_height',
2477 [
2478 'label' => esc_html__('Hight', 'elementskit-lite'),
2479 'type' => Controls_Manager::SLIDER,
2480 'size_units' => ['px', '%'],
2481 'range' => [
2482 'px' => [
2483 'min' => 5,
2484 'max' => 300,
2485 'step' => 1,
2486 ],
2487
2488 ],
2489 'default' => [
2490 'unit' => 'px',
2491 'size' => 100,
2492 ],
2493 'selectors' => [
2494 '{{WRAPPER}} .elementskit-post-body.ekit-highlight-border:before' => 'height: {{SIZE}}{{UNIT}};',
2495 ],
2496 'condition' => [
2497 'ekit_blog_posts_content_highlight_border' => 'yes'
2498 ]
2499 ]
2500 );
2501
2502 $this->add_control(
2503 'ekit_blog_posts_content_highlight_border_width',
2504 [
2505 'label' => esc_html__('Width', 'elementskit-lite'),
2506 'type' => Controls_Manager::SLIDER,
2507 'size_units' => ['px', '%'],
2508 'range' => [
2509 'px' => [
2510 'min' => 1,
2511 'max' => 10,
2512 'step' => 1,
2513 ],
2514
2515 ],
2516 'default' => [
2517 'unit' => 'px',
2518 'size' => 2,
2519 ],
2520 'selectors' => [
2521 '{{WRAPPER}} .elementskit-post-body.ekit-highlight-border:before' => 'width: {{SIZE}}{{UNIT}};',
2522 ],
2523 'condition' => [
2524 'ekit_blog_posts_content_highlight_border' => 'yes'
2525 ]
2526 ]
2527 );
2528
2529 $this->add_control(
2530 'ekit_blog_posts_content_highlight_border_top_bottom_pos',
2531 [
2532 'label' => esc_html__('Top Bottom Position', 'elementskit-lite'),
2533 'type' => Controls_Manager::SLIDER,
2534 'size_units' => ['%'],
2535 'range' => [
2536 '%' => [
2537 'min' => -10,
2538 'max' => 110,
2539 'step' => 1,
2540 ],
2541
2542 ],
2543 'default' => [
2544 'unit' => '%',
2545 'size' => 50,
2546 ],
2547 'selectors' => [
2548 '{{WRAPPER}} .elementskit-post-body.ekit-highlight-border:before' => 'top: {{SIZE}}{{UNIT}};',
2549 ],
2550
2551 'condition' => [
2552 'ekit_blog_posts_content_highlight_border' => 'yes'
2553 ]
2554 ]
2555 );
2556
2557 $this->add_control(
2558 'ekit_blog_posts_content_highlight_border_left_right_pos',
2559 [
2560 'label' => esc_html__('Left Right Position', 'elementskit-lite'),
2561 'type' => Controls_Manager::SLIDER,
2562 'size_units' => ['%'],
2563 'range' => [
2564 '%' => [
2565 'min' => -5,
2566 'max' => 120,
2567 'step' => 1,
2568 ],
2569
2570 ],
2571 'default' => [
2572 'unit' => '%',
2573 'size' => 0,
2574 ],
2575 'selectors' => [
2576 '{{WRAPPER}} .elementskit-post-body.ekit-highlight-border:before' => 'left: {{SIZE}}{{UNIT}};',
2577 ],
2578 'condition' => [
2579 'ekit_blog_posts_content_highlight_border' => 'yes'
2580 ]
2581 ]
2582 );
2583
2584 $this->start_controls_tabs('ekit_blog_posts_border_highlight_color_tabs', [
2585 'condition' => [
2586 'ekit_blog_posts_content_highlight_border' => 'yes'
2587 ]
2588 ]);
2589
2590 $this->start_controls_tab(
2591 'ekit_blog_posts_border_highlight_color_normal_tab',
2592 [
2593 'label' => esc_html__('Normal', 'elementskit-lite'),
2594 ]
2595 );
2596
2597 $this->add_group_control(
2598 Group_Control_Background::get_type(),
2599 [
2600 'name' => 'ekit_blog_posts_border_highlight_bg_color',
2601 'label' => esc_html__('Separator Color', 'elementskit-lite'),
2602 'types' => ['classic', 'gradient'],
2603 'selector' => '{{WRAPPER}} .elementskit-post-body.ekit-highlight-border:before',
2604 ]
2605 );
2606
2607 $this->end_controls_tab();
2608
2609 $this->start_controls_tab(
2610 'ekit_blog_posts_border_highlight_color_hover_tab',
2611 [
2612 'label' => esc_html__('Hover', 'elementskit-lite'),
2613 ]
2614 );
2615
2616 $this->add_group_control(
2617 Group_Control_Background::get_type(),
2618 [
2619 'name' => 'ekit_blog_posts_border_highlight_bg_color_hover',
2620 'label' => esc_html__('Separator Color', 'elementskit-lite'),
2621 'types' => ['classic', 'gradient'],
2622 'selector' => '{{WRAPPER}} .elementskit-post-body.ekit-highlight-border:hover:before',
2623 ]
2624 );
2625
2626 $this->add_control(
2627 'ekit_blog_posts_content_highlight_border_transition',
2628 [
2629 'label' => esc_html__('Transition', 'elementskit-lite'),
2630 'type' => Controls_Manager::SLIDER,
2631 'size_units' => ['s'],
2632 'range' => [
2633 's' => [
2634 'min' => .1,
2635 'max' => 5,
2636 'step' => .1,
2637 ],
2638
2639 ],
2640 'default' => [
2641 'unit' => 's',
2642 'size' => 0,
2643 ],
2644 'selectors' => [
2645 '{{WRAPPER}} .elementskit-post-body.ekit-highlight-border:before' => '-webkit-transition: all {{SIZE}}{{UNIT}}; -o-transition: all {{SIZE}}{{UNIT}}; transition: all {{SIZE}}{{UNIT}};',
2646 ],
2647 'condition' => [
2648 'ekit_blog_posts_content_highlight_border' => 'yes'
2649 ]
2650 ]
2651 );
2652
2653 $this->end_controls_tab();
2654 $this->end_controls_tabs();
2655
2656 $this->end_controls_section();
2657
2658
2659 // Author Image Styles
2660 $this->start_controls_section(
2661 'ekit_blog_posts_author_img_style',
2662 [
2663 'label' => esc_html__('Author Image', 'elementskit-lite'),
2664 'tab' => Controls_Manager::TAB_STYLE,
2665 'condition' => [
2666 'ekit_blog_posts_author_image' => 'yes',
2667 ],
2668 ]
2669 );
2670
2671 $this->add_control(
2672 'ekit_blog_posts_author_img_size_width',
2673 [
2674 'label' => esc_html__('Image Width', 'elementskit-lite'),
2675 'type' => Controls_Manager::SLIDER,
2676 'size_units' => ['px', '%'],
2677 'range' => [
2678 'px' => [
2679 'min' => 30,
2680 'max' => 200,
2681 'step' => 1,
2682 ],
2683 '%' => [
2684 'min' => 0,
2685 'max' => 100,
2686 ],
2687 ],
2688 'default' => [
2689 'unit' => 'px',
2690 'size' => 30,
2691 ],
2692 'selectors' => [
2693 '{{WRAPPER}} .elementskit-post-body .meta-author .author-img' => 'width: {{SIZE}}{{UNIT}};',
2694 ],
2695 ]
2696 );
2697
2698 $this->add_control(
2699 'ekit_blog_posts_author_img_size_height',
2700 [
2701 'label' => esc_html__('Image Height', 'elementskit-lite'),
2702 'type' => Controls_Manager::SLIDER,
2703 'size_units' => ['px', '%'],
2704 'range' => [
2705 'px' => [
2706 'min' => 30,
2707 'max' => 200,
2708 'step' => 1,
2709 ],
2710 '%' => [
2711 'min' => 0,
2712 'max' => 100,
2713 ],
2714 ],
2715 'default' => [
2716 'unit' => 'px',
2717 'size' => 30,
2718 ],
2719 'selectors' => [
2720 '{{WRAPPER}} .elementskit-post-body .meta-author .author-img' => 'height: {{SIZE}}{{UNIT}};',
2721 ],
2722 ]
2723 );
2724
2725 $this->add_group_control(
2726 Group_Control_Box_Shadow::get_type(),
2727 [
2728 'name' => 'ekit_blog_posts_author_img_shadow',
2729 'selector' => '{{WRAPPER}} .elementskit-post-body .author-img',
2730 ]
2731 );
2732
2733 $this->add_group_control(
2734 Group_Control_Border::get_type(),
2735 [
2736 'name' => 'ekit_blog_posts_author_img_border',
2737 'label' => esc_html__('Border', 'elementskit-lite'),
2738 'selector' => '{{WRAPPER}} .elementskit-post-body .author-img',
2739 ]
2740 );
2741
2742 $this->add_control(
2743 'ekit_blog_posts_author_img_margin',
2744 [
2745 'label' => esc_html__('Margin', 'elementskit-lite'),
2746 'type' => Controls_Manager::DIMENSIONS,
2747 'size_units' => ['px', '%', 'em'],
2748 'default' => [
2749 'top' => '0',
2750 'right' => '15',
2751 'bottom' => '0',
2752 'left' => '0',
2753 'isLinked' => false,
2754 ],
2755 'selectors' => [
2756 '{{WRAPPER}} .elementskit-post-body .author-img' => 'margin: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};',
2757 ],
2758 ]
2759 );
2760
2761 $this->add_responsive_control(
2762 'ekit_blog_posts_author_img_radius',
2763 [
2764 'label' => esc_html__('Radius', 'elementskit-lite'),
2765 'type' => Controls_Manager::DIMENSIONS,
2766 'size_units' => ['px', '%', 'em'],
2767 'separator' => 'after',
2768 'selectors' => [
2769 '{{WRAPPER}} .elementskit-post-body .author-img' => 'border-radius: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};',
2770 ],
2771 ]
2772 );
2773
2774 $this->end_controls_section();
2775
2776
2777
2778
2779 // Button
2780 $this->start_controls_section(
2781 'ekit_blog_posts_btn_section_style',
2782 [
2783 'label' => esc_html__('Button', 'elementskit-lite'),
2784 'tab' => Controls_Manager::TAB_STYLE,
2785 'condition' => ['ekit_blog_posts_read_more' => 'yes', 'ekit_blog_posts_layout_style!' => 'elementskit-blog-block-post']
2786 ]
2787 );
2788
2789 $this->add_responsive_control(
2790 'ekit_blog_posts_btn_text_padding',
2791 [
2792 'label' => esc_html__('Padding', 'elementskit-lite'),
2793 'type' => Controls_Manager::DIMENSIONS,
2794 'size_units' => ['px', 'em', '%'],
2795 'selectors' => [
2796 '{{WRAPPER}} .elementskit-btn' => 'padding: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};',
2797 ],
2798 ]
2799 );
2800
2801 $this->add_responsive_control(
2802 'ekit_blog_posts_btn_normal_icon_font_size',
2803 array(
2804 'label' => esc_html__('Icon Font Size', 'elementskit-lite'),
2805 'type' => Controls_Manager::SLIDER,
2806 'size_units' => array(
2807 'px',
2808 'em',
2809 'rem',
2810 ),
2811 'range' => array(
2812 'px' => array(
2813 'min' => 1,
2814 'max' => 100,
2815 ),
2816 ),
2817 'selectors' => array(
2818 '{{WRAPPER}} .elementskit-btn :is(i, svg)' => 'font-size: {{SIZE}}{{UNIT}};',
2819 ),
2820 )
2821 );
2822
2823 $this->add_group_control(
2824 Group_Control_Typography::get_type(),
2825 [
2826 'name' => 'ekit_blog_posts_btn_typography',
2827 'label' => esc_html__('Typography', 'elementskit-lite'),
2828 'selector' => '{{WRAPPER}} .elementskit-btn',
2829 ]
2830 );
2831
2832 $this->start_controls_tabs('ekit_blog_posts_btn_tabs_style');
2833
2834 $this->start_controls_tab(
2835 'ekit_blog_posts_btn_tabnormal',
2836 [
2837 'label' => esc_html__('Normal', 'elementskit-lite'),
2838 ]
2839 );
2840
2841 $this->add_control(
2842 'ekit_blog_posts_btn_text_color',
2843 [
2844 'label' => esc_html__('Text Color', 'elementskit-lite'),
2845 'type' => Controls_Manager::COLOR,
2846 'default' => '',
2847 'selectors' => [
2848 '{{WRAPPER}} .elementskit-btn' => 'color: {{VALUE}}; fill: {{VALUE}};',
2849 ],
2850 ]
2851 );
2852 $this->add_group_control(
2853 Group_Control_Background::get_type(),
2854 array(
2855 'name' => 'ekit_blog_posts_btn_bg_color',
2856 'selector' => '{{WRAPPER}} .elementskit-btn',
2857 )
2858 );
2859
2860 $this->end_controls_tab();
2861
2862 $this->start_controls_tab(
2863 'ekit_blog_posts_btn_tab_button_hover',
2864 [
2865 'label' => esc_html__('Hover', 'elementskit-lite'),
2866 ]
2867 );
2868
2869 $this->add_control(
2870 'ekit_blog_posts_btn_hover_color',
2871 [
2872 'label' => esc_html__('Text Color', 'elementskit-lite'),
2873 'type' => Controls_Manager::COLOR,
2874 'default' => '#ffffff',
2875 'selectors' => [
2876 '{{WRAPPER}} .elementskit-btn:hover' => 'color: {{VALUE}}; fill: {{VALUE}};',
2877 ],
2878 ]
2879 );
2880
2881 $this->add_group_control(
2882 Group_Control_Background::get_type(),
2883 array(
2884 'name' => 'ekit_blog_posts_btn_bg_hover_color',
2885 'selector' => '{{WRAPPER}} .elementskit-btn:hover',
2886 )
2887 );
2888
2889 $this->end_controls_tab();
2890 $this->end_controls_tabs();
2891
2892 $this->add_control(
2893 'ekit_blog_posts_btn_border_style',
2894 [
2895 'label' => esc_html_x('Border Type', 'Border Control', 'elementskit-lite'),
2896 'type' => Controls_Manager::SELECT,
2897 'options' => [
2898 '' => esc_html__('None', 'elementskit-lite'),
2899 'solid' => esc_html_x('Solid', 'Border Control', 'elementskit-lite'),
2900 'double' => esc_html_x('Double', 'Border Control', 'elementskit-lite'),
2901 'dotted' => esc_html_x('Dotted', 'Border Control', 'elementskit-lite'),
2902 'dashed' => esc_html_x('Dashed', 'Border Control', 'elementskit-lite'),
2903 'groove' => esc_html_x('Groove', 'Border Control', 'elementskit-lite'),
2904 ],
2905 'selectors' => [
2906 '{{WRAPPER}} .elementskit-btn' => 'border-style: {{VALUE}};',
2907 ],
2908 ]
2909 );
2910 $this->add_control(
2911 'ekit_blog_posts_btn_border_dimensions',
2912 [
2913 'label' => esc_html_x('Width', 'Border Control', 'elementskit-lite'),
2914 'type' => Controls_Manager::DIMENSIONS,
2915 'selectors' => [
2916 '{{WRAPPER}} .elementskit-btn' => 'border-width: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};',
2917 ],
2918 'condition' => [
2919 'ekit_blog_posts_btn_border_style!' => ''
2920 ]
2921 ]
2922 );
2923 $this->start_controls_tabs('xs_tabs_button_border_style');
2924 $this->start_controls_tab(
2925 'ekit_blog_posts_btn_tab_border_normal',
2926 [
2927 'label' => esc_html__('Normal', 'elementskit-lite'),
2928 'condition' => [
2929 'ekit_blog_posts_btn_border_style!' => ''
2930 ]
2931 ]
2932 );
2933
2934 $this->add_control(
2935 'ekit_blog_posts_btn_border_color',
2936 [
2937 'label' => esc_html_x('Color', 'Border Control', 'elementskit-lite'),
2938 'type' => Controls_Manager::COLOR,
2939 'default' => '',
2940 'selectors' => [
2941 '{{WRAPPER}} .elementskit-btn' => 'border-color: {{VALUE}};',
2942 ],
2943 'condition' => [
2944 'ekit_blog_posts_btn_border_style!' => ''
2945 ]
2946 ]
2947 );
2948 $this->end_controls_tab();
2949
2950 $this->start_controls_tab(
2951 'ekit_blog_posts_btn_tab_button_border_hover',
2952 [
2953 'label' => esc_html__('Hover', 'elementskit-lite'),
2954 'condition' => [
2955 'ekit_blog_posts_btn_border_style!' => ''
2956 ]
2957 ]
2958 );
2959 $this->add_control(
2960 'ekit_blog_posts_btn_hover_border_color',
2961 [
2962 'label' => esc_html_x('Color', 'Border Control', 'elementskit-lite'),
2963 'type' => Controls_Manager::COLOR,
2964 'default' => '',
2965 'selectors' => [
2966 '{{WRAPPER}} .elementskit-btn:hover' => 'border-color: {{VALUE}};',
2967 ],
2968 'condition' => [
2969 'ekit_blog_posts_btn_border_style!' => ''
2970 ]
2971 ]
2972 );
2973 $this->end_controls_tab();
2974 $this->end_controls_tabs();
2975 $this->add_responsive_control(
2976 'ekit_blog_posts_btn_border_radius',
2977 [
2978 'label' => esc_html__('Border Radius', 'elementskit-lite'),
2979 'type' => Controls_Manager::DIMENSIONS,
2980 'size_units' => ['px'],
2981 'default' => [
2982 'top' => '',
2983 'right' => '',
2984 'bottom' => '',
2985 'left' => '',
2986 ],
2987 'selectors' => [
2988 '{{WRAPPER}} .elementskit-btn' => 'border-radius: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};',
2989 ],
2990 ]
2991 );
2992
2993 $this->add_group_control(
2994 Group_Control_Box_Shadow::get_type(),
2995 [
2996 'name' => 'ekit_blog_posts_btn_box_shadow_group',
2997 'selector' => '{{WRAPPER}} .elementskit-btn',
2998 ]
2999 );
3000
3001
3002 $this->end_controls_section();
3003
3004 $this->insert_pro_message();
3005 }
3006
3007 protected function render()
3008 {
3009 echo '<div class="ekit-wid-con" >';
3010 $this->render_raw();
3011 echo '</div>';
3012 }
3013
3014 protected function render_raw()
3015 {
3016 $settings = $this->get_settings();
3017 extract($settings);
3018
3019 $highlight_border = $ekit_blog_posts_content_highlight_border == 'yes' ? 'ekit-highlight-border' : '';
3020 $ekit_blog_posts_offset = ($ekit_blog_posts_offset == '') ? 0 : $ekit_blog_posts_offset;
3021
3022 $default = [
3023 'orderby' => array($ekit_blog_posts_order_by => $ekit_blog_posts_sort),
3024 'posts_per_page' => $ekit_blog_posts_num,
3025 'offset' => $ekit_blog_posts_offset,
3026 'post_status' => 'publish'
3027 ];
3028
3029 if ($ekit_blog_posts_is_manual_selection === 'yes') {
3030 $default = \ElementsKit_Lite\Utils::array_push_assoc(
3031 $default,
3032 'post__in',
3033 (!empty($ekit_blog_posts_manual_selection && count($ekit_blog_posts_manual_selection) > 0)) ? $ekit_blog_posts_manual_selection : [-1]
3034 );
3035 }
3036
3037 if ($ekit_blog_posts_is_manual_selection == '' && $ekit_blog_posts_cats != '') {
3038 $default = \ElementsKit_Lite\Utils::array_push_assoc(
3039 $default,
3040 'category__in',
3041 $ekit_blog_posts_cats
3042 );
3043 }
3044
3045 // Post Items
3046 $post_items_class = 'ekit-row post-items';
3047
3048 if ($grid_masonry === 'yes') {
3049 $post_items_class .= ' ekit-blog-post-masonry-active';
3050 } else {
3051 $post_items_class .= ' ekit-blog-post-masonry-inactive';
3052 }
3053
3054 $this->add_render_attribute(
3055 'post_items',
3056 [
3057 'id' => 'post-items--' . $this->get_id(),
3058 'class' => $post_items_class,
3059 ]
3060 );
3061
3062 $masonry_columns = $this->get_masonry_columns($settings);
3063 $masonry = [
3064 'gutterX' => $masonry_column_gap['size'] ?? 10,
3065 'gutterY' => $masonry_row_gap['size'] ?? 10,
3066 'columns' => $masonry_columns,
3067 'responsive' => [
3068 ['maxWidth' => 1024, 'columns' => $this->get_masonry_columns($settings, 'tablet')],
3069 ['maxWidth' => 767, 'columns' => $this->get_masonry_columns($settings, 'mobile')],
3070 ],
3071 ];
3072
3073 if ($grid_masonry === 'yes'):
3074 $this->add_render_attribute('post_items', 'data-masonry-config', 'true');
3075 $this->add_render_attribute('post_items', 'data-masonry-lib-config', wp_json_encode($masonry));
3076 endif;
3077
3078 // Post Query
3079 $post_query = new \WP_Query($default);
3080
3081 ?>
3082 <div <?php echo $this->get_render_attribute_string('post_items'); // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped -- Already escaped by elementor
3083 ?>>
3084 <?php if ('elementskit-blog-block-post' == $ekit_blog_posts_layout_style) {
3085 $ekit_blog_posts_column = 'ekit-col-12';
3086 }
3087 $column_size = 'ekit-col-12';
3088 $img_order = 'order-1';
3089 $content_order = 'order-2';
3090
3091 if ('right' == $ekit_blog_posts_feature_img_float) {
3092 $img_order = 'order-2';
3093 $content_order = 'order-1';
3094 }
3095 while ($post_query->have_posts()) : $post_query->the_post();
3096 if (
3097 'yes' == $ekit_blog_posts_feature_img
3098 && has_post_thumbnail()
3099 && ('yes' == $ekit_blog_posts_title
3100 || 'yes' == $ekit_blog_posts_content
3101 || 'yes' == $ekit_blog_posts_meta
3102 || 'yes' == $ekit_blog_posts_author)
3103 ) {
3104 $column_size = 'ekit-col-6';
3105 }
3106
3107 ob_start(); ?>
3108 <h2 class="entry-title">
3109 <a href="<?php the_permalink(); ?>">
3110 <?php if ($ekit_blog_posts_title_trim != '' || $ekit_blog_posts_title_trim > 0):
3111 echo esc_html(wp_trim_words(get_the_title(), $ekit_blog_posts_title_trim));
3112 else:
3113 the_title();
3114 endif; ?>
3115 </a>
3116 </h2>
3117 <?php $title_html = ob_get_clean();
3118
3119 $meta_data_html = '';
3120 if ('yes' == $ekit_blog_posts_meta):
3121 ob_start(); ?>
3122 <?php if ($ekit_blog_posts_meta == 'yes' && $ekit_blog_posts_meta_select != '') : ?>
3123 <div class="post-meta-list">
3124 <?php foreach ($ekit_blog_posts_meta_select as $meta): ?>
3125 <?php if ($meta == 'author'): ?>
3126 <span class="meta-author">
3127 <?php if ('yes' == $ekit_blog_posts_author_image): ?>
3128 <span class="author-img">
3129 <?php echo get_avatar(get_the_author_meta("ID")); ?>
3130 </span>
3131 <?php else: ?>
3132 <?php Icons_Manager::render_icon($settings['ekit_blog_posts_meta_author_icons'], ['aria-hidden' => 'true']); ?>
3133 <?php endif; ?>
3134 <a href="<?php echo esc_url(get_author_posts_url(get_the_author_meta('ID'))); ?>" class="author-name"><?php the_author_meta('display_name'); ?></a>
3135 </span>
3136 <?php endif; ?>
3137 <?php if ($meta == 'date'): ?>
3138 <span class="meta-date">
3139 <?php Icons_Manager::render_icon($settings['ekit_blog_posts_meta_date_icons'], ['aria-hidden' => 'true']); ?>
3140 <span class="meta-date-text">
3141 <?php echo esc_html(get_the_date()); ?>
3142 </span>
3143 </span>
3144 <?php endif; ?>
3145 <?php if ($meta == 'category'): ?>
3146 <span class="post-cat">
3147 <?php Icons_Manager::render_icon($settings['ekit_blog_posts_meta_category_icons'], ['aria-hidden' => 'true']); ?>
3148 <?php echo get_the_category_list(' | '); // phpcs:ignore WordPress.Security.EscapeOutput -- Already escaped by WordPress
3149 ?>
3150 </span>
3151 <?php endif; ?>
3152 <?php if ($meta == 'comment'): ?>
3153 <span class="post-comment">
3154 <?php Icons_Manager::render_icon($settings['ekit_blog_posts_meta_comment_icons'], ['aria-hidden' => 'true']); ?>
3155 <a href="<?php comments_link(); ?>"><?php echo esc_html(get_comments_number()); ?></a>
3156 </span>
3157 <?php endif; ?>
3158 <?php endforeach; ?>
3159 </div>
3160 <?php endif;
3161 $meta_data_html .= ob_get_clean();
3162 endif;
3163
3164 // $column_size = self::format_colname($column_size);
3165 // $ekit_blog_posts_column = self::format_colname($ekit_blog_posts_column);
3166 ?>
3167 <div class="post-item <?php echo esc_attr($ekit_blog_posts_column); ?>">
3168
3169 <?php if ('elementskit-blog-block-post' == $ekit_blog_posts_layout_style): ?>
3170 <div class="<?php echo esc_attr($ekit_blog_posts_layout_style); ?>">
3171 <div class="row no-gutters">
3172 <?php if ('yes' == $ekit_blog_posts_feature_img && has_post_thumbnail()): ?>
3173 <div class="<?php echo esc_attr($column_size . ' ' . $img_order); ?>">
3174 <a href="<?php the_permalink(); ?>" class="elementskit-entry-thumb">
3175 <img src="<?php the_post_thumbnail_url(esc_attr($ekit_blog_posts_feature_img_size_size)); ?>" alt="<?php the_title(); ?>">
3176 </a><!-- .elementskit-entry-thumb END -->
3177 </div>
3178 <?php endif; ?>
3179
3180 <div class="<?php echo esc_attr($column_size . ' ' . $content_order); ?>">
3181 <div class="elementskit-post-body <?php echo esc_attr($highlight_border); ?>">
3182 <div class="elementskit-entry-header">
3183 <?php if ('yes' == $ekit_blog_posts_title && 'before_meta' == $ekit_blog_posts_title_position): ?>
3184 <?php echo wp_kses($title_html, \ElementsKit_Lite\Utils::get_kses_array()); ?>
3185 <?php endif; ?>
3186
3187 <?php if ('after_content' != $ekit_blog_posts_title_position): ?>
3188 <?php echo $meta_data_html; // phpcs:ignore WordPress.Security.EscapeOutput -- Buffering output line number 2972
3189 ?>
3190 <?php endif; ?>
3191
3192 <?php if ('yes' == $ekit_blog_posts_title && 'after_content' == $ekit_blog_posts_title_position): ?>
3193 <?php echo wp_kses($title_html, \ElementsKit_Lite\Utils::get_kses_array()); ?>
3194 <?php endif; ?>
3195
3196 <?php if ('yes' == $ekit_blog_posts_title && 'after_meta' == $ekit_blog_posts_title_position): ?>
3197 <?php echo wp_kses($title_html, \ElementsKit_Lite\Utils::get_kses_array()); ?>
3198 <?php endif; ?>
3199 </div><!-- .elementskit-entry-header END -->
3200
3201 <?php if ('yes' == $ekit_blog_posts_content): ?>
3202 <div class="elementskit-post-footer">
3203 <?php if ($ekit_blog_posts_content_trim != '' || $ekit_blog_posts_content_trim > 0): ?>
3204 <p><?php echo esc_html(wp_trim_words(get_the_excerpt(), $ekit_blog_posts_content_trim)); ?></p>
3205 <?php else: ?>
3206 <?php the_excerpt(); ?>
3207 <?php endif; ?>
3208 <?php if ('after_content' == $ekit_blog_posts_title_position): ?>
3209 <?php echo $meta_data_html; // phpcs:ignore WordPress.Security.EscapeOutput -- Buffering output line number 2972
3210 ?>
3211 <?php endif; ?>
3212 </div><!-- .elementskit-post-footer END -->
3213 <?php endif; ?>
3214 </div><!-- .elementskit-post-body END -->
3215 </div>
3216 </div>
3217 </div><!-- .elementskit-blog-block-post .radius .gradient-bg END -->
3218 <?php else: ?>
3219 <div class="<?php echo esc_attr($ekit_blog_posts_layout_style); ?>">
3220 <div class="elementskit-entry-header">
3221 <?php if ('elementskit-post-image-card' == $ekit_blog_posts_layout_style && 'yes' == $ekit_blog_posts_feature_img && has_post_thumbnail()): ?>
3222 <a href="<?php the_permalink(); ?>" class="elementskit-entry-thumb">
3223 <img src="<?php the_post_thumbnail_url(esc_attr($ekit_blog_posts_feature_img_size_size)); ?>" alt="<?php the_title(); ?>">
3224 </a><!-- .elementskit-entry-thumb END -->
3225 <?php if ('yes' == $settings['ekit_blog_posts_floating_date']) : ?>
3226 <?php if ($ekit_blog_posts_floating_date_style == 'style1'): ?>
3227 <div class="elementskit-meta-lists">
3228 <div class="elementskit-single-meta"><span class="elementskit-meta-wraper"><strong><?php echo get_the_date('d'); ?></strong><?php echo get_the_date('M'); ?></span></div>
3229 </div>
3230 <?php elseif ($ekit_blog_posts_floating_date_style == 'style2'): ?>
3231 <div class="elementskit-meta-lists elementskit-style-tag">
3232 <div class="elementskit-single-meta <?php echo esc_attr($settings['ekit_blog_posts_floating_date_triangle_position_alignment']); ?>"><span class="elementskit-meta-wraper"><strong><?php echo get_the_date('d'); ?></strong><?php echo get_the_date('M'); ?></span></div>
3233 </div>
3234 <?php endif; ?>
3235 <?php endif; ?>
3236 <?php endif; ?>
3237
3238 <?php if ('yes' == $settings['ekit_blog_posts_floating_category']) : ?>
3239 <div class="elementskit-meta-categories">
3240 <span class="elementskit-meta-wraper">
3241 <span><?php echo get_the_category_list('</span><span>'); // phpcs:ignore WordPress.Security.EscapeOutput -- Already escaped by WordPress
3242 ?></span>
3243 </span>
3244 </div>
3245 <?php endif; ?>
3246
3247 <?php if ('elementskit-post-card' == $ekit_blog_posts_layout_style) :
3248 if ('yes' == $ekit_blog_posts_title && 'before_meta' == $ekit_blog_posts_title_position): ?>
3249 <?php echo wp_kses($title_html, \ElementsKit_Lite\Utils::get_kses_array()); ?>
3250
3251 <?php if ('yes' == $ekit_blog_posts_title_separator): ?>
3252 <span class="elementskit-border-hr"></span>
3253 <?php endif; ?>
3254 <?php endif; ?>
3255
3256 <?php if ('after_content' != $ekit_blog_posts_title_position): ?>
3257 <?php echo $meta_data_html; // phpcs:ignore WordPress.Security.EscapeOutput -- Buffering output line number 2972
3258 ?>
3259 <?php endif; ?>
3260
3261 <?php if ('yes' == $ekit_blog_posts_title && 'after_content' == $ekit_blog_posts_title_position): ?>
3262 <?php echo wp_kses($title_html, \ElementsKit_Lite\Utils::get_kses_array()); ?>
3263
3264 <?php if ('yes' == $ekit_blog_posts_title_separator): ?>
3265 <span class="elementskit-border-hr"></span>
3266 <?php endif; ?>
3267 <?php endif; ?>
3268
3269 <?php if ('yes' == $ekit_blog_posts_title && 'after_meta' == $ekit_blog_posts_title_position): ?>
3270 <?php echo wp_kses($title_html, \ElementsKit_Lite\Utils::get_kses_array()); ?>
3271
3272 <?php if ('yes' == $ekit_blog_posts_title_separator): ?>
3273 <span class="elementskit-border-hr"></span>
3274 <?php endif; ?>
3275 <?php endif; ?>
3276 <?php endif; ?>
3277 </div><!-- .elementskit-entry-header END -->
3278
3279 <div class="elementskit-post-body <?php echo esc_attr($highlight_border); ?>">
3280 <?php if ('elementskit-post-image-card' == $ekit_blog_posts_layout_style):
3281 if ('yes' == $ekit_blog_posts_title && 'before_meta' == $ekit_blog_posts_title_position): ?>
3282 <?php echo wp_kses($title_html, \ElementsKit_Lite\Utils::get_kses_array()); ?>
3283 <?php endif; ?>
3284
3285 <?php if ('after_content' != $ekit_blog_posts_title_position): ?>
3286 <?php echo $meta_data_html; // phpcs:ignore WordPress.Security.EscapeOutput -- Buffering output line number 2972
3287 ?>
3288 <?php endif; ?>
3289
3290 <?php if ('yes' == $ekit_blog_posts_title && 'after_content' == $ekit_blog_posts_title_position): ?>
3291 <?php echo wp_kses($title_html, \ElementsKit_Lite\Utils::get_kses_array()); ?>
3292 <?php endif; ?>
3293
3294 <?php if ('yes' == $ekit_blog_posts_title && 'after_meta' == $ekit_blog_posts_title_position): ?>
3295 <?php echo wp_kses($title_html, \ElementsKit_Lite\Utils::get_kses_array()); ?>
3296 <?php endif; ?>
3297 <?php endif; ?>
3298 <?php if ('yes' == $ekit_blog_posts_content): ?>
3299 <?php if ($ekit_blog_posts_content_trim != '' || $ekit_blog_posts_content_trim > 0): ?>
3300 <p><?php echo esc_html(wp_trim_words(get_the_excerpt(), $ekit_blog_posts_content_trim)); ?></p>
3301 <?php else: ?>
3302 <?php the_excerpt(); ?>
3303 <?php endif; ?>
3304 <?php endif; ?>
3305 <?php if ('after_content' == $ekit_blog_posts_title_position): ?>
3306 <?php echo $meta_data_html; // phpcs:ignore WordPress.Security.EscapeOutput -- Buffering output line number 2972
3307 ?>
3308 <?php endif; ?>
3309 <?php
3310 if ($ekit_blog_posts_read_more == 'yes') :
3311 $post_id = get_the_ID();
3312 $btn_text = $settings['ekit_blog_posts_btn_text'];
3313 $icon_align = $settings['ekit_blog_posts_btn_icon_align'];
3314
3315 $this->add_render_attribute('read_more_link' . $post_id, 'class', 'elementskit-btn');
3316 if (!empty($settings['ekit_blog_posts_btn_class'])) {
3317 $this->add_render_attribute('read_more_link' . $post_id, 'class', $settings['ekit_blog_posts_btn_class']);
3318 }
3319 $this->add_render_attribute('read_more_link' . $post_id, 'class', 'whitespace--normal');
3320 $this->add_render_attribute('read_more_link' . $post_id, 'id', $settings['ekit_blog_posts_btn_id']);
3321 $this->add_render_attribute('read_more_link' . $post_id, 'href', get_the_permalink());
3322 ?>
3323 <div class="btn-wraper">
3324 <?php if ($icon_align == 'right') : ?>
3325 <a <?php $this->print_render_attribute_string('read_more_link' . $post_id); ?>>
3326 <?php echo esc_html($btn_text); ?>
3327 <?php if ($settings['ekit_blog_posts_btn_icons__switch'] === 'yes') :
3328 Icons_Manager::render_icon($settings['ekit_blog_posts_btn_icons'], ['aria-hidden' => 'true']);
3329 endif; ?>
3330 </a>
3331 <?php endif; ?>
3332
3333 <?php if ($icon_align == 'left'): ?>
3334 <a <?php $this->print_render_attribute_string('read_more_link' . $post_id); ?>>
3335 <?php if ($settings['ekit_blog_posts_btn_icons__switch'] === 'yes') :
3336 Icons_Manager::render_icon($settings['ekit_blog_posts_btn_icons'], ['aria-hidden' => 'true']);
3337 endif; ?>
3338 <?php echo esc_html($btn_text); ?>
3339 </a>
3340 <?php endif; ?>
3341 </div>
3342 <?php endif; ?>
3343 </div><!-- .elementskit-post-body END -->
3344 </div>
3345 <?php endif; ?>
3346
3347 </div>
3348 <?php endwhile; ?>
3349 </div>
3350 <?php
3351 wp_reset_postdata();
3352 }
3353
3354 protected function get_masonry_columns($settings, $device = '')
3355 {
3356 $columns = 3;
3357
3358 if (! empty($settings['grid_masonry']) && $settings['grid_masonry'] === 'yes') {
3359 // Mirrors the per-device defaults of the "Show Posts Per Row" control, which are
3360 // not part of $settings on the frontend until the device value is actually saved.
3361 $device_defaults = [
3362 'tablet' => 'ekit-col-6',
3363 'mobile' => 'ekit-col-12',
3364 ];
3365
3366 $setting_key = 'ekit_blog_posts_column' . ($device ? '_' . $device : '');
3367 $column_class = ! empty($settings[$setting_key]) ? $settings[$setting_key] : ($device_defaults[$device] ?? ($settings['ekit_blog_posts_column'] ?? ''));
3368 $columns = [
3369 'ekit-col-12' => 1,
3370 'ekit-col-6' => 2,
3371 'ekit-col-4' => 3,
3372 'ekit-col-3' => 4,
3373 'ekit-col-2' => 6,
3374 ][$column_class] ?? 3;
3375 }
3376
3377 return $columns;
3378 }
3379 }
3380