Changelog

  • The latest version of WooCommerce Blocks, version 11.6.1, is now available for download on WordPress.org and GitHub.

    Notable Changes

    Product Collection: Add support for filtering products by featured status

    These changes allow merchants to easily display only featured products in their product collections, enhancing flexibility.

    Changelog

    Enhancements

    • Product Collection: Add support for filtering products by featured status. #11522
    • Product Collection – New ‘No Results’ block with default UI. #11783
    • We have moved the TotalsItem, TotalsFees, Subtotal, Banner, StoreNotice, StoreNotices, Panel, TextInput, ValidatedTextInput and ValidationInputError components to the @woocommerce/blocks-components package. Previously these were available in @woocommerce/blocks-checkout . Your code will continue to work as we have added aliases to the new location. Despite this, it is recommended that you change your code to import this component from @woocommerce/blocks-components as the import from the checkout package will be deprecated in the future. #11766 #11698 #11654 #11773
    • Improve performance in patterns registration. #11733
    • Patterns: remove unused author, sticky, and parents attributes from the Product Collection block in patterns. #11673
    • Semantic enhancement to the position of a phone field in Checkout. #11651
    • Migrate the Product Button to the new store() API of the Interactivity API. #11558

    Bug Fixes

    11.6.1

    • Add missing woocommerce classname to Classic Cart/Checkout Blocks container so UI updates when the cart is emptied. #11919
    • Fix an issue that caused the Order by select in Reviews blocks to always be disabled. #11918
    • Fix All Reviews, Reviews by Product and Reviews by Category blocks not being rendered. #11913

    11.6.0

    • Make “Use same address for billing” visible by default. #11804
    • Fix the order endpoint tax line items format. #11796
    • Store API/Blocks Extensibility: Fix recursive extension schema validation. #11792
    • Fix: Left align local pickup address. #11772
    • Fix typo in classic checkout modal. #11771
    • Fix hardcoded shop link in “Hero Product 3 Split” pattern. #11767
    • Fix billing address condensed address state in the editor and in Firefox. #11765
    • Related Products: Make the heading translated when in blockified Single Product template. #11693
    • Add to Cart with Options block: fix inconsistency between editor and frontend styles. #11614
    • Product Button: Improve the width and padding. #11537
    • Fix the Layout for Shipping and Billing Address Forms in the Checkout Block #11486
    • Minor fixes for PHP 8. #11473
    • Product Button: always enqueue the store. #11858
    • Fixed params passed to woocommerce_before_thankyou for block checkout. This should be an order ID, not an order object. #11862
    • Enhanced validation for limited-use coupons and guest users. #11860

    Documentation

    • Updated documentation for the onProcessingSetup observer. #11751

  • WooCommerce 8.3.1 is now available for download.

    What’s new?

    • Fixed an issue where coupon usage restrictions may not have been respected for guest orders when HPOS is enabled. #41538
    • Update WooCommerce Blocks to 11.4.9, which fixes an issue where email address was not considered while evaluating coupon restrictions when using checkout blocks. #41610

    You can download the latest release of WooCommerce here or visit Dashboard → Updates to update the plugin from your WordPress admin screen.

    As usual, if you spot issues in WooCommerce core, please log them in detail on GitHub. Found a security issue? Please submit a report via HackerOne.


  • For the past few months, we have been busy building out a brand-new product creation experience. You may have read about it previously, and hopefully even tried it out yourself. If not, don’t worry… we will explain how to do so later in this post!

    The product creation process has been redesigned from the ground up to focus on commerce, providing users with a seamless experience for crafting a wide range of products, from simple ones to highly customized options. This experience is still under active development, and we aim to reach feature parity early in 2024. Built with extensibility as a core principle, the new product editor provides developers with straightforward tools to integrate their unique features into the product creation process.

    In fact, we are using these mechanisms to develop the new product editor itself!

    We are approaching this project with the following guiding principles:

    • Provide a low complexity API that can be used via PHP, as we have heard from many developers that this is preferred.
    • Provide tooling to help set up the development environment.
    • Provide backwards compatibility when possible.
    • Use GitHub Discussions for brainstorming and decision-making, inviting contributions and feedback from the development community.

    About Product Editor Extensibility

    The design

    The new product editor is organized into clearly defined tabs and sections, reflecting our research that finds that merchants think in terms of tasks and goals while creating new products in WooCommerce. 

    The new product editor

    You can help ensure your extension makes the most of this new design by reading our extensibility guidelines, which will help you determine where you should add new features to the product editor.

    The implementation

    The new product editor is implemented using the same Blocks API that powers the post and site editors in WordPress. However, whereas a “regular” block editor allows the end user to add blocks anywhere and rearrange those blocks, the product editor offers a more familiar, structured form-based experience, which is more suitable for the data entry and modification that is at the heart of product management.

    As such, we have developed a simple PHP-based API, targeting our PHP developers in the WooCommerce community, which allows developers to easily extend the product editor’s form.

    Extensibility features

    Through a PHP-based API, developers are able to:

    • Add new blocks to the form; we supply a number of generic blocks that can be used out of the box, including:
      • Checkbox
      • Pricing
      • Radio
      • Text
      • Toggle
    • Remove blocks from the form
    • Conditionally hide and disable blocks on the form based on properties of the edited product, such as the product type

    If an extension requires interactivity not available via our generic blocks, developers can easily implement a custom block using JavaScript and React.

    Getting started

    Try out the new product editor

    Note: Since WooCommerce 7.9 (mid-July 2023), a subset of new stores have the new product editor auto-enabled as part of tests that Woo is running to help shape the new product creation experience. Users can easily opt-out of the new product editor and return to the classic product editor if they need functionality and extensions that are not yet available in the new product editor.

    If you haven’t already, try out the new product editor so you can become familiar with how the new experience feels.

    Go to WooCommerce > Settings > Advanced > Features and enable Try the new product editor (Beta).

    Enabling the new product editor

    Next, go to Products > Add New to try out the new editor.

    The new product editor

    Try adding a new block to the editor

    There are a number of examples in the documentation on how to use the PHP-based API. Here is a simple example that adds a new field after the product name field. Add this to a test plugin and reload the product editor page.

    <pre class="wp-block-syntaxhighlighter-code"><?php
    use Automattic\WooCommerce\Admin\BlockTemplates\BlockInterface;
    if ( ! function_exists( 'YOUR_PREFIX_add_block' ) ) {
    	/**
    	 * Add a new block to the template after the product name field.
    	 *
    	 * @param BlockInterface $product_name_field The product name block.
    	 */
    	function YOUR_PREFIX_add_block( BlockInterface $product_name_field ) {
    		$parent = $product_name_field->get_parent();
    		if ( ! method_exists( $parent, 'add_block' ) ) {
    			return;
    		}
    		$parent->add_block(
    			[
    				'id'         => 'example-block',
    				'order'      => $product_name_field->get_order() + 5,
    				'blockName'  => 'woocommerce/product-text-field',
    				'attributes' => [
    					'property' => 'meta_data.example_block_property',
    					'label'    => __( 'Example block', 'YOUR_TEXT_DOMAIN' ),
    				],
    			]
    		);
    	}
    	add_action(
    		'woocommerce_block_template_area_product-form_after_add_block_product-name',
    		'YOUR_PREFIX_add_block'
    	);
    }
    </pre>

    Here is the result:

    The new “Example block” field appears under the “Name” field

    Note that the block’s input will also be persisted automatically in the metadata of the product. There is no other configuration necessary!

    Explore the extensibility guidelines

    Now that you have a feel for the new product editor, start thinking about how to best bring your extension’s functionality to merchants using it. Read the extensibility guidelines for tips and best practices.

    Let us know what you think

    Are there things you love about extending the new product editor? We sure hope so! Let us know.

    Even more importantly, let us know what documentation and functionality is missing that you need in order to successfully bring your extension to the new product editor.

    Share your thoughts with us in our discussion forum and in Slack:

    Where to find more information

    We are actively working on providing documentation for new product editor development:


  • We are pleased to announce the release of WooCommerce 8.3.0. This release should be backwards compatible with the previous version.

    This release contains:

    As always, we recommend creating a backup of your site and making sure that your theme and any other plugins are compatible before updating. You can check out this update guide for more information.

    WordPress Version Support

    The versions of WordPress supported are now WP6.4 and WP6.3 (due to the release of WordPress 6.4 last week given the L-1 support policy).

    Whats new in 8.3.0?

    Default Cart, Checkout, and Order Confirmation Blocks on new installations

    We’re thrilled to announce a significant enhancement to the WooCommerce experience, designed to simplify and elevate your online store setup. Starting with WooCommerce version 8.3, we’ve integrated Cart, Checkout, and Order Confirmation blocks as the default checkout experience for new installations. This means that from the beginning, your store will feature a modern, intuitive, and visually appealing checkout journey.

    Compatibility and Scope

    For new installations with block-based themes (such as TT3, TT4, etc.), the default checkout experience includes the Cart Block, the Checkout Block, and the new Blockified Order Confirmation template. We’ve ensured that this change won’t impact existing stores, providing a worry-free transition for our users. Users updating to 8.3 will keep the existing checkout experience.

    Effortless Migration using Page Creation tool

    For existing stores, you can now use the WooCommerce > Status > Tools > Create Pages tool to generate new pages effortlessly, incorporating blocks seamlessly into the checkout flow after deleting the old Cart and Checkout pages. This feature is designed to give users a hassle-free way to update the Cart and Checkout experience in one go.

    Note: While we’re bringing you an enhanced checkout experience, please note that, for now, the blockified Order Confirmation template will be exclusively available for block-based themes. Stay tuned for future updates as we refine and expand our offerings.

    Themes in the WooCommerce Marketplace

    With WooCommerce 8.2, we soft-launched a revamped Extensions page. With this release we see the next evolution with the introduction of themes. Visit WooCommerce > Extensions to quickly find the theme that’s perfect for your business.

    Marketplace search improvements

    The search experience in the new Marketplace has been improved by showing themes first if there are no extensions, empty search will open the discovery page, and large screens will show 8 results if available.

    Mobile app onboarding experience has been improved

    In this first iteration, we aim to improve the app installation rate by showing a QR code with text instructions on where to install the app. As Woo mobile no longer requires Jetpack (the merchant can log in with site credentials and the app generates an application password), we also want to remove the Jetpack setup steps for non-Jetpack sites since we’re seeing a low conversion rate. For WPCOM/Jetpack sites, the CTA to send a magic link email stays the same.

    In iteration 2, we plan to provide a QR code with a link to pre-fill the site credentials except for the password for non-Jetpack sites at least. We’re also exploring generating an application password and including it in the QR code.

    Other changes

    • The experimental email opt-in field from the Core Profiler has been improved to perform better email validation. #41152
    • Jetpack data is now preloaded even without the Jetpack plugin installed. #41092
    • Images have been optimized to reduce the WooCommerce package size
    • The compatibility issue with PHP 8.3 related to performing an array_sum() is resolved. #41205
    • New blockified Order Confirmation template is now available by default on new installations. #41276
    • Using WordPress 6.4 release sites that rely on using the Classic Template block for the Single Product template are no longer broken. #41291

    For a complete list of the changes included in this release, please see the changelog in the readme for this release.

    Much 💜 to all the contributors

    Finally a big thanks to everyone in the community who has contributed via issue reports, fixes, translation, testing, supporting other users, or simply spreading the word.

    WooCommerce Core

    nathanss
    psealock
    senadir
    rrennick
    sebcode
    moon0326
    Dan-Q
    danieldudzic
    raicem
    tommyshellberg
    ibndawood
    n2erjo00
    mattsherman
    vladolaru
    jimjasson
    puntope
    lsinger
    chihsuan
    crunnells
    nefeline
    rodelgc
    dmallory42
    lanej0
    webdados
    nigeljamesstevenson
    louwie17
    mdperez86
    octaedro
    tarhi-saad
    tjcafferkey
    waclawjacek
    tarunvijwani
    invalid-email-address
    wavvves
    Lenny4
    veljkho
    andfinally
    ismaeldcom
    ilyasfoo
    coreymckrill
    sanesh-acowebs
    gigitux
    jaclync
    YordanSoares
    brentmackinnon
    vedanshujain
    opr
    mpskovvang
    ObliviousHarmony
    rjchow
    bgrgicak
    PanosSynetos
    roykho
    mi5t4n
    kdevnel
    jorgeatorres
    nielslange
    barryhughes
    joelclimbsthings
    daniyalahmadk
    Konamiman
    alopezari
    jonathansadowski
    adamsilverstein
    johanmolen

    ActionScheduler

    lsinger
    prettyboymp
    coreymckrill
    barryhughes
    alopezari

    WooCommerce Blocks

    iamahens
    senadir
    thealexandrelara
    wavvves
    tarunvijwani
    masteradhoc
    ralucaStan
    invalid-email-address
    opr
    albarin
    gigitux
    tjcafferkey
    nefeline
    danieldudzic
    roykho
    alexflorisca
    dinhtungdu
    danielwrobert
    mikejolley
    kmanijak
    message-dimke
    nielslange
    larsenlarsson
    hritikchaudhary
    hsingyuc
    tarhi-saad
    samueljseay
    imanish003

  • Hi everyone! WooCommerce 8.3 was scheduled for release today, November 14, 2023. But, to allow for some additional testing and monitoring on our end we’ve decided to delay the release until Thursday, November 16, 2023.

    Why the delay?

    WooCommerce 8.3 will be the first major release since the release of WordPress 6.4 on November 7th. It will also be the current stable version when PHP 8.3 is released on November 23, 2023. As such, we need to ensure WooCommerce’s compatibility with the changes from these two major dependencies. We have identified very recent issues and were able to fix them. However, we still need more time in testing these fixes together with other recent changes since WooCommerce 8.3 RC 2.

    What happens next?

    We don’t anticipate the delay to take long. We are currently aiming to release WooCommerce 8.3 on Thursday, November 16, 2023. As always we will announce the release on this blog.

    Thank you

    Part of the compatibility fixes we are testing and including in WooCommerce 8.3 came from the community. We appreciate the time and effort that the community have put in to help us uncover and solve these compatibility issues early on.

    grenadeco
    Marc-pi
    petruchek
    Chouby

  • We’ve released an update to WooCommerce Blocks (version 11.5.4). It is now available for download on WordPress.org and GitHub.

    Changelog

    Bug Fixes

    • Prevent PHP warnings when using Jetpack WooCommerce Analytics module. #11707
    • Fixed address components in Firefox, and editing of address form in the editor. #11714
    • Fix Classic Cart/Checkout styling on non-cart and checkout pages. #11694
    • Fix double border in cart and notes field width on mobile. 11742
    • Ensure that incompatible notices are displayed in Safari. #11736
    • Enabled the new blockified Order Confirmation by default for block-based themes. #11615

  • RC 2 for the November 14 release of WooCommerce is now available for testing! You can either download it directly from WordPress.org or install our WooCommerce Beta Tester Plugin.

    Highlights

    Since the release of 8.3.0 RC 1, the following changes have been made:

    • Compatibility issue with PHP 8.3 related to performing an array_sum() is resolved. #41205
    • New blockified Order Confirmation template is now available by default on new installations. #41276
    • Using WordPress 6.4 release sites that rely on using the Classic Template block for the Single Product template are no longer broken. #41291

    For the complete list, view the changelog in the readme for this release.

    Release Schedule

    We’re on track for our planned November 14 release.

    VersionRelease
    Final ReleaseNovember 14, 2023

    Testing

    If you’d like to dive in and help test this new release, our handy WooCommerce Beta Tester plugin allows you to switch between beta versions and release candidates. You can also download the release from WordPress.org.

    We’ve posted a helpful writeup on beta testing to help get you started.

    If you discover any bugs during the testing process, please let us know by logging a report in GitHub.


  • WooCommerce 8.2.2 is now available for download.

    What’s new?

    • We fixed a bug introduced with the WordPress 6.4 release which breaks sites using the Classic Template block for the Single Product template. #41291

    You can download the latest release of WooCommerce here or visit Dashboard → Updates to update the plugin from your WordPress admin screen.

    As usual, if you spot issues in WooCommerce core, please log them in detail on GitHub. Found a security issue? Please submit a report via HackerOne.


  • We released an update to WooCommerce Blocks: version 11.5.1. It is now available for download on WordPress.org and GitHub.

    Changelog

    Bug Fixes

    • WordPress 6.4: fixed a bug which would break sites using the Classic Template block for the Single Product template. (11455)
    • Fixed an error that might appear when the pre_get_block_template filter is called with wrong parameters. (11690)

  • RC 1 for the November 14 release of WooCommerce is now available for testing! You can either download it directly from WordPress.org or install our WooCommerce Beta Tester Plugin.

    Highlights

    Since the release of 8.3.0 Beta 1, the following changes have been made:

    • The experimental email opt-in field from the Core Profiler has been improved to perform better email validation. #41152
    • Jetpack data is now preloaded even without the Jetpack plugin installed. #41092
    • A banner image was optimized to reduce the WooCommerce package size. #41247

    For the complete list, view the changelog in the readme for this release.

    Release Schedule

    We’re on track for our planned November 14 release.

    VersionRelease
    Final ReleaseNovember 14, 2023

    Testing

    If you’d like to dive in and help test this new release, our handy WooCommerce Beta Tester plugin allows you to switch between beta versions and release candidates. You can also download the release from WordPress.org.

    We’ve posted a helpful writeup on beta testing to help get you started.

    If you discover any bugs during the testing process, please let us know by logging a report in GitHub.