PluginProbe ʕ •ᴥ•ʔ
ShopEngine Elementor WooCommerce Builder Addon – All in One WooCommerce Solution / trunk
ShopEngine Elementor WooCommerce Builder Addon – All in One WooCommerce Solution vtrunk
4.9.1 4.9.0 2.0.0 2.1.0 2.2.0 2.2.1 2.2.2 2.3.0 2.4.0 2.5.0 2.5.1 3.0.0 3.1.0 3.1.1 4.0.0 4.0.1 4.1.0 4.1.1 4.2.0 4.2.1 4.3.0 4.3.1 4.4.0 4.5.0 4.5.1 4.6.0 4.6.1 4.6.2 4.6.3 4.6.4 4.6.5 4.6.6 4.6.7 4.6.8 4.6.9 4.7.0 4.7.1 4.7.2 4.7.3 4.7.4 4.7.5 4.7.6 4.7.7 4.7.8 4.7.9 4.8.0 4.8.1 4.8.2 4.8.3 4.8.4 4.8.5 4.8.6 4.8.7 4.8.8 4.8.9 trunk 0.1.2-beta 0.1.3-beta 0.1.4-beta 1.0.0 1.1.0 1.1.1 1.1.2 1.1.3 1.2.0 1.2.1 1.3.0 1.3.1 1.3.2 1.3.3 1.3.4 1.4.0 1.4.1 1.5.0 1.5.1 1.6.0 1.6.1 1.7.0 1.8.0 1.8.1 1.9.0
shopengine / widgets / prod-short-code.php
shopengine / widgets Last commit date
add-to-cart 7 months ago additional-information 3 years ago advanced-search 1 year ago archive-description 3 years ago archive-products 1 day ago archive-result-count 2 years ago archive-title 1 year ago archive-view-mode 2 years ago breadcrumbs 4 years ago call-for-price 9 months ago cart-table 3 weeks ago cart-totals 7 months ago checkout-coupon-form 3 weeks ago checkout-form-additional 3 years ago checkout-form-billing 2 years ago checkout-form-login 3 years ago checkout-form-shipping 4 months ago checkout-payment 3 years ago checkout-review-order 2 years ago checkout-shipping-methods 2 years ago cross-sells 7 months ago deal-products 2 years ago empty-cart-message 2 years ago filter-orderby 2 years ago filter-products-per-page 3 years ago filterable-product-list 1 year ago init 1 day ago notice 2 years ago product-categories 3 years ago product-category-lists 1 year ago product-description 2 years ago product-excerpt 3 years ago product-image 1 year ago product-list 4 months ago product-meta 2 years ago product-price 3 years ago product-rating 7 months ago product-review 2 years ago product-share 2 years ago product-sku 3 years ago product-stock 9 months ago product-tabs 7 months ago product-tags 3 years ago product-title 2 years ago qr-code 9 months ago recently-viewed-products 11 months ago related 7 months ago return-to-shop 2 years ago up-sells 7 months ago view-single-product 3 years ago lazy-cache.php 3 years ago manifest.php 1 day ago prod-short-code.php 2 years ago products.php 3 years ago shop.php 3 years ago widget-helper.php 1 day ago
prod-short-code.php
65 lines
1 <?php
2
3 namespace ShopEngine\Widgets;
4 defined('ABSPATH') || exit;
5
6 class Prod_Short_Code extends \WC_Shortcode_Products {
7
8 public function __construct($settings = array(), $type = 'products') {
9
10 $this->settings = $settings;
11 $this->type = $type;
12
13 $this->attributes = $this->parse_attributes([
14 'columns' => $settings['shopengine_columns'],
15 'rows' => $settings['shopengine_rows'],
16 'paginate' => $settings['shopengine_paginate'],
17 'cache' => false,
18 ]);
19
20 $this->query_args = $this->parse_query_args();
21 }
22
23
24 protected function parse_query_args() {
25
26 $query_args = [
27 'post_type' => 'product',
28 'post_status' => 'publish',
29 'ignore_sticky_posts' => true,
30 'no_found_rows' => false === wc_string_to_bool($this->attributes['paginate']),
31 ];
32
33 $settings = $this->settings;
34
35 if($settings['shopengine_paginate'] === 'yes') {
36 //phpcs:ignore WordPress.Security.NonceVerification.Recommended -- It's a fronted user part, not possible to verify nonce here
37 $page = empty( $_GET['product-page'] ) ? 1 : absint($_GET['product-page']);
38
39 if ($page > 1) {
40 $query_args['paged'] = $page;
41 }
42
43 $ord_arg = WC()->query->get_catalog_ordering_args();
44
45 $query_args['orderby'] = $ord_arg['orderby'];
46 $query_args['order'] = $ord_arg['order'];
47 }
48
49
50 $query_args['fields'] = 'ids';
51 $query_args['post_type'] = 'product';
52 $query_args['posts_per_page'] = intval($settings['shopengine_columns'] * $settings['shopengine_rows']);
53
54
55 return $query_args;
56 }
57
58
59 protected function get_query_results() {
60
61 $results = parent::get_query_results();
62
63 return $results;
64 }
65 }