Add a new filter: woocommerce_attribute_lookup_regeneration_step_size,
it allows to choose how many products will be processed on each
step when the product attributes lookup table is being regenerated,
the default is the previous fixed value, 10.
Also when the regeneration is manually aborted (via deleting the
woocommerce_attribute_lookup_regeneration_in_progress option), the
products - advanced settings section will still allow to enable the
usage of the table, but a warning will be shown because the table
will be in an inconsistent state.
The "Advanced" section in the product settings page exists only
if the product attributes lookup table exists. The table will
eventually exist for everybody, so a temporary check has been added.
When a filter by attribute widget was configured as OR, the query
to return the product counts was overfiltering and returning
less results than it should. It now works as in the case of not
using the lookup table.
Until now the product attributes lookup table had to be created
and its usage had to be activated manually, via the tools page.
This commit does the following:
1. Remove the tools to create and delete the table
(but keeps the tool to regenerate the table data for one or for
all the products)
2. Creates a data migration that triggers the table creation and
filling (unless the table already existed) for Woo 6.1
3. After the migration finishes, activates the table usage for
product filtering (site admin can still disable it via
Settings - Products - Advanced)
As far as I can see, this count param is not really needed, but it will still be good to keep it updated in case its getting used in an edge case that I have not considered.
* Preserve stock metadata for refunded items.
Prevents fully restocked items on partially refunded orders from having stock reduced on subsequent order updates.
* Add E2E test covering errant restocking fix.
- 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.