PluginProbe ʕ •ᴥ•ʔ
Shortcodes and extra features for Phlox theme / 2.17.4
Shortcodes and extra features for Phlox theme v2.17.4
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 1 year ago accordion.php 1 year ago audio.php 4 years ago before-after.php 3 years ago button.php 1 year ago carousel-navigation.php 4 years ago circle-chart.php 1 year ago contact-box.php 4 years ago contact-form.php 1 year ago custom-list.php 1 year ago divider.php 4 years ago gallery.php 1 year ago gmap.php 4 years ago heading-modern.php 1 year ago icon.php 1 year ago image.php 1 year ago mailchimp.php 1 year ago modern-button.php 1 year ago products-grid.php 1 year ago quote.php 1 year ago recent-comments.php 1 year ago recent-posts-grid-carousel.php 1 year ago recent-posts-land-style.php 1 year ago recent-posts-masonry.php 1 year ago recent-posts-tiles-carousel.php 1 year ago recent-posts-tiles.php 1 year ago recent-posts-timeline.php 1 year ago recent-products.php 1 year ago responsive-table.php 1 year ago search.php 4 years ago staff.php 1 year ago svg.php 1 year ago tabs.php 1 year ago testimonial.php 1 year ago text.php 1 year ago touch-slider.php 1 year ago video.php 4 years ago
recent-products.php
750 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\Kits\Documents\Tabs\Global_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 'global' => [
556 'default' => Global_Typography::TYPOGRAPHY_PRIMARY,
557 ],
558 'selector' => '{{WRAPPER}} .woocommerce-loop-product__title',
559 'condition' => array(
560 'display_title' => 'yes',
561 ),
562 )
563 );
564
565 $this->add_responsive_control(
566 'title_margin_bottom',
567 array(
568 'label' => __( 'Spacing', 'auxin-elements' ),
569 'type' => Controls_Manager::SLIDER,
570 'range' => array(
571 'px' => array(
572 'max' => 100,
573 ),
574 ),
575 'selectors' => array(
576 '{{WRAPPER}} .woocommerce-loop-product__title' => 'margin-bottom: {{SIZE}}{{UNIT}};',
577 ),
578 'condition' => array(
579 'display_title' => 'yes',
580 ),
581 )
582 );
583
584 $this->end_controls_section();
585
586 /*-----------------------------------------------------------------------------------*/
587 /* category_style_section
588 /*-----------------------------------------------------------------------------------*/
589
590 $this->start_controls_section(
591 'category_style_section',
592 array(
593 'label' => __( 'Category', 'auxin-elements' ),
594 'tab' => Controls_Manager::TAB_STYLE,
595 'condition' => array(
596 'display_categories' => 'yes',
597 ),
598 )
599 );
600
601 $this->start_controls_tabs( 'category_colors' );
602
603 $this->start_controls_tab(
604 'category_color_normal',
605 array(
606 'label' => __( 'Normal' , 'auxin-elements' ),
607 'condition' => array(
608 'display_categories' => 'yes',
609 ),
610 )
611 );
612
613 $this->add_control(
614 'category_color',
615 array(
616 'label' => __( 'Color', 'auxin-elements' ),
617 'type' => Controls_Manager::COLOR,
618 'selectors' => array(
619 '{{WRAPPER}} .auxshp-meta-terms a, {{WRAPPER}} .auxshp-meta-terms' => 'color: {{VALUE}};',
620 ),
621 'condition' => array(
622 'display_categories' => 'yes',
623 ),
624 )
625 );
626
627 $this->end_controls_tab();
628
629 $this->start_controls_tab(
630 'category_color_hover',
631 array(
632 'label' => __( 'Hover' , 'auxin-elements' ),
633 'condition' => array(
634 'display_categories' => 'yes',
635 ),
636 )
637 );
638
639 $this->add_control(
640 'category_hover_color',
641 array(
642 'label' => __( 'Color', 'auxin-elements' ),
643 'type' => Controls_Manager::COLOR,
644 'selectors' => array(
645 '{{WRAPPER}} .auxshp-meta-terms a:hover' => 'color: {{VALUE}};',
646 ),
647 'condition' => array(
648 'display_categories' => 'yes',
649 ),
650 )
651 );
652
653 $this->end_controls_tab();
654
655 $this->end_controls_tabs();
656
657 $this->add_group_control(
658 Group_Control_Typography::get_type(),
659 array(
660 'name' => 'category_typography',
661 'global' => [
662 'default' => Global_Typography::TYPOGRAPHY_PRIMARY,
663 ],
664 'selector' => '{{WRAPPER}} .auxshp-meta-terms, {{WRAPPER}} .auxshp-meta-terms a',
665 'condition' => array(
666 'display_categories' => 'yes',
667 ),
668 )
669 );
670
671 $this->add_responsive_control(
672 'category_margin_bottom',
673 array(
674 'label' => __( 'Bottom space', 'auxin-elements' ),
675 'type' => Controls_Manager::SLIDER,
676 'range' => array(
677 'px' => array(
678 'max' => 100,
679 ),
680 ),
681 'selectors' => array(
682 '{{WRAPPER}} .product_meta' => 'margin-bottom: {{SIZE}}{{UNIT}};',
683 ),
684 'condition' => array(
685 'display_categories' => 'yes',
686 ),
687 )
688 );
689
690 $this->end_controls_section();
691 }
692
693 /**
694 * Render image box widget output on the frontend.
695 *
696 * Written in PHP and used to generate the final HTML.
697 *
698 * @since 1.0.0
699 * @access protected
700 */
701 protected function render() {
702 // Check whether required resources are available
703 if( ! auxin_is_plugin_active( 'woocommerce/woocommerce.php' ) ) {
704 auxin_elementor_plugin_missing_notice( array( 'plugin_name' => __( 'WooCommerce', 'auxin-elements' ) ) );
705 return;
706 }
707
708 $settings = $this->get_settings_for_display();
709
710 $args = array(
711 // Display Section
712 'display_price' => $settings['display_price'],
713 'display_sale_badge' => $settings['display_sale_badge'],
714 'show_media' => $settings['show_media'],
715 'preloadable' => $settings['preloadable'],
716 'preload_preview' => $settings['preload_preview'],
717 'preload_bgcolor' => $settings['preload_bgcolor'],
718 'display_title' => $settings['display_title'],
719 'display_categories' => $settings['display_categories'],
720 'display_button' => $settings['display_button'],
721
722 // Layout Section
723 'desktop_cnum' => $settings['columns'],
724 'tablet_cnum' => $settings['columns_tablet'],
725 'phone_cnum' => $settings['columns_mobile'],
726 // 'content_layout' => $settings['content_layout'],
727
728
729 // Query Section
730 'cat' => $settings['cat'],
731 'num' => $settings['num'],
732 'exclude_without_media' => $settings['exclude_without_media'],
733 'order_by' => $settings['order_by'],
734 'order' => $settings['order'],
735 'only_products__in' => $settings['only_products__in'],
736 'include' => $settings['include'],
737 'exclude' => $settings['exclude'],
738 'offset' => $settings['offset'],
739 'show_pagination' => $settings['show_pagination'],
740
741 // Style Section
742 'image_aspect_ratio' => $settings['image_aspect_ratio'],
743 );
744
745 // get the shortcode base blog page
746 echo auxin_widget_the_recent_products_callback( $args );
747 }
748
749 }
750