PluginProbe
ShopBuilder – WooCommerce Builder For Elementor / 3.2.6
ShopBuilder – WooCommerce Builder For Elementor v3.2.6
3.4.2 3.4.1 3.4.0 2.0.1 2.0.2 2.0.3 2.1.0 2.1.1 2.1.10 2.1.11 2.1.12 2.1.13 2.1.14 2.1.15 2.1.2 2.1.3 2.1.4 2.1.5 2.1.6 2.1.7 2.1.8 2.1.9 2.2.0 2.2.1 2.2.2 All 63 releases
← All changes | app/Elementor/Widgets/Controls/LayoutFields.php +68 -30 2.1.33.2.6 View file →
@@ -366,17 +366,35 @@
366 366 'label' => esc_html__( 'Number of Columns', 'shopbuilder' ),
367 367 'description' => esc_html__( 'Please select the number of columns to show per row.', 'shopbuilder' ),
368 368 'options' => ControlHelper::layout_columns(),
369 369 'label_block' => true,
370 + 'render_type' => 'template',
370 371 'default' => '0',
371 372 'tablet_default' => '2',
372 373 'mobile_default' => '1',
373 374 'required' => true,
375 + 'separator' => rtsb()->has_pro() ? 'default' : 'default elementor-control-separator-after',
374 376 'selectors' => [
375 - $obj->selectors['columns']['cols'] => 'grid-template-columns: repeat({{VALUE}}, minmax(0, 1fr));',
377 + $obj->selectors['columns']['cols'] => 'grid-template-columns: repeat({{VALUE}}, minmax(0, 1fr));',
378 + $obj->selectors['columns']['masonry'] => '--rtsb-masonry-columns: {{VALUE}};',
379 + $obj->selectors['columns']['list_masonry'] => '--rtsb-masonry-list-columns: {{VALUE}};',
376 380 ],
377 381 ];
378 382
383 + $fields['grid_style'] = [
384 + 'type' => 'select2',
385 + 'label' => esc_html__( 'Layout Grid Style', 'shopbuilder' ),
386 + 'options' => [
387 + 'even' => esc_html__( 'Default', 'shopbuilder' ),
388 + 'masonry' => esc_html__( 'Masonry', 'shopbuilder' ),
389 + 'equal' => esc_html__( 'Equal Height', 'shopbuilder' ),
390 + ],
391 + 'label_block' => true,
392 + 'default' => 'even',
393 + 'description' => esc_html__( 'Please select the layout grid style.', 'shopbuilder' ),
394 + 'classes' => $obj->pro_class(),
395 + ];
396 +
379 397 $fields['image_width'] = [
380 398 'type' => 'slider',
381 399 'mode' => 'responsive',
382 400 'label' => esc_html__( 'Image Width', 'shopbuilder' ),
@@ -392,11 +410,11 @@
392 410 'unit' => '%',
393 411 'size' => 32,
394 412 ],
395 413 'description' => esc_html__( 'Please select the image width in %.', 'shopbuilder' ),
414 + 'separator' => rtsb()->has_pro() ? 'default' : 'before',
396 415 'selectors' => [
397 416 $obj->selectors['columns']['image_width']['image'] => 'flex-basis: {{SIZE}}{{UNIT}}; max-width: {{SIZE}}{{UNIT}};',
398 - // $obj->selectors['columns']['image_width']['content'] => 'flex-basis: calc(100% - {{SIZE}}{{UNIT}}); max-width: calc(100% - {{SIZE}}{{UNIT}});',
399 417 ],
400 418 'condition' => [ 'layout' => [ 'list-layout1', 'list-layout2', 'list-layout3', 'list-layout4','list-layout5','list-layout6','list-layout7' ] ],
401 419 ];
402 420
@@ -441,25 +459,8 @@
441 459 ],
442 460 'condition' => [ 'layout' => [ 'list-layout3' ] ],
443 461 ];
444 462
445 - // Todo: Need to add later.
446 - /*
447 - $fields['grid_style'] = [
448 - 'type' => 'select2',
449 - 'label' => esc_html__( 'Grid Style', 'shopbuilder' ),
450 - 'options' => [
451 - 'even' => esc_html__( 'Even', 'shopbuilder' ),
452 - 'masonry' => esc_html__( 'Masonry', 'shopbuilder' ),
453 - 'equal' => esc_html__( 'Equal Height', 'shopbuilder' ),
454 - ],
455 - 'label_block' => true,
456 - 'default' => 'even',
457 - 'description' => esc_html__( 'Please select the grid style.', 'shopbuilder' ),
458 - 'classes' => $obj->pro_class(),
459 - ];
460 - */
461 -
462 463 return apply_filters( 'rtsb/elements/elementor/columns_control', $fields, $obj );
463 464 }
464 465
465 466 /**
@@ -516,8 +517,19 @@
516 517 'required' => true,
517 518 'classes' => $obj->pro_class(),
518 519 ];
519 520
521 + $fields['grid_style'] = [
522 + 'type' => 'select',
523 + 'label' => esc_html__( 'Layout Grid Style', 'shopbuilder' ),
524 + 'options' => [
525 + 'even' => esc_html__( 'Default', 'shopbuilder' ),
526 + ],
527 + 'label_block' => true,
528 + 'default' => 'even',
529 + 'description' => esc_html__( 'Please select the layout grid style.', 'shopbuilder' ),
530 + ];
531 +
520 532 $fields['image_width'] = [
521 533 'type' => 'slider',
522 534 'mode' => 'responsive',
523 535 'label' => esc_html__( 'Image Width', 'shopbuilder' ),
@@ -535,9 +547,8 @@
535 547 ],
536 548 'description' => esc_html__( 'Please select the image width in %.', 'shopbuilder' ),
537 549 'selectors' => [
538 550 $obj->selectors['columns']['image_width']['image'] => 'flex-basis: {{SIZE}}{{UNIT}}; max-width: {{SIZE}}{{UNIT}} !important;',
539 - // $obj->selectors['columns']['image_width']['content'] => 'flex-basis: calc(100% - {{SIZE}}{{UNIT}}); max-width: calc(100% - {{SIZE}}{{UNIT}});',
540 551 ],
541 552 'condition' => [ 'layout' => [ 'slider-layout5' ] ],
542 553 ];
543 554
@@ -627,9 +638,9 @@
627 638 'label_block' => true,
628 639 'minimum_input_length' => 1,
629 640 ];
630 641
631 - $fields['filter_tags'] = [
642 + $fields['filter_tags'] = [
632 643 'type' => 'rt-select2',
633 644 'label' => esc_html__( 'Filter By Tags', 'shopbuilder' ),
634 645 'description' => esc_html__( 'Select the tags you want to filter, Leave it blank for all tags.', 'shopbuilder' ),
635 646 'source_name' => 'taxonomy',
@@ -637,8 +648,18 @@
637 648 'multiple' => true,
638 649 'label_block' => true,
639 650 'minimum_input_length' => 1,
640 651 ];
652 + $fields['filter_brands'] = [
653 + 'type' => 'rt-select2',
654 + 'label' => esc_html__( 'Filter By Brand', 'shopbuilder' ),
655 + 'description' => esc_html__( 'Select the tags you want to filter, Leave it blank for all brands.', 'shopbuilder' ),
656 + 'source_name' => 'taxonomy',
657 + 'source_type' => 'product_brand',
658 + 'multiple' => true,
659 + 'label_block' => true,
660 + 'minimum_input_length' => 1,
661 + ];
641 662
642 663 $fields['filter_attributes'] = [
643 664 'type' => 'select2',
644 665 'label' => esc_html__( 'Filter By Attributes', 'shopbuilder' ),
@@ -645,9 +666,8 @@
645 666 'description' => esc_html__( 'Select the attributes you want to filter, Leave it blank for all attributes.', 'shopbuilder' ),
646 667 'options' => Fns::get_all_attributes(),
647 668 'multiple' => true,
648 669 'label_block' => true,
649 - 'condition' => [ 'tax_filter!' => [ 'yes' ] ],
650 670 ];
651 671
652 672 $fields['tax_relation'] = [
653 673 'type' => 'select2',
@@ -656,9 +676,8 @@
656 676 'OR' => 'Show All Products (OR)',
657 677 'AND' => 'Show Common Products (AND)',
658 678 ],
659 679 'default' => 'AND',
660 - 'description' => esc_html__( 'Select the taxonomies relationship. It is applicable if you select more than one taxonomy.', 'shopbuilder' ),
661 680 'label_block' => true,
662 681 ];
663 682
664 683 $fields['advanced_note'] = $obj->el_heading( esc_html__( 'Advanced Filters', 'shopbuilder' ), 'before' );
@@ -693,9 +712,13 @@
693 712 'default' => 'date',
694 713 ];
695 714
696 715 if ( rtsb()->has_pro() ) {
697 - $fields['posts_order_by']['condition'] = [ 'products_filter' => 'recent' ];
716 + $fields['products_filter']['condition'] = [ 'ajax_filter_type' => [ 'taxonomy' ] ];
717 + $fields['posts_order_by']['condition'] = [
718 + 'ajax_filter_type' => [ 'taxonomy' ],
719 + 'products_filter' => 'recent',
720 + ];
698 721 }
699 722
700 723 $fields['posts_order'] = [
701 724 'type' => 'select2',
@@ -761,8 +784,10 @@
761 784 *
762 785 * @return array
763 786 */
764 787 public static function cat_single_query( $obj ) {
788 + $all_tag_list = Fns::get_tax_list();
789 + unset( $all_tag_list['product_attr'] );
765 790 $fields['query_section'] = $obj->start_section(
766 791 esc_html__( 'Query', 'shopbuilder' ),
767 792 self::$tab
768 793 );
@@ -769,9 +794,9 @@
769 794
770 795 $fields['select_source'] = [
771 796 'type' => 'select2',
772 797 'label' => esc_html__( 'Select Taxonomy', 'shopbuilder' ),
773 - 'options' => Fns::get_tax_list(),
798 + 'options' => $all_tag_list,
774 799 'description' => esc_html__( 'Please select the taxonomy.', 'shopbuilder' ),
775 800 'label_block' => true,
776 801 'default' => 'product_cat',
777 802 ];
@@ -788,9 +813,9 @@
788 813 'select_source' => [ 'product_cat' ],
789 814 ],
790 815 ];
791 816
792 - $fields['select_tag'] = [
817 + $fields['select_tag'] = [
793 818 'type' => 'rt-select2',
794 819 'label' => esc_html__( 'Choose Tag', 'shopbuilder' ),
795 820 'source_name' => 'taxonomy',
796 821 'source_type' => 'product_tag',
@@ -800,8 +825,20 @@
800 825 'condition' => [
801 826 'select_source' => [ 'product_tag' ],
802 827 ],
803 828 ];
829 + $fields['select_brand'] = [
830 + 'type' => 'rt-select2',
831 + 'label' => esc_html__( 'Choose Brand', 'shopbuilder' ),
832 + 'source_name' => 'taxonomy',
833 + 'source_type' => 'product_brand',
834 + 'description' => esc_html__( 'Please select the brand to show.', 'shopbuilder' ),
835 + 'label_block' => true,
836 + 'minimum_input_length' => 1,
837 + 'condition' => [
838 + 'select_source' => [ 'product_brand' ],
839 + ],
840 + ];
804 841
805 842 $fields['query_section_end'] = $obj->end_section();
806 843
807 844 return apply_filters( 'rtsb/elements/elementor/cat_single_query_control', $fields, $obj );
@@ -969,9 +1006,9 @@
969 1006 $fields['pagination_per_page'] = [
970 1007 'type' => 'number',
971 1008 'label' => esc_html__( 'Number of Posts Per Page', 'shopbuilder' ),
972 1009 'default' => 8,
973 - 'description' => esc_html__( 'Please enter the number of team members per page to show.', 'shopbuilder' ),
1010 + 'description' => esc_html__( 'Please enter the number of products per page to show.', 'shopbuilder' ),
974 1011 'condition' => [ 'show_pagination' => [ 'yes' ] ],
975 1012 ];
976 1013
977 1014 $pagination_description = esc_html__( 'Please choose the pagination type', 'shopbuilder' );
@@ -976,9 +1013,10 @@
976 1013
977 1014 $pagination_description = esc_html__( 'Please choose the pagination type', 'shopbuilder' );
978 1015
979 1016 if ( ! rtsb()->has_pro() ) {
980 - $pagination_description = __( 'Please choose the pagination type.<span class="elementor-pro-notice"><a target="_blank" href="' . esc_url( rtsb()->pro_version_link() ) . '">Upgrade to PRO</a> to unlock Load More and Ajax Pagination.</span>', 'shopbuilder' );
1017 + $upgrade_link = '<span class="elementor-pro-notice"><a target="_blank" href="' . esc_url( rtsb()->pro_version_link() ) . '">Upgrade to PRO</a> to unlock Load More and Ajax Pagination.</span>';
1018 + $pagination_description .= $upgrade_link;
981 1019 }
982 1020
983 1021 $fields['pagination_type'] = [
984 1022 'type' => 'select',
@@ -1015,10 +1053,10 @@
1015 1053 ];
1016 1054
1017 1055 $fields['tax_filter'] = [
1018 1056 'type' => 'switch',
1019 - 'label' => esc_html__( 'Enable Taxonomy Filter Button?', 'shopbuilder' ),
1020 - 'description' => esc_html__( 'Switch on to enable taxonomy filter button.', 'shopbuilder' ),
1057 + 'label' => esc_html__( 'Enable Ajax Tab Filter Buttons?', 'shopbuilder' ),
1058 + 'description' => esc_html__( 'Switch on to enable Ajax tab filter buttons.', 'shopbuilder' ),
1021 1059 'label_on' => esc_html__( 'On', 'shopbuilder' ),
1022 1060 'label_off' => esc_html__( 'Off', 'shopbuilder' ),
1023 1061 'separator' => $obj->pro_class(),
1024 1062 'classes' => $obj->pro_class(),