PluginProbe ʕ •ᴥ•ʔ
Shortcodes and extra features for Phlox theme / 2.15.2
Shortcodes and extra features for Phlox theme v2.15.2
2.17.21 2.17.20 trunk 1.0.0 1.0.1 1.0.2 1.0.3 1.0.6 1.0.9 1.1.0 1.3.0 1.3.1 1.3.10 1.3.14 1.3.2 1.3.3 1.3.6 1.4.0 1.4.1 1.4.2 1.5.0 1.5.2 1.6.0 1.6.2 1.6.4 1.7.0 1.7.2 2.10.0 2.10.1 2.10.3 2.10.5 2.10.7 2.10.8 2.10.9 2.11.0 2.11.1 2.11.2 2.12.0 2.14.0 2.15.0 2.15.2 2.15.4 2.15.5 2.15.6 2.15.7 2.15.8 2.15.9 2.16.0 2.16.1 2.16.2 2.16.3 2.16.4 2.17.0 2.17.1 2.17.12 2.17.13 2.17.14 2.17.15 2.17.16 2.17.2 2.17.3 2.17.4 2.17.5 2.17.6 2.17.8 2.17.9 2.4.12 2.4.13 2.4.14 2.4.16 2.4.18 2.4.19 2.4.9 2.5.0 2.5.1 2.5.10 2.5.11 2.5.12 2.5.13 2.5.14 2.5.15 2.5.16 2.5.17 2.5.19 2.5.2 2.5.20 2.5.3 2.5.7 2.5.8 2.5.9 2.6.0 2.6.1 2.6.10 2.6.12 2.6.13 2.6.14 2.6.15 2.6.16 2.6.17 2.6.19 2.6.2 2.6.20 2.6.4 2.6.5 2.6.7 2.7.0 2.7.1 2.7.10 2.7.11 2.7.12 2.7.13 2.7.14 2.7.2 2.7.3 2.7.4 2.7.5 2.7.6 2.7.7 2.7.8 2.7.9 2.8.0 2.8.1 2.8.2 2.8.3 2.8.4 2.8.5 2.8.6 2.8.7 2.8.9 2.9.0 2.9.12 2.9.14 2.9.15 2.9.16 2.9.17 2.9.18 2.9.19 2.9.2 2.9.20 2.9.21 2.9.22 2.9.3 2.9.4 2.9.5 2.9.6 2.9.7 2.9.8
auxin-elements / includes / elementor / widgets / recent-products.php
auxin-elements / includes / elementor / widgets Last commit date
theme-elements 2 years ago accordion.php 4 years ago audio.php 4 years ago before-after.php 3 years ago button.php 4 years ago carousel-navigation.php 4 years ago circle-chart.php 3 years ago contact-box.php 4 years ago contact-form.php 4 years ago custom-list.php 4 years ago divider.php 4 years ago gallery.php 2 years ago gmap.php 4 years ago heading-modern.php 3 years ago icon.php 3 years ago image.php 4 years ago mailchimp.php 4 years ago modern-button.php 4 years ago products-grid.php 3 years ago quote.php 4 years ago recent-comments.php 4 years ago recent-posts-grid-carousel.php 4 years ago recent-posts-land-style.php 4 years ago recent-posts-masonry.php 4 years ago recent-posts-tiles-carousel.php 4 years ago recent-posts-tiles.php 4 years ago recent-posts-timeline.php 4 years ago recent-products.php 4 years ago responsive-table.php 3 years ago search.php 4 years ago staff.php 4 years ago svg.php 3 years ago tabs.php 3 years ago testimonial.php 4 years ago text.php 4 years ago touch-slider.php 4 years ago video.php 4 years ago
recent-products.php
746 lines
1 <?php
2 namespace Auxin\Plugin\CoreElements\Elementor\Elements;
3
4 use Elementor\Plugin;
5 use Elementor\Widget_Base;
6 use Elementor\Controls_Manager;
7 use Elementor\Group_Control_Typography;
8 use Elementor\Core\Schemes\Typography;
9
10
11 if ( ! defined( 'ABSPATH' ) ) {
12 exit; // Exit if accessed directly.
13 }
14
15 /**
16 * Elementor 'RecentProducts' widget.
17 *
18 * Elementor widget that displays an 'RecentProducts' with lightbox.
19 *
20 * @since 1.0.0
21 */
22 class RecentProducts extends Widget_Base {
23
24 /**
25 * Get widget name.
26 *
27 * Retrieve 'RecentProducts' widget name.
28 *
29 * @since 1.0.0
30 * @access public
31 *
32 * @return string Widget name.
33 */
34 public function get_name() {
35 return 'aux_recent_product';
36 }
37
38 /**
39 * Get widget title.
40 *
41 * Retrieve 'RecentProducts' widget title.
42 *
43 * @since 1.0.0
44 * @access public
45 *
46 * @return string Widget title.
47 */
48 public function get_title() {
49 return __('Recent Products', 'auxin-elements' );
50 }
51
52 /**
53 * Get widget icon.
54 *
55 * Retrieve 'RecentProducts' widget icon.
56 *
57 * @since 1.0.0
58 * @access public
59 *
60 * @return string Widget icon.
61 */
62 public function get_icon() {
63 return 'eicon-woocommerce auxin-badge';
64 }
65
66 /**
67 * Get widget categories.
68 *
69 * Retrieve 'RecentProducts' widget icon.
70 *
71 * @since 1.0.0
72 * @access public
73 *
74 * @return string Widget icon.
75 */
76 public function get_categories() {
77 return array( 'auxin-dynamic' );
78 }
79
80 /**
81 * Retrieve the terms in a given taxonomy or list of taxonomies.
82 *
83 * Retrieve 'RecentProducts' widget icon.
84 *
85 * @since 1.0.0
86 * @access public
87 *
88 * @return string Widget icon.
89 */
90 public function get_terms() {
91 // Get terms
92 $terms = get_terms(
93 array(
94 'taxonomy' => 'product_cat',
95 'orderby' => 'count',
96 'hide_empty' => true
97 )
98 );
99
100 // Then create a list
101 $list = array( ' ' => __('All Categories', 'auxin-elements' ) ) ;
102
103 if ( ! is_wp_error( $terms ) && is_array( $terms ) ){
104 foreach ( $terms as $key => $value ) {
105 $list[$value->term_id] = $value->name;
106 }
107 }
108
109 return $list;
110 }
111
112 /**
113 * Register 'RecentProducts' widget controls.
114 *
115 * Adds different input fields to allow the user to change and customize the widget settings.
116 *
117 * @since 1.0.0
118 * @access protected
119 */
120 protected function register_controls() {
121
122 /*-----------------------------------------------------------------------------------*/
123 /* layout_section
124 /*-----------------------------------------------------------------------------------*/
125
126 $this->start_controls_section(
127 'layout_section',
128 array(
129 'label' => __('Layout', 'auxin-elements' ),
130 'tab' => Controls_Manager::TAB_LAYOUT
131 )
132 );
133
134 $this->add_responsive_control(
135 'columns',
136 array(
137 'label' => __( 'Columns', 'auxin-elements' ),
138 'type' => Controls_Manager::SELECT,
139 'default' => '4',
140 'tablet_default' => 'inherit',
141 'mobile_default' => '1',
142 'options' => array(
143 'inherit' => __( 'Inherited from larger', 'auxin-elements' ),
144 '1' => '1',
145 '2' => '2',
146 '3' => '3',
147 '4' => '4',
148 '5' => '5',
149 '6' => '6'
150 ),
151 'frontend_available' => true,
152 )
153 );
154
155 // $this->add_control(
156 // 'content_layout',
157 // array(
158 // 'label' => __('Content layout', 'auxin-elements'),
159 // 'type' => Controls_Manager::SELECT,
160 // 'default' => 'default',
161 // 'options' => array(
162 // 'default' => __('Full Content', 'auxin-elements'),
163 // 'entry-boxed' => __('Boxed Content', 'auxin-elements')
164 // )
165 // )
166 // );
167
168 $this->end_controls_section();
169
170 /*-----------------------------------------------------------------------------------*/
171 /* display_section
172 /*-----------------------------------------------------------------------------------*/
173
174 $this->start_controls_section(
175 'display_section',
176 array(
177 'label' => __('Display', 'auxin-elements' ),
178 'tab' => Controls_Manager::TAB_LAYOUT
179 )
180 );
181
182 $this->add_control(
183 'display_price',
184 array(
185 'label' => __('Display products price','auxin-elements' ),
186 'type' => Controls_Manager::SWITCHER,
187 'label_on' => __( 'On', 'auxin-elements' ),
188 'label_off' => __( 'Off', 'auxin-elements' ),
189 'return_value' => 'yes',
190 'default' => 'yes'
191 )
192 );
193
194 $this->add_control(
195 'display_sale_badge',
196 array(
197 'label' => __('Display sale badge','auxin-elements' ),
198 'type' => Controls_Manager::SWITCHER,
199 'label_on' => __( 'On', 'auxin-elements' ),
200 'label_off' => __( 'Off', 'auxin-elements' ),
201 'return_value' => 'yes',
202 'default' => 'yes'
203 )
204 );
205
206 $this->add_control(
207 'show_media',
208 array(
209 'label' => __('Display post media (image, video, etc)','auxin-elements' ),
210 'label_block' => true,
211 'type' => Controls_Manager::SWITCHER,
212 'label_on' => __( 'On', 'auxin-elements' ),
213 'label_off' => __( 'Off', 'auxin-elements' ),
214 'return_value' => 'yes',
215 'default' => 'yes',
216 'label_block' => true
217 )
218 );
219
220
221 $this->add_control(
222 'preloadable',
223 array(
224 'label' => __('Preload image','auxin-elements' ),
225 'type' => Controls_Manager::SWITCHER,
226 'label_on' => __( 'On', 'auxin-elements' ),
227 'label_off' => __( 'Off', 'auxin-elements' ),
228 'return_value' => 'yes',
229 'default' => 'no',
230 'condition' => array(
231 'show_media' => 'yes',
232 )
233 )
234 );
235
236 $this->add_control(
237 'preload_preview',
238 array(
239 'label' => __('While loading image display','auxin-elements' ),
240 'label_block' => true,
241 'type' => Controls_Manager::SELECT,
242 'options' => auxin_get_preloadable_previews(),
243 'return_value' => 'yes',
244 'default' => 'yes',
245 'condition' => array(
246 'preloadable' => 'yes'
247 )
248 )
249 );
250
251 $this->add_control(
252 'preload_bgcolor',
253 array(
254 'label' => __( 'Placeholder color while loading image', 'auxin-elements' ),
255 'type' => Controls_Manager::COLOR,
256 'condition' => array(
257 'preloadable' => 'yes',
258 'preload_preview' => array('simple-spinner', 'simple-spinner-light', 'simple-spinner-dark')
259 )
260 )
261 );
262
263 $this->add_control(
264 'display_title',
265 array(
266 'label' => __('Display product title', 'auxin-elements' ),
267 'type' => Controls_Manager::SWITCHER,
268 'label_on' => __( 'On', 'auxin-elements' ),
269 'label_off' => __( 'Off', 'auxin-elements' ),
270 'return_value' => 'yes',
271 'default' => 'yes'
272 )
273 );
274
275 $this->add_control(
276 'display_categories',
277 array(
278 'label' => __('Display Categories','auxin-elements' ),
279 'type' => Controls_Manager::SWITCHER,
280 'label_on' => __( 'On', 'auxin-elements' ),
281 'label_off' => __( 'Off', 'auxin-elements' ),
282 'return_value' => 'yes',
283 'default' => 'yes'
284 )
285 );
286
287 $this->add_control(
288 'display_button',
289 array(
290 'label' => __('Display Add To Cart','auxin-elements' ),
291 'type' => Controls_Manager::SWITCHER,
292 'label_on' => __( 'On', 'auxin-elements' ),
293 'label_off' => __( 'Off', 'auxin-elements' ),
294 'return_value' => 'yes',
295 'default' => 'yes'
296 )
297 );
298
299 $this->end_controls_section();
300
301 /*-----------------------------------------------------------------------------------*/
302 /* query_section
303 /*-----------------------------------------------------------------------------------*/
304
305 $this->start_controls_section(
306 'query_section',
307 array(
308 'label' => __('Query', 'auxin-elements' ),
309 )
310 );
311
312 $this->add_control(
313 'cat',
314 array(
315 'label' => __('Categories', 'auxin-elements'),
316 'description' => __('Specifies a category that you want to show posts from it.', 'auxin-elements' ),
317 'type' => Controls_Manager::SELECT2,
318 'multiple' => true,
319 'options' => $this->get_terms(),
320 'default' => array( ' ' ),
321 )
322 );
323
324 $this->add_control(
325 'num',
326 array(
327 'label' => __('Number of posts to show', 'auxin-elements'),
328 'label_block' => true,
329 'type' => Controls_Manager::NUMBER,
330 'default' => '8',
331 'min' => 1,
332 'step' => 1
333 )
334 );
335
336 $this->add_control(
337 'exclude_without_media',
338 array(
339 'label' => __('Exclude posts without media','auxin-elements' ),
340 'type' => Controls_Manager::SWITCHER,
341 'label_on' => __( 'On', 'auxin-elements' ),
342 'label_off' => __( 'Off', 'auxin-elements' ),
343 'return_value' => 'yes',
344 'default' => 'no'
345 )
346 );
347
348 $this->add_control(
349 'order_by',
350 array(
351 'label' => __('Order by', 'auxin-elements'),
352 'type' => Controls_Manager::SELECT,
353 'default' => 'date',
354 'options' => array(
355 'date' => __('Date', 'auxin-elements'),
356 'menu_order date' => __('Menu Order', 'auxin-elements'),
357 'title' => __('Title', 'auxin-elements'),
358 'ID' => __('ID', 'auxin-elements'),
359 'rand' => __('Random', 'auxin-elements'),
360 'comment_count' => __('Comments', 'auxin-elements'),
361 'modified' => __('Date Modified', 'auxin-elements'),
362 'author' => __('Author', 'auxin-elements'),
363 'post__in' => __('Inserted Post IDs', 'auxin-elements')
364 ),
365 )
366 );
367
368 $this->add_control(
369 'order',
370 array(
371 'label' => __('Order', 'auxin-elements'),
372 'type' => Controls_Manager::SELECT,
373 'default' => 'DESC',
374 'options' => array(
375 'DESC' => __('Descending', 'auxin-elements'),
376 'ASC' => __('Ascending', 'auxin-elements'),
377 ),
378 )
379 );
380
381 $this->add_control(
382 'only_products__in',
383 array(
384 'label' => __('Only products','auxin-elements' ),
385 'description' => __('If you intend to display ONLY specific products, you should specify the products here. You have to insert the Products IDs that are separated by comma (eg. 53,34,87,25).', 'auxin-elements' ),
386 'type' => Controls_Manager::TEXT
387 )
388 );
389
390 $this->add_control(
391 'include',
392 array(
393 'label' => __('Include products','auxin-elements' ),
394 'description' => __('If you intend to include additional products, you should specify the products here. You have to insert the Products IDs that are separated by comma (eg. 53,34,87,25)', 'auxin-elements' ),
395 'type' => Controls_Manager::TEXT
396 )
397 );
398
399 $this->add_control(
400 'exclude',
401 array(
402 'label' => __('Exclude products','auxin-elements' ),
403 'description' => __('If you intend to exclude specific products from result, you should specify the products here. You have to insert the Products IDs that are separated by comma (eg. 53,34,87,25)', 'auxin-elements' ),
404 'type' => Controls_Manager::TEXT
405 )
406 );
407
408 $this->add_control(
409 'offset',
410 array(
411 'label' => __('Start offset','auxin-elements' ),
412 'description' => __('Number of post to displace or pass over.', 'auxin-elements' ),
413 'type' => Controls_Manager::NUMBER
414 )
415 );
416
417 $this->add_control(
418 'show_pagination',
419 array(
420 'label' => __('Show Pagination','auxin-elements' ),
421 'description' => __('Paginates the products', 'auxin-elements' ),
422 'type' => Controls_Manager::SWITCHER,
423 'label_on' => __( 'On', 'auxin-elements' ),
424 'label_off' => __( 'Off', 'auxin-elements' ),
425 'return_value' => 'yes',
426 'default' => ''
427 )
428 );
429
430 $this->end_controls_section();
431
432 /*-----------------------------------------------------------------------------------*/
433 /* paginate_section
434 /*-----------------------------------------------------------------------------------*/
435
436 // $this->start_controls_section(
437 // 'paginate_section',
438 // array(
439 // 'label' => __('Paginate', 'auxin-elements' ),
440 // )
441 // );
442
443 // $this->add_control(
444 // 'loadmore_type',
445 // array(
446 // 'label' => __('Load More Type','auxin-elements' ),
447 // 'type' => 'aux-visual-select',
448 // 'options' => array(
449 // '' => array(
450 // 'label' => __('None', 'auxin-elements' ),
451 // 'image' => AUXIN_URL . 'images/visual-select/load-more-none.svg'
452 // ),
453 // 'scroll' => array(
454 // 'label' => __('Infinite Scroll', 'auxin-elements' ),
455 // 'image' => AUXIN_URL . 'images/visual-select/load-more-infinite.svg'
456 // ),
457 // 'next' => array(
458 // 'label' => __('Next Button', 'auxin-elements' ),
459 // 'image' => AUXIN_URL . 'images/visual-select/load-more-button.svg'
460 // ),
461 // 'next-prev' => array(
462 // 'label' => __('Next Prev', 'auxin-elements' ),
463 // 'image' => AUXIN_URL . 'images/visual-select/load-more-next-prev.svg'
464 // )
465 // ),
466 // 'default' => 'scroll'
467 // )
468 // );
469
470 // $this->end_controls_section();
471
472 /*-----------------------------------------------------------------------------------*/
473 /* image_style_section
474 /*-----------------------------------------------------------------------------------*/
475
476 $this->start_controls_section(
477 'image_style_section',
478 array(
479 'label' => __( 'Image', 'auxin-elements' ),
480 'tab' => Controls_Manager::TAB_STYLE,
481 'condition' => array(
482 'show_media' => 'yes',
483 ),
484 )
485 );
486
487 $this->add_control(
488 'image_aspect_ratio',
489 array(
490 'label' => __('Image aspect ratio', 'auxin-elements'),
491 'type' => Controls_Manager::SELECT,
492 'default' => '0.75',
493 'options' => array(
494 '0.75' => __('Horizontal 4:3' , 'auxin-elements'),
495 '0.56' => __('Horizontal 16:9', 'auxin-elements'),
496 '1.00' => __('Square 1:1' , 'auxin-elements'),
497 '1.33' => __('Vertical 3:4' , 'auxin-elements')
498 ),
499 'condition' => array(
500 'show_media' => 'yes',
501 ),
502 )
503 );
504
505 $this->add_control(
506 'img_border_radius',
507 array(
508 'label' => __( 'Border Radius', 'auxin-elements' ),
509 'type' => Controls_Manager::DIMENSIONS,
510 'size_units' => array( 'px', '%' ),
511 'selectors' => array(
512 '{{WRAPPER}} .aux-media-frame img' => 'border-radius: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}} !important;',
513 ),
514 'condition' => array(
515 'show_media' => 'yes',
516 ),
517 )
518 );
519
520 $this->end_controls_section();
521
522 /*-----------------------------------------------------------------------------------*/
523 /* title_style_section
524 /*-----------------------------------------------------------------------------------*/
525
526 $this->start_controls_section(
527 'title_style_section',
528 array(
529 'label' => __( 'Title', 'auxin-elements' ),
530 'tab' => Controls_Manager::TAB_STYLE,
531 'condition' => array(
532 'display_title' => 'yes',
533 ),
534 )
535 );
536
537 $this->add_control(
538 'title_color',
539 array(
540 'label' => __( 'Color', 'auxin-elements' ),
541 'type' => Controls_Manager::COLOR,
542 'selectors' => array(
543 '{{WRAPPER}} .woocommerce-loop-product__title' => 'color: {{VALUE}};',
544 ),
545 'condition' => array(
546 'display_title' => 'yes',
547 ),
548 )
549 );
550
551 $this->add_group_control(
552 Group_Control_Typography::get_type(),
553 array(
554 'name' => 'title_typography',
555 'scheme' => Typography::TYPOGRAPHY_1,
556 'selector' => '{{WRAPPER}} .woocommerce-loop-product__title',
557 'condition' => array(
558 'display_title' => 'yes',
559 ),
560 )
561 );
562
563 $this->add_responsive_control(
564 'title_margin_bottom',
565 array(
566 'label' => __( 'Spacing', 'auxin-elements' ),
567 'type' => Controls_Manager::SLIDER,
568 'range' => array(
569 'px' => array(
570 'max' => 100,
571 ),
572 ),
573 'selectors' => array(
574 '{{WRAPPER}} .woocommerce-loop-product__title' => 'margin-bottom: {{SIZE}}{{UNIT}};',
575 ),
576 'condition' => array(
577 'display_title' => 'yes',
578 ),
579 )
580 );
581
582 $this->end_controls_section();
583
584 /*-----------------------------------------------------------------------------------*/
585 /* category_style_section
586 /*-----------------------------------------------------------------------------------*/
587
588 $this->start_controls_section(
589 'category_style_section',
590 array(
591 'label' => __( 'Category', 'auxin-elements' ),
592 'tab' => Controls_Manager::TAB_STYLE,
593 'condition' => array(
594 'display_categories' => 'yes',
595 ),
596 )
597 );
598
599 $this->start_controls_tabs( 'category_colors' );
600
601 $this->start_controls_tab(
602 'category_color_normal',
603 array(
604 'label' => __( 'Normal' , 'auxin-elements' ),
605 'condition' => array(
606 'display_categories' => 'yes',
607 ),
608 )
609 );
610
611 $this->add_control(
612 'category_color',
613 array(
614 'label' => __( 'Color', 'auxin-elements' ),
615 'type' => Controls_Manager::COLOR,
616 'selectors' => array(
617 '{{WRAPPER}} .auxshp-meta-terms a, {{WRAPPER}} .auxshp-meta-terms' => 'color: {{VALUE}};',
618 ),
619 'condition' => array(
620 'display_categories' => 'yes',
621 ),
622 )
623 );
624
625 $this->end_controls_tab();
626
627 $this->start_controls_tab(
628 'category_color_hover',
629 array(
630 'label' => __( 'Hover' , 'auxin-elements' ),
631 'condition' => array(
632 'display_categories' => 'yes',
633 ),
634 )
635 );
636
637 $this->add_control(
638 'category_hover_color',
639 array(
640 'label' => __( 'Color', 'auxin-elements' ),
641 'type' => Controls_Manager::COLOR,
642 'selectors' => array(
643 '{{WRAPPER}} .auxshp-meta-terms a:hover' => 'color: {{VALUE}};',
644 ),
645 'condition' => array(
646 'display_categories' => 'yes',
647 ),
648 )
649 );
650
651 $this->end_controls_tab();
652
653 $this->end_controls_tabs();
654
655 $this->add_group_control(
656 Group_Control_Typography::get_type(),
657 array(
658 'name' => 'category_typography',
659 'scheme' => Typography::TYPOGRAPHY_1,
660 'selector' => '{{WRAPPER}} .auxshp-meta-terms, {{WRAPPER}} .auxshp-meta-terms a',
661 'condition' => array(
662 'display_categories' => 'yes',
663 ),
664 )
665 );
666
667 $this->add_responsive_control(
668 'category_margin_bottom',
669 array(
670 'label' => __( 'Bottom space', 'auxin-elements' ),
671 'type' => Controls_Manager::SLIDER,
672 'range' => array(
673 'px' => array(
674 'max' => 100,
675 ),
676 ),
677 'selectors' => array(
678 '{{WRAPPER}} .product_meta' => 'margin-bottom: {{SIZE}}{{UNIT}};',
679 ),
680 'condition' => array(
681 'display_categories' => 'yes',
682 ),
683 )
684 );
685
686 $this->end_controls_section();
687 }
688
689 /**
690 * Render image box widget output on the frontend.
691 *
692 * Written in PHP and used to generate the final HTML.
693 *
694 * @since 1.0.0
695 * @access protected
696 */
697 protected function render() {
698 // Check whether required resources are available
699 if( ! auxin_is_plugin_active( 'woocommerce/woocommerce.php' ) ) {
700 auxin_elementor_plugin_missing_notice( array( 'plugin_name' => __( 'WooCommerce', 'auxin-elements' ) ) );
701 return;
702 }
703
704 $settings = $this->get_settings_for_display();
705
706 $args = array(
707 // Display Section
708 'display_price' => $settings['display_price'],
709 'display_sale_badge' => $settings['display_sale_badge'],
710 'show_media' => $settings['show_media'],
711 'preloadable' => $settings['preloadable'],
712 'preload_preview' => $settings['preload_preview'],
713 'preload_bgcolor' => $settings['preload_bgcolor'],
714 'display_title' => $settings['display_title'],
715 'display_categories' => $settings['display_categories'],
716 'display_button' => $settings['display_button'],
717
718 // Layout Section
719 'desktop_cnum' => $settings['columns'],
720 'tablet_cnum' => $settings['columns_tablet'],
721 'phone_cnum' => $settings['columns_mobile'],
722 // 'content_layout' => $settings['content_layout'],
723
724
725 // Query Section
726 'cat' => $settings['cat'],
727 'num' => $settings['num'],
728 'exclude_without_media' => $settings['exclude_without_media'],
729 'order_by' => $settings['order_by'],
730 'order' => $settings['order'],
731 'only_products__in' => $settings['only_products__in'],
732 'include' => $settings['include'],
733 'exclude' => $settings['exclude'],
734 'offset' => $settings['offset'],
735 'show_pagination' => $settings['show_pagination'],
736
737 // Style Section
738 'image_aspect_ratio' => $settings['image_aspect_ratio'],
739 );
740
741 // get the shortcode base blog page
742 echo auxin_widget_the_recent_products_callback( $args );
743 }
744
745 }
746