Commit Graph

20540 Commits

Author SHA1 Message Date
Dion Hulse 9440ec3570 Change __wakeup() to a public method to avoid PHP8 warning. 2020-09-18 07:55:26 +00:00
Claudio Sanches 29b8b0d60d
Merge pull request #27701 from woocommerce/fix/rest-api-package-tag
Fixed usage of package tag in REST API and templates
2020-09-17 18:45:14 -03:00
Claudio Sanches 153ce009de Fixed helper header 2020-09-17 16:50:17 -03:00
Claudio Sanches 3377c60c5e
Merge pull request #27433 from woocommerce/fix/remove-relative-include-paths
Change relative include paths to absolute include paths
2020-09-17 13:15:40 -03:00
Claudio Sanches f4e9fcc1a4 Fixed missing include 2020-09-17 13:12:57 -03:00
Claudio Sanches 70c7adfeb7 Fixed usage of package tag in REST API and templates 2020-09-17 11:56:08 -03:00
Claudio Sanches ed1a59b39b
Merge pull request #27416 from woocommerce/fix/27415
Fixed country list sorting
2020-09-17 10:35:43 -03:00
Peter Fabian b8670162a7 Added environment type var to WC tracker. 2020-09-16 13:44:36 +02:00
Anton Timmermans 723f14e44a
Improve bool <-> string conversion functions docs
These functions are polymorphic towards their input types to be more useful in more cases. Change the documentation to reflect this fact.
2020-09-13 13:01:14 +02:00
Rodrigo Primo 9bdafbeb18
Merge pull request #27219 from woocommerce/fix/filter-quantity-in-add_to_cart_handler_grouped
Filter quantity in add_to_cart_handler_grouped
2020-09-12 15:56:49 -03:00
Rodrigo Primo a24937556a
Merge pull request #27658 from woocommerce/update/4.6.0-dev
Prepare master for 4.6.0 development
2020-09-12 11:18:22 -03:00
Rodrigo Primo f345a1e0c8
Merge pull request #27615 from woocommerce/fix/26590
Fix bug when using tax classes with some non-ASCII characters
2020-09-11 14:48:10 -03:00
Rodrigo Primo d7b2207e75
Merge pull request #27610 from attitude/patch-1
Encapsulate scope of `c` variable
2020-09-11 14:27:06 -03:00
Rodrigo Primo fd25815a7c Prepare master for 4.6.0 development 2020-09-11 14:07:58 -03:00
Jon Campbell bb949ae474
simplifying filter usage
Switched to product id instead of product object
Moving the filter into the if condition instead of having a single use variable
2020-09-11 09:38:52 -07:00
Claudio Sanches b5d8d94bc8 Use reference in wc_asort_by_locale 2020-09-10 16:02:39 -03:00
jonathansadowski 2bcdbacc98
Merge pull request #27625 from woocommerce/revert-improved-filtering-for-variations
Revert improved filtering for variations
2020-09-10 12:42:15 -05:00
Nestor Soriano 4411a394dc Reintroduce adjust_posts_count, and remove unnecessary comment.
We can't remove that method since it's public, but its body has
been changed so that it just returns the input unchanged.
2020-09-10 15:17:43 +02:00
Jon Campbell 642b5b958e
Update class-wc-emails.php
removing whitespace to be coding standards compliant.
2020-09-09 16:32:12 -07:00
Jon Campbell 188f839e70
add no stock notification filter 2020-09-09 12:07:15 -07:00
Christopher Allford ae697f9fe2 Prevented zero from being considered empty when validating posted variation attributes 2020-09-09 11:29:31 -07:00
Nestor Soriano 70a1cb2f1f Revert improved filtering for variations.
This commit reverts the functionality introduced in PR #26260
(later refined by #27175, #27190, #27508) in which filtering by
attribute using the layered nav widget was improved to handle the
cases of variations out of stock. The revert is a response to the
numerous problems reported by users in Woo 4.4 and 4.5

Not all the code has been reverted, only the code that resulted in
visible functionality changes. Thus, the code that generates
term relationships for variations is still in place to keep database
consistency and to keep the reverting changes to the minimum needed.
2020-09-09 17:36:26 +02:00
Jonathan Sadowski 9da304e983 Update version in class-woocommerce.php 2020-09-09 10:35:05 -05:00
jonathansadowski d00083f1ec
Merge pull request #27628 from woocommerce/fix/27624
Check for state and postcode fields only if required
2020-09-09 09:41:57 -05:00
vedanshujain 7f2b322085 Check for state and postcode fields only if required
We were doing state and postcode even for countries where its not required, but unfortunately as an unintended effect we were ending up not checking shipping requirements if this was not met.
2020-09-09 18:21:14 +05:30
Rodrigo Primo 3aed780443 Paypal gateway: protect code against a fatal error
This commit changes the order of the error handling check to protect the code against a possible fatal error if wp_safe_remote_post() returns an instance of WP_Error().
2020-09-08 16:57:48 -03:00
Rodrigo Primo d50cd4389b Fix using tax classes with some non-ASCII characters
This commit fixes a bug that made it impossible to assign to a product a tax class that contained non-ASCII characters that are URL encoded by sanitize_title().

WooCommerce uses sanitize_title() to generate a slug when creating a tax class (d48f1d4e2e/includes/class-wc-tax.php (L808)). sanitize_title() converts some non-ASCII to ASCII equivalents (those handled by remove_accents()) and URL encodes others (like some Greek characters, for example).

The code was using wc_clean() to sanitize the tax class when the user edited a product. The problem is that wc_clean() removes URL encoded characters, changing the slug of some tax class, causing WooCommerce to use the standard tax class instead without any errors. To fix this issue, this commit replaces wc_clean() with sanitize_title(). This should be enough for security purposes and should not cause any issues with non-ASCII characters.
2020-09-08 16:00:56 -03:00
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
Martin Adamko c2ab6a488d
Encapsulate scope of `c` variable
By changing to auto invoking call the `c` variable will be encapsulated in its scope therefore not polluting the global scope and will continue to function as previously.

Fixes conflict and reassigning of already used variables when using other minified scripts. In my case the problem occurred with the Speed Booster Pack plugin.
2020-09-08 09:20:18 +02: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
James Collins 59a6c4b330
Authentication fallback if current user is set before WC is initialized
See Issue #26847
2020-09-04 15:55:12 +08:00
James Collins 958896545d
Merge branch 'master' into fix/26847-rest-api-auth 2020-09-04 14:05:14 +08: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
Ron Rennick e49527cf9d apply changes from feedback 2020-08-28 11:34:32 -03:00
Ron Rennick 8fe3bcb90e rebase to current master 2020-08-28 10:59: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
Romario fefc6193be Replace 'DIRECTORY_SEPARATOR' with '/' 2020-08-26 17:02:07 -05:00
Claudio Sanches c4ccc38780 Fixed use __DIR__ for relative paths 2020-08-26 18:46:44 -03:00
Romario 67a178f4f7 Replace 'DIRECTORY_SEPARATOR' with '/' 2020-08-26 15:50:34 -05:00
Romario 3b90d99d44
Change 'dirname( __FILE__ )' to '__DIR__ ' and include '/'
Co-authored-by: Claudio Sanches <contato@claudiosanches.com>
2020-08-26 14:58:22 -05: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
Romario acfb3e5dfd Add spacing between '$dir 'and '.' 2020-08-21 15:25:21 -05:00
Romario 073c63c9c4 Replace dirname with __DIR__ and add DIRECTORY_SEPARATOR
Previously 'dirname(  __FILE__ )' was used to import files, however, the directory separator was missing.

This commit replaces 'dirname(  __FILE__ )' that was introduced in 5370d02484 with __DIR__  and added DIRECTORY_SEPARATOR
2020-08-21 15:16:26 -05: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
Romario 5370d02484 Change relative include paths to absolute include paths
Relative include paths in PHP can break whenever the server is running opcache.  As such, WordPress.com deploy system refuses to include WooCommerce because of that issue.

This commit changes the relative include paths to absolute include paths.

Relates to #27269
2020-08-20 15:32:04 -05: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
Claudio Sanches 47aaac8600 Introduced wc_asort_by_locale() function 2020-08-19 20:22:18 -03:00
Claudio Sanches e547cb84e5 Reverted changes on wc_ascii_uasort_comparison 2020-08-19 20:02:14 -03:00
Claudio Sanches 3f0db49688 Use PHP Collator if available to sort countries 2020-08-19 19:00:42 -03:00
Claudio Sanches 74e94f86d0 Use WP remove_accents() instead of iconv 2020-08-19 18:58:45 -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
Ron Rennick 3c8b6559da create pages on installation 2020-08-13 15:03:58 -03:00
Ron Rennick 72df8aecfa updated deprecated version to 4.5.0 2020-08-13 14:46:12 -03:00
Ron Rennick f0ad8a01be merge current master 2020-08-13 14:33:07 -03: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
Ron Rennick 38d358490b switch to site locale before translating refund reason 2020-08-13 10:32:19 -03:00
vedanshujain 4b1ebea800 Also allow null for date-time for BW 2020-08-13 16:49:44 +05:30
vedanshujain 3dd508fd35 Address review comments 2020-08-13 16:36:27 +05:30
vedanshujain a4691dc3f3 Set type to mixed to be compatible with 5.4.
This prop was missed in an earlier commit.
2020-08-13 15:47:18 +05:30