WooCommerce 9.7 has been released on February, 25 2025. This post highlights whatโs new in this version of WooCommerce.
See our update guide.
Download directly from WordPress.org.
Other important information:
- ๐ This releaseย does notย include a database update.
- See more advisories and security updates
Latest Release:
About:
- โ Backwards compatible
- Commits:ย 315
- Contributors:ย ย 87
Whatโs coming in 9.7
- New shipping method display
- Faster block editor performance
- Enhanced Add to Cart with Options block
- More new features and updates
- First looks
- API Updates
- Other important information
- Changelog
- Get WooCommerce 9.7
- Code Contributors
New shipping method display
Add description and delivery time to shipping methods in the Cart and Checkout block #49643
We have improved the shipping method selection interface in the Checkout block so that extension developers can define a description and delivery time for each shipping method. We have added two new properties to the data of a WC_Shipping_Rate
: delivery_time
and description
.
The values for the delivery_time
and description
will be surfaced in the shipping options selector and the cart block sidebar. In the sidebar, only the delivery_time
value will be shown, in the interest of saving space.
New properties in shipping options selector

Cart block sidebar view with calculator

To leverage this new functionality, you will need to use the woocommerce_package_rates
filter. Checkout the example below ๐
add_filter( 'woocommerce_package_rates', function ( $rates, $package ) {
foreach ( $rates as $rate_id => $rate ) {
if ( 'flat_rate' === $rate->method_id ) {
$rate->description = 'This is a custom description for ' . $rate->label . '.';
$rate->delivery_time = 'This will be delivered in 1 day.';
}
if ( 'free_shipping' === $rate->method_id ) {
$rate->description = 'This is a custom description for ' . $rate->label . '.';
$rate->delivery_time = 'This will be delivered in 3 days.';
}
}
return $rates;
}, 10, 2 );
Faster block editor performance
Weโve completed a significant refactor of the product block registration system, specifically around the registerProductBlockType
function (previously known as registerBlockSingleProductTemplate
). This function is crucial as it handles block registration for product related blocks on the Single Product template. It also ensures they are also available in the post/page editor with ancestor constraints on product specific blocks such as the Product Collection block, Single Product block and so forth.
One of the most impactful improvements is performance. Instead of maintaining individual store subscriptions for each block, the new implementation consolidates them into a single subscription, significantly reducing overhead. The refactored system reduces subscription callbacks by 99% and cuts execution time by 75% when working with Single Product templates and product-related blocks. Our benchmarks show dramatic gains:
- Previous implementation (
registerBlockSingleProductTemplate
)- 4,550 subscription callbacks triggered on initial load of the Single Product template in the Site Editor
- Total execution time:ย 2.47s
- New implementation (
registerProductBlockType
)- Onlyย 24ย subscription callbacks for the same test
- Total execution time:ย 0.63s
Additionally, the old implementation did not unsubscribe callbacks, leading to persistent execution overhead during Site Editor interactions. This has now been addressed, improving both performance and efficiency.
Enhanced Add to Cart with Options block
Add to Cart with Options: Add Stepper option #48876

Single product template before and after adding the stepper layout option
The Add to Cart with Options block, which is part of the single product template, now includes a sleek stepper layout for quantity selection. You can now enable this new layout option through the blockโs Quantity Selector settings, providing a more streamlined purchasing experience for end customers.
Navigate to your Site Editor > Templates > Single Product Template > Add to Cart with Options block to try out the new feature. The โQuantity Selectorโ option on the Add to Cart with Options block will now give you the option to choose between the stepper and traditional layout.
More new features and updates
Enhanced Product Variations API
The WooCommerce REST API now offers more powerful filtering capabilities for product variations. Developers can use new parameters to filter variations by status (include_status
, exclude_status
), virtual status (virtual
), and downloadable status (downloadable
), enabling more precise and efficient product queries.The List all product variations endpoint now supports several new parameters that enable more granular product filtering ๐
include_status
: Include product variations with specific status values.exclude_status
: Exclude product variations with certain status values.
Product Features
downloadable
: Filter product variations based on whether they are downloadable.
virtual
: Filter product variations based on whether they are virtual.
Smarter Store Notice handling
Disable the Store Notice when switching to a block theme #54288
The Store Notice feature will now be automatically disabled when switching to a block theme and automatically enabled when switching to a classic theme, only if it had been enabled previously.This feature is only accessible through the Customizer (/wp-admin/customize.php
) and it was a source of confusion for block theme users. Read more ๐
Deactivating it required reverting to a classic theme or directly accessing the Customizer through its URL, as it couldnโt be easily managed from the Site Editor UI in block themes.
In short, this ensures that the Store Notice is automatically disabled when switching to a block theme and restored when switching back to a classic themeโmaintaining a seamless experience for merchants.
First looks
Below youโll find features that are still in beta, or are only partially rolled out. Help us build a better product by testing and sharing feedback for these features.
Modernized payment settings
We are continuing to roll out improvements for the modernized payments settings page. WooCommerce 9.7 introduces our new React-based Payments settings interface, initially rolling out to 50% of new stores. Learn more about this modernization effort in our technical announcement post.
This release includes updates to the look and feel of the Payments settings page, as well as the introduction of an โOfficialโ badge. This badge highlights extensions that are developed in collaboration between the service provider and WooCommerce, ensuring they meet our marketplace guidelines for security, performance, compatibility, user experience, and privacy. While extensions without this badge may follow their own development and support practices, all payment solutions remain welcome within WooCommerce, and merchants can choose the best fit for their needs.

If you would like to enable or disable this feature, you can pass true
or false
values to the reactify-classic-payments-settings
flag. See the example below force-enabling the feature ๐
add_filter( 'woocommerce_admin_get_feature_config', function( $features ) {
return array_merge(
$features,
[
'reactify-classic-payments-settings' => true,
]
);
}, 999 );
Modernized Email Styling (Beta)
As we continue our work to modernize the WooCommerce email experience, this release introduces enhancements to user and order-related emails. Weโd love to hear your thoughts! Join the discussion and share your feedback here.

Enable experimental feature by navigating to WooCommerce > Settings > Advanced > Features and turning on Email Improvements.Checkout what weโve added in this version ๐
Email previews are now more accurate than ever. In addition to including a more modern look and feel, email previews are now enhanced by including more data, so that store owners and site managers can better visualize what their email recipients will see.
User-related email previews (new account and password reset)
- Username now included for better clarity.
Order-related email previews (where applicable)
- Payment method added for transparency.
- Discount details displayed.
- Product variation information included.
- Customer notes now visible.
- Shipping method clearly specified.
API Updates
REST API
- [REST API] Improve product stock handling when managing ordersย #53618
- Introducing product type constantsย #53759
- Add theย
downloadable
ย param to the list product variations endpointย #54242 - Introducing product status constantsย #53938
- Add theย
virtual
ย param to the product variations endpointย #54245 - Add newย
include_status
ย andยexclude_status
ย filter on the products variations endpointย #54246 - Fix cart and checkout page detection logic for edge casesย #54340
- Reverting ProductStatus constants in REST API due to class not being loadedย #54418
- Accept an error message from payment methods or convert notices for failure onlyย #53671
Store API
Other important information
Developer Advisories
We have a number of developer advisories coming up as we prepare to release pre-release versions. Weโll share more detailed information in upcoming posts.
๐งน Component Package Cleanup: Weโve removed several experimental product editor components from the @woocommerce/components
package that are no longer in use. Extension developers using any of the legacy experimental components prefixed with __experimental
( WooProductFieldItem
, WooProductSectionItem
, WooProductTabItem
, ProductSectionLayout
, ProductFieldSection
) should update their code to remove these dependencies. Read more here.
๐ Consistent Stock Management in REST API: Weโve aligned REST API stock behavior with WP Admin functionality when managing orders. Stock levels now automatically adjust when modifying line items via the API, but only for orders with processing, on-hold, or completed status. This change brings more consistency to inventory management across different interfaces.
Security updates
We have introduced changes to how customer data is handled in multisite networks to prevent unauthorized access.
Previously, a regular site admin within a multisite network could access customer data from other sites via certain REST API endpoints or the order editorโs customer search feature. While this may not be an issue for networks managed by a single team, it poses a risk when sites are operated by different entities.
Whatโs changing?
- Forย existingย WooCommerce sites, the current behavior remains unchanged.
- Newly createdย WooCommerce sites will adopt a stricter security model, limiting cross-site customer data access to users with theย
manage_network_users
ย capability.
This update ensures better data privacy in multisite environments while allowing flexibility for different use cases.
Changelog
View the full changelog.
Reposted from WooCommerce
If you have a care plan with 7th Circle Designs this update will be taken care of based on your plan’s schedule. If you do not have a care plan, sign up now.