- Replaced `intval` calls with faster type casting.
- Showing more informative error messages.
- Using ternary for better legibility in `WC_Admin_Addons::output`.
- Added `is_wp_error` check to avoid warning from `count` call in `html-admin-page-addons.php`.
- Always showing error message as detail in error output.
- Showing error detail message above "To start growing your business, head over to WooCommerce.com" text, instead of below.
Improve (by a lot) the performance of the queries for the
product attributes lookup table by doing the following:
1. Fallback the query for the "AND" case to thequery for the "OR" case
when there's only one term being filtered for the category
(the subquery for the "OR" case is much simpler)
2. Collapse all of the "AND" queries (for all the categories)
into a simple one (this is possible since term ids are unique
even across categories)
3. The most important change: introduce an extra derived query,
so
...AND posts.ID in ( SELECT product_id FROM lookup_table WHERE...
becomes
...AND posts.ID in ( SELECT product_id FROM (
SELECT product_id FROM lookup_table WHERE...
This causes the filtering subquery to be executed only once.
This was needed to activate the feature for filtering products
by attribute using the new lookup table. The lookup table still
needs to be created and filled via the tools page.
Previously we were increasing coupon usage count on every apply_coupon method. This was causing double usages because, we would also increase on order save callback.
We instead now call `wc_update_coupon_usage_counts` in apply_method itself, which would increase the usage and also set the `_recorded_coupon_usage_counts` order meta.
Additional, we also manually call $couon->increase_usage_count if `_recorded_coupon_usage_counts` is because in this case, we are likely applying more than one coupon to the order. And `_recorded_coupon_usage_counts` meta would have already been set by the first coupon. This is not a good solution, ideally we should revamp how we store the coupon recorded information to support multiple coupon information from the get-go.
* Create more sample orders data.
* Code formatting.
* Add tests for pagination.
* Formatting.
* Add test case for inclusion and exclusion parameters.
* Add test for parent and parent_exclude parameters.
* Add test case for status parameter.
* Add test case for customer parameter.
* Add test case for product parameter.
* Create a test order with all numerical properties populated.
* Add test case for precision parameter.
* Add test case for search parameter.
* Add test case for orderby parameter.
* Move missed api-core-tests files.
* Force tests to run in band (sequentially).
* Allow empty arrays to be cached
* Fix second check
* Add tests for attribute function changes
* Use InvokedRecorder to explicitly assert invocation count.
Provides more friendly failure messages and self documenting code.
* Code format fixes
* Reverting changes in https://github.com/woocommerce/woocommerce/pull/30380, preparatory to merging the My Subscriptions and Marketplace pages back into one Extensions page.
* Moved category nav to a separate file.
* Added main nav tabs.
* Added category nav, styled the mobile version.
* Experiments with doing category tabs as a list.
* Styling category menu as a list of links in rectangular pills on desktop.
* Adjusting margins of product list in in-app marketplace.
* Removed `submenu_file` filter which called deleted `update_menu_highlight` method.
* Restored styling for update count bubble on My Subscriptions tab.
* Styling update bubble on My Subscriptions tab.
* Addressing design feedback. Restyled category pills to make them more obvious. Added `Browse categories` title before category menu on desktop. Changed `.addon-product-group-title` to an h2.
* Addressing feedback from https://github.com/woocommerce/woocommerce/pull/31085#pullrequestreview-806319880.
- Removing addition of `admin_title` filter calling deleted `update_my_subscriptions_title` method.
- Prepending `__DIR__` constant before path in `require` call.
* Removed Changlogger Autoload
* Changed Jetpack Changelogger Formatter Loading
Rather than using the Composer autoload, we should use the
changelogger's "filename" option to point directly at the file.
This keeps the file out of the autoloads, since it's possible that
plugins or packages may be symlinked and break the relative
path to the plugin.
Autocomplete is default to on in most browsers, this is usually fine, but FireFox will overwrite actual value with whatever user entered last. This means if we change the quanity in some other page, and then refresh the cart page, the last entered value in cart page will be displayed, overwriting the actual value passed by server.
So autcomplete is disabled by default for quanity input field, further a filter is added like other fields in case this needs to be modified.
* Add promoted card to in-App marketplace page
* Change name of transient
Changed name of transient for v2.0 of in-app marketplace featured page
content, so sites upgrading to WooCommerce 5.9 will get the correct
data for the new version of the page.