After the change that registers variation attributes as terms
(in addition to reigstering them as post meta) it is now time
to modify the get_filtered_term_product_counts methods in
WC_Widget_Layered_Nav so that it works consistently for both
variable and non-variable products. The logic for the counters
is now as follows:
with OR operator:
- Simple products: count the attributes of all visible products
(unchanged behavior).
- Variable products: count attributes corresponding to
visible variations.
with AND operator:
- Simple products: count the attributes of visible products but only
for products that have all the selected (unchanged behavior).
- Variable products: find all the products for which all the variations
corresponding to the selected attributes exist and are visible,
then count the attributes corresponding to the visible variations
of those products.
A product is "visible" if it's published, not excluded for catalog,
and has stock. Additionally, a variable product will not be considered
visible if the parent product is not.
This commit fixes all 1533 PHPCS errors that PHPCBF can fix automatically in the tests/ directory. Before this change there was a total of 3106 PHPCS errors in the WooCommerce repository and now there is 1573 errors.
* Pass through additional args to wc_create_order in test
* Pass extra args to wc_create_order to improve coverage, test WP_Error check of wc_create_order
* wc_get_template_part test
* wc_enqueue_js test
* wc_get_log_file_name test
* wc_get_page_children test
* hash_equals test
* wc_rand_hash test
* wc_transaction_query test
* Fix script test and phpcs stuff
* Fix widget tests
* Move tests to correct file and fix phpcs