Commit Graph

20437 Commits

Author SHA1 Message Date
jonathansadowski 168698cd91
Merge pull request #27589 from woocommerce/enhance-query-for-filtering-attributes-with-any-value
Enhance the query for "Any" variations in filter by attribute widget
2020-09-08 11:58:54 -05:00
Nestor Soriano 958ecf1d48 Fix the SQL query to count products in the filter by attribute widget
The previous query was counting variable products twice when they
had a variation with a concrete value for the attribute and also
a variation with "Any..." value for the same attribute.
2020-09-07 16:44:14 +02:00
Rodrigo Primo 12cc9ddf7c Merge branch 'master' of github.com:woocommerce/woocommerce 2020-09-05 11:16:09 -03:00
Rodrigo Primo 1694975910 Fix type of the WC_Query::$product_query property in the documentation 2020-09-05 11:14:57 -03:00
Rodrigo Primo be8dc533ff
Merge pull request #26957 from kevinruscoe/patch-3
Update types
2020-09-05 11:13:10 -03:00
Rodrigo Primo a582589449
Merge pull request #27008 from azzy9/master
Fix the error message shown for the max setting
2020-09-05 11:08:50 -03:00
Nestor Soriano 43642f7835 Enhance the query for "Any" variations in filter by attribute widget.
The new query fixes a bug where variations were being counted twice:
if a product was included in both the queries then it would be counted
differently and added; e.g. when a product had two variations,
one with "Any" attribute and other with a attribute that has a value.

The new query also optimizes performance, so that filter conditions
can be improved and better indexes can be used.
2020-09-04 11:29:50 +02:00
jonathansadowski 53c22ba4e4
Merge pull request #27508 from woocommerce/fix/27419
Fix filter by attribute widget now working for "Any..." attributes
2020-09-02 13:32:54 -05:00
Nestor Soriano 417bcf8fff Split the query for counting terms in the filter by attributes widget.
For performance reasons the query is split in two: one for simple
products and variations with a concrete attribute value, and another
one for variations having "Any..." as the attribute value.
2020-09-02 16:22:25 +02:00
jonathansadowski 86f8788525
Merge pull request #27509 from woocommerce/fix/creating-variations-for-numeric-attributes
Fix "Create variations from all attributes" for numeric attribute values
2020-09-01 13:40:52 -05:00
Nestor Soriano 07b62dabbd Improve the query to retrieve "Any..."-attributed variations in filtering widget
The new query doesn't need empty attribute entries in the meta table,
therefore the code that generates them and the migration to backfill
the missing existing ones have been removed.
2020-09-01 16:47:41 +02:00
Nestor Soriano 53351fcc2f Update wc_product_attribute_uasort_comparison to accept null entries
When set_attributes is used on WC_Product to remove existing attributes
the wc_product_attribute_uasort_comparison ends up being called
with a null argument, and this breaks tests in PHP 7.4 since
null is used as an array. This commit modifies the function so that
if null is passed no array access is attempted.
2020-08-31 16:49:29 +02:00
Nestor Soriano 3a583feab1 Change filter by attributes widget to count products, not variations.
Right now the filter by attributes widget counts available variations
(for variation products). This is confusing since the counter shows
numbers that are higher than the actual count of products displayed.

This commit changes the query used by the widget so that instead
of counting variations it returns the parent product ids, and then
counts the distinct values. This also covers the case of products
where some of the variations have concrete values and some have
"Any..." values.
2020-08-31 12:22:33 +02:00
Ron Rennick bbdafb5cb1
Merge pull request #26196 from fitimvata/master
Add filter woocommerce_cart_item_required_stock_is_not_enough
2020-08-28 15:34:46 -03:00
Ron Rennick af162d8bed
Updated `@since` for the filter 2020-08-28 15:33:43 -03:00
Ron Rennick d998c6334d
Merge pull request #26976 from JoryHogeveen/patch-1
Public access to WC_Install::get_core_capabilities()
2020-08-28 15:12:51 -03:00
Ron Rennick a88cb8ab8e
Merge pull request #27437 from georgejipa/master
Remove the second occurrence of woocommerce_add_{$notice_type} filter
2020-08-28 14:10:43 -03:00
Nestor Soriano d691692dcd Fix: "Create variations from all attributes" on numeric attribute values
When "Create variations from all attributes" is used to create
variations it generates term relationship entries for all the generated
variations, however that doesn't happen when the term can be interpreted
as a numeric value. This is because in that case product->get_attributes
returns the attribute values as numbers, but the code that generates
the term relationships expect those to always be strings.
When manually adding a given variation this doesn't happen.

The fix is to simply strval-ize the value before using it, but it might
be worth investigating why this is happening.
2020-08-28 11:49:31 +02:00
Nestor Soriano 602f58a7a9 Add data migration to backfill missing attributes meta for variations.
The previous commit fixes a bug that causes the "attribute_" metadata
with an empty value to not be created when a new variation attribute
is added to the product (so that all variations have the attribute
with a value of "Any..."). This commit adds a data migration to
backfill the missing metadata for existing variations.
2020-08-28 09:38:16 +02:00
Claudio Sanches 085b4b53fa
Merge pull request #27487 from woocommerce/update/choice-of-words
Improve choice of words
2020-08-27 19:30:54 -03:00
Nestor Soriano 1113201f8b Update meta 'attribute_' values when variation attributes are added or removed.
When a new variation attribute is added, the corresponding 'attribute_'
meta entries are added for all variations with an empty value;
and when an existing variation attribute is removed, the existing
'attribute_' meta entries are deleted for all variations.

This is necessary for the filter by attribute widget to work properly
when variations exist with a value of "Any..." for attributes.
2020-08-27 16:10:41 +02:00
Nestor Soriano a75da34a45 Fix filter by attribute widget now working for "Any..." attributes
When a variation product has an attribute with a value of "Any...",
and there's a filter by attribute widget for that attribute, then
that product won't be included in the counts displayed in the widget
(and if the count ends up being zero, the attribute won't be shown
in the widget).

This happens before since Woo 4.4, this widget works by looking at
entries in the term relationships table for varitions too
(used to do so for simple products and for "main" variable products
only), see PR #26260; but there are no such entries for
"Any..." attributes.

This commit fixes that by extending the SQL query used by the widget
to look for variations that have empty attribute values in the meta
table too.
2020-08-27 10:59:15 +02:00
Ron Rennick c582ce2fd2
Merge pull request #27453 from arkadywtf/master
Fix PHP docblock summary for wc_get_coupon_id_by_code
2020-08-26 09:15:23 -03:00
Claudio Sanches 5240682f38 Improve choice of words 2020-08-25 18:03:03 -03:00
jonathansadowski 209ea6a8bb
Merge pull request #27448 from haydenw/fix-27436
Fix #27436
2020-08-25 09:18:07 -05:00
jonathansadowski 68d1641e5c
Merge pull request #27468 from woocommerce/fix/27467
Rename built-in PayPal payment method to PayPal Standard
2020-08-25 08:42:11 -05:00
Ron Rennick 41a7caae05
Merge pull request #27449 from haydenw/fix-27413
Fix #27413
2020-08-25 10:29:45 -03:00
Ron Rennick bdb1451f2b
Merge pull request #27441 from Rahmon/patch-1
Ensure that the return of get_the_terms is not a WP error
2020-08-25 10:13:45 -03:00
Brent Shepherd a2e2d63265 Rename PayPal to PayPal Standard
In the admin area, not the front-end of the site.

Fixes #27467
2020-08-25 12:25:44 +10:00
Arkadiy Asuratov 99d8e975c2 Fix docblock summary for wc_get_coupon_id_by_code 2020-08-22 22:20:12 +02:00
Hayden Whiteman 3fca3caf1d Fix #27413 2020-08-22 19:35:13 +12:00
Hayden Whiteman 201db0ca9e Fix #27436 2020-08-22 17:22:45 +12:00
Daniel Morell 252128026f
Fixed $columns type in docblock 2020-08-21 12:55:28 -05:00
Ramon 7610e1311e
Ensure that the return of get_the_terms is not a WP error 2020-08-21 14:07:26 -03:00
George Jipa d91574b7e1 remove duplicate apply_filter 2020-08-21 11:36:03 +03:00
Claudio Sanches af357e9177 Updated priority of admin_body_class filter 2020-08-20 13:18:23 -03:00
Ron Rennick 51afe3207a
Merge pull request #27023 from HikeMike/add/hidden-form-field
"Hidden" field type added to woocommerce_form_field() #26468
2020-08-20 11:48:26 -03:00
Peter Fabian 14d5025cae
Merge pull request #27395 from woocommerce/fix/container-conflict
Removed internals of DI Container
2020-08-19 13:37:48 +02:00
Nestor Soriano c37771521a Remove call_function, call_static, get_instance_of from class-woocommerce.php 2020-08-19 12:08:54 +02:00
Vedanshu Jain 134875988f
Merge pull request #27396 from woocommerce/fix/4.4.0
Add protection to run adjust methods only if product query.
2020-08-19 15:28:04 +05:30
vedanshujain ae361ed06f Add protection to run adjust methods only if product query. 2020-08-19 13:31:57 +05:30
Christopher Allford 82df4b3303 Removed the contents of the WC() global container helpers 2020-08-18 20:45:34 -07:00
Jonathan Sadowski 6bafef2041 Foreign key check 2020-08-18 13:44:29 -05:00
Claudio Sanches 37291abc54 Added since tag in new filters introduced in 4.5 2020-08-17 18:01:41 -03:00
Claudio Sanches e102ec3d83 Merge branch 'master' into fix/25133 2020-08-17 14:59:49 -03:00
Claudio Sanches 5c4d42b9de
Merge pull request #27059 from masteradhoc/masteradhoc-postcode-liechtenstein
add postcode validation for country liechtenstein
2020-08-14 15:40:30 -03:00
jonathansadowski 4fd7f55357
Merge pull request #26928 from khosroblog/master
get_review_count_for_product return all comments count not only 'review' types !!!
2020-08-14 13:40:01 -05:00
Claudio Sanches fdf5fe8614
Merge pull request #27323 from woocommerce/fix/27288
switch to site locale before translating refund reason
2020-08-14 15:30:56 -03:00
Néstor Soriano f8ea11a607
Merge pull request #27145 from woocommerce/fix/26006
Fixed "virtual" and "downlodable" pointers on product walkthrough
2020-08-14 08:55:53 +02:00
Vedanshu Jain a887cd7369
Merge pull request #27318 from woocommerce/fix/27282
Change data-type from mixed to composite and date-time to string on the fly for REST API
2020-08-13 21:25:11 +05:30