PluginProbe
WooCommerce / 11.1.0-rc.2
WooCommerce v11.1.0-rc.2
11.1.0 11.1.0-rc.2 11.1.0-rc.1 11.1.0-beta.2 11.1.0-beta.1 11.0.1 11.0.0 11.0.0-rc.3 11.0.0-rc.2 11.0.0-rc.1 11.0.0-beta.2 11.0.0-beta.1 10.9.4 10.9.3 10.9.2 10.9.1 10.9.0 10.9.0-rc.1 10.9.0-beta.2 10.9.0-beta.1 10.8.1 10.8.0 10.8.0-rc.1 10.8.0-beta.2 10.8.0-beta.1 All 648 releases
woocommerce / src / Blocks / QueryFilters.php
QueryFilters.php
151 lines 4.7 KB
No matching file
Up and down to move Enter to open Esc to close
Raw Download Zip
1 <?php
2 declare( strict_types = 1 );
3
4 namespace Automattic\WooCommerce\Blocks;
5
6 use Automattic\WooCommerce\Internal\ProductFilters\FilterDataProvider;
7 use Automattic\WooCommerce\Internal\ProductFilters\QueryClauses;
8
9 /**
10 * Process the query data for filtering purposes.
11 *
12 * Do not delete this file until https://github.com/woocommerce/woocommerce/issues/52311 is resolved.
13 * The upgrade flow can still load stale autoloader manifests that point to this file.
14 *
15 * @deprecated 11.0.0 Use QueryClauses and FilterDataProvider instead. This class will be removed in WooCommerce 12.0.
16 */
17 final class QueryFilters {
18 /**
19 * Constructor.
20 *
21 * @deprecated 11.0.0 Use QueryClauses and FilterDataProvider instead. This class will be removed in WooCommerce 12.0.
22 */
23 public function __construct() {
24 wc_deprecated_function(
25 __CLASS__,
26 '11.0.0',
27 QueryClauses::class . ' and ' . FilterDataProvider::class . '. This class will be removed in WooCommerce 12.0'
28 );
29 }
30
31 /**
32 * Initialization method.
33 *
34 * @internal
35 */
36 public function init() {
37 wc_deprecated_function(
38 __METHOD__,
39 '11.0.0',
40 QueryClauses::class . ' and ' . FilterDataProvider::class . '. This class will be removed in WooCommerce 12.0'
41 );
42 }
43
44 /**
45 * Filter the posts clauses of the main query to support global filters.
46 *
47 * @param array $args Query args.
48 * @param \WP_Query $wp_query WP_Query object.
49 * @return array
50 */
51 public function main_query_filter( $args, $wp_query ) {
52 wc_deprecated_function(
53 __METHOD__,
54 '11.0.0',
55 QueryClauses::class . '::add_query_clauses_for_main_query. This class will be removed in WooCommerce 12.0'
56 );
57
58 return wc_get_container()->get( QueryClauses::class )->add_query_clauses_for_main_query( $args, $wp_query );
59 }
60
61 /**
62 * Add conditional query clauses based on the filter params in query vars.
63 *
64 * @param array $args Query args.
65 * @param \WP_Query $wp_query WP_Query object.
66 * @return array
67 */
68 public function add_query_clauses( $args, $wp_query ) {
69 wc_deprecated_function(
70 __METHOD__,
71 '11.0.0',
72 QueryClauses::class . '::add_query_clauses. This class will be removed in WooCommerce 12.0'
73 );
74
75 return wc_get_container()->get( QueryClauses::class )->add_query_clauses( $args, $wp_query );
76 }
77
78 /**
79 * Get price data for current products.
80 *
81 * @param array $query_vars The WP_Query arguments.
82 * @return object
83 */
84 public function get_filtered_price( $query_vars ) {
85 wc_deprecated_function(
86 __METHOD__,
87 '11.0.0',
88 FilterDataProvider::class . '::with( ' . QueryClauses::class . ' )->get_filtered_price. This class will be removed in WooCommerce 12.0'
89 );
90
91 $container = wc_get_container();
92
93 return (object) $container->get( FilterDataProvider::class )->with( $container->get( QueryClauses::class ) )->get_filtered_price( $query_vars );
94 }
95
96 /**
97 * Get stock status counts for the current products.
98 *
99 * @param array $query_vars The WP_Query arguments.
100 * @return array status=>count pairs.
101 */
102 public function get_stock_status_counts( $query_vars ) {
103 wc_deprecated_function(
104 __METHOD__,
105 '11.0.0',
106 FilterDataProvider::class . '::with( ' . QueryClauses::class . ' )->get_stock_status_counts. This class will be removed in WooCommerce 12.0'
107 );
108
109 $container = wc_get_container();
110
111 return $container->get( FilterDataProvider::class )->with( $container->get( QueryClauses::class ) )->get_stock_status_counts( $query_vars, array_keys( wc_get_product_stock_status_options() ) );
112 }
113
114 /**
115 * Get rating counts for the current products.
116 *
117 * @param array $query_vars The WP_Query arguments.
118 * @return array rating=>count pairs.
119 */
120 public function get_rating_counts( $query_vars ) {
121 wc_deprecated_function(
122 __METHOD__,
123 '11.0.0',
124 FilterDataProvider::class . '::with( ' . QueryClauses::class . ' )->get_rating_counts. This class will be removed in WooCommerce 12.0'
125 );
126
127 $container = wc_get_container();
128
129 return $container->get( FilterDataProvider::class )->with( $container->get( QueryClauses::class ) )->get_rating_counts( $query_vars );
130 }
131
132 /**
133 * Get attribute counts for the current products.
134 *
135 * @param array $query_vars The WP_Query arguments.
136 * @param string $attribute_to_count Attribute taxonomy name.
137 * @return array termId=>count pairs.
138 */
139 public function get_attribute_counts( $query_vars, $attribute_to_count ) {
140 wc_deprecated_function(
141 __METHOD__,
142 '11.0.0',
143 FilterDataProvider::class . '::with( ' . QueryClauses::class . ' )->get_attribute_counts. This class will be removed in WooCommerce 12.0'
144 );
145
146 $container = wc_get_container();
147
148 return $container->get( FilterDataProvider::class )->with( $container->get( QueryClauses::class ) )->get_attribute_counts( $query_vars, $attribute_to_count );
149 }
150 }
151