Develop WooCommerce

The official WooCommerce development blog

Storefront 2.4.0 is now available to download — December 6, 2018

Storefront 2.4.0 is now available to download

Storefront 2.4.0 has just been tagged for release and uploaded to That means it should be available to download very soon!

While 2.4 is not a major release, you should not update live sites without adequate testing on a staging site. If you are using any additional Storefront products (child themes and/or extensions) be sure to check for updates for them before updating Storefront.

What’s in the box

The main focus of this release is to add enhanced compatibility with Gutenberg, the new WordPress editor. The new editor introduces a new block based approach to creating content in WordPress.

Some of the new blocks include full-width cover images, parallax images with text overlay, all sorts of different embedded content blocks, and column support up to 6-columns.

Storefront 2.4 includes editor styles to ensure a consistent editing experience between frontend and backend.

Editing content with Gutenberg and new editor styles


Here’s what’s changed pulled directly from the changelog:

Feature - Add support for the new blocks introduced in WordPress 5.0.
Feature - Gutenberg editor styles.
Tweak - Remove legacy Jetpack logo feature.
Tweak - Move all WooCommerce related code inside of the `inc/woocommerce` directory.
Fix - Allow zooming and scaling for improved accessibility.
Fix - Multiple code standards improvements.

You can download Storefront now from your dashboard or from

I found a bug

If you find a bug then as always, please be sure to report it on GitHub. If you have any other problems with Storefront please post on the support forum, or contact us if you’re a WooCommerce customer.

WooCommerce Blocks 1.2.0 release notes — December 4, 2018

WooCommerce Blocks 1.2.0 release notes

Version 1.2.0 of WooCommerce Blocks is now available as a feature plugin. It’s the easiest, most flexible way to display your products on posts and pages! Using the original “Products Block”, your displayed products can be filtered by category, sale status, or a variety of other fields. You can even make a custom list of handpicked products to display.

New for 1.2.0: We’ve added a stand-alone Product Category block to simplify the experience and improve the category search and selection UI. Be on the lookout for additional stand-alone blocks in future releases.

The full changelog is below:

  • Feature – Stand-alone product category block with improved category selection interface.
  • Fix – All users who can edit posts can now use these blocks thanks to a new set of API endpoints allowing view access to products, product categories, and product attributes.
  • Fix – Compatibility with WP 5.0, fixed error “Cannot read property Toolbar of undefined”.
  • Fix – Only published products are shown in previews.
  • Enhancement – Translations should now load into the block (for WP 5.0+).
  • Enhancement – Modernized build process and developer tools, and added tests for faster future development.

To get started with WooCommerce Blocks, make sure you are updated to the latest version of Gutenberg, or running WordPress 5.0.x. Then download the latest version of the plugin here or venture over to Dashboard → Updates, to update the plugin from from WordPress.

If you spot any bugs or issues please log them in detail on Github.


WooCommerce 3.5.2 security/fix/compatibility release notes — November 29, 2018

WooCommerce 3.5.2 security/fix/compatibility release notes

WooCommerce 3.5.2 is now available. This release patches a number of bugs, adds compatibility with the Twenty Nineteen theme and with PHP 7.3, and fixes one security issue. Versions 3.5.1 and earlier are affected by a stored XSS vulnerability through the API which can be exploited by users with write-access API keys, and we recommend all users running WooCommerce 3.x upgrade to 3.5.2 to mitigate it. Thanks to Karim for disclosing this vulnerability.

Important: If you will be using the Twenty Nineteen theme included with WordPress 5.0 or if you will be using PHP 7.3, you should also be using WooCommerce 3.5.2+. In this release we’ve added the necessary styling for stores to look nice in the Twenty Nineteen theme and made backwards-compatible code tweaks to prevent notices and warnings when running PHP 7.3.

~87 commits made it into this release and the full changelog is below.

* Enhancement - Added compatibility for Twenty Nineteen theme. #21970
* Update - Prepare WooCommerce for PHP 7.3. #22009
* Tweak - Updates the signature field type to "password" in PayPal settings for increased security. #21715
* Tweak - Change the filter name in the /myaccount/lost-password-confirmation.php template to differentiate between other filter with same name and different message. #21829
* Tweak - Reintroduce Preview button by popular demand with the understanding that the Preview will only work on some product fields. It was removed from pubished products in 3.5.0 to prevent confusion. #21838
* Tweak - Add tool to systems status tools for running the DB update routine. #21923
* Tweak - Revert default behavior for `woocommerce_formatted_address_force_country_display` filter to maintain backwards compatibility. #21865
* Tweak - Update products block notice for WP 5.0. #21930
* Tweak - Use wp_kses_post instead of esc_html for sanitizing product titles to allow minimal HTML in product titles. #21936
* Tweak - Use dedicated woocommerce_add_order_again_cart_item to filter cart item data when ordering again. Prevents issues with applying woocommerce_add_cart_item out of context. #21947
* Tweak - Remove postal code for Angola, São Tomé and Príncipe since they don't use postal codes and update locale info. #21984 #21985 #21987
* Fix - Metadata with array key of 0 can save properly. #21641
* Fix - Prevent deleting the default product category via REST API. #21696
* Fix - Fix 'Table does not exist' messages on System Status Report in multisite. #21706
* Fix - Add dynamic SSL check to dashboard SSL notice to prevent misdiagnosing that sites aren't set up with SSL. #21738
* Fix - Don't show escaped HTML in admin order item details for fees. #21769
* Fix - Don't include draft variable products in on sale product results. #21778
* Fix - Add woocommerce_hold_stock_minutes check back to stock check in cart/checkout. #21797 #22050
* Fix - Fix potential undefined index notice on checkout fields when comparing the sort order. #21801
* Fix - Throw an error when trying to set a variation as the parent of a variation in the CSV importer. #21810
* Fix - Make "account erasure request" text translatable. #21812
* Fix - Display notices on Order Pay page. #21821
* Fix - Fix tax rate uploading by file path. #21831
* Fix - Make wc_download_log_permission_id constraint creation work better on multisites and multiple sites using the same DB. #21836 #21940
* Fix - Don't render undecoded HTML entities in variations dimensions. #21844
* Fix - Do not check for stock when not managing stock or have backorders enabled when paying through the order-pay page. #21849
* Fix - Apply priority field sorting on additional filters to make it apply on the edit address pages as well. #21856
* Fix - Fix export and edit of attribute labels with html encoded special characters in product CSV exporter. #21864
* Fix - Prevent fatal error when rendering plaintext customer invoice email. #21879
* Fix - Prevent fatal error when delivering webhooks using v3 API. #21921
* Fix - Prevent undefined variable notice in wc_increase_stock_levels. #21928
* Fix - Fix overescaping image output on product widget. #21929
* Fix - Croatian Kuna symbol should be lowercase. #21934
* Fix - Fixed an error when deleting logged entries when using the 'WC_Log_Handler_DB' handler. #21949
* Fix - Update ShipStation plugin info so install works through setup wizard. #21953
* Fix - Use dynamic DB table name in product list table shipping class query. #21954
* Fix - Log file date/time should be in UTC and not site timezone as per the +00:00:00 string appended to it. #21981
* Fix - Set customer's country to selling country when only selling to one country and default customer location is 'none'. #21995
* Fix - Change new account email copy to be compatible with auto-generated accounts. #21999
* Fix - Correct Aria-Labelledby attribute for quantity selectors. #22000
* Fix - Show notices on lost password page. #22001
* Fix - Fix authentication errors when using the REST API with 3rd-party authentication. #22013
* Fix - Fix issues where potentially not all active plugins were included on the system status report. #22057
* Fix - Make PDT validation use the same rounding as the IPN validation to prevent erroneous totals mismatch. #21729

Download the latest release of WooCommerce here or venture over to Dashboard → Updates to update your plugins from WordPress.

As usual, if you spot any other issues in WooCommerce core please log them in detail on Github, and to disclose a security issue to our team, please submit a report via HackerOne here. Comments on this post are closed.

wc-admin 0.2.0 release notes —

wc-admin 0.2.0 release notes

We are excited to announce a new test release ( v 0.2.0 ) of our wc-admin feature plugin. If you haven’t heard about wc-admin, it is a new JavaScript-driven interface for managing your WooCommerce stores that is focusing on creating new and improved reports, a notifications system to help keep your store running smoothly, and a dashboard to monitor all the important key metrics of your site. You can read more about the background of the project in our Alpha announcement post – or watch the keynote from WooSesh.

While it isn’t ready for use on production sites, we are developing the new interface publicly so our developer community can comment and contribute, and are starting to make certain features available as a feature plugin.

Release Highlights

New and improved date range picker

  • Select from a variety of preset and custom date ranges
  • Compare selected date range to the previous period or previous year
  • Selected date ranges persist between reports

Known Issues

  • Year to date and previous year presets are out of commission
  • Custom date ranges of 100 days or greater are out of commission
  • Hourly intervals not yet available in the chart when viewing single day date ranges

Revenue Report

  • The revenue report provides a broad overview of the financial status of a store. For a selected date range It reports gross revenue, refunds, the value coupons used, taxes collected, shipping costs, and net revenue.

Known Issues

  • Refunded orders are not properly updating revenue numbers.

Orders Report

  • For a selected date range, it reports the total number of orders, net revenue, the average order value, and average number of items per order.

Known Issues

  • Advanced filters aren’t hooked up to the API, so applying filters doesn’t have an affect on the report.

Product Report

  • View sales information for a given time period by product
  • Ability to compare a product sales using advanced filters.

Known Issues

  • Single product view (Product detail report) does not allow for comparison of variations in chart or tabular data
  • When comparing products, the chart displays aggregate totals for all selected products rather than individual series per product
  • Product category comparison not functional
  • Top products by items sold / gross revenue filters not functional
  • Product SKU not populating in tabular data
  • Product stock not reflected accurately in tabular data

Category Report

  • The Category Report is currently still in active development
  • The current chart and tables do display what data will be available when the REST API endpoints are completed

Known Issues

  • Report is incomplete and features dummy data (not connected via API)

Coupons Report

  • The Coupons Report is still being developed
  • The current chart and tables do display what data will be available when the REST API endpoints are completed

Known Issues

  • Report is incomplete and features dummy data (not connected via API)

Tax Report

  • The Taxes report is still being developed
  • The current chart and tables do display what data will be available when the REST API endpoints are completed

Known Issues

  • Report is incomplete and features dummy data (not connected via API)

Tech Highlights

Since the initial alpha announcement last month, we have also spent some time making the JavaScript components more easily usable for developers. The following components and utilities are available for developers to access via the `wc.` global namespace within `wp-admin`:

  • wc.components
  • wc.csv-export
  • wc.currency
  • wc.navigation

All of these modules have also been published on npm and the components are documented here.

What is Coming Next?

During the next two weeks, the team will be focusing on the following items:

    • Implement endpoints for Coupons and Taxes Report
    • Add functionality to products endpoint to support filtering by low inventory products.
    • Advanced Filters Support
  • Analytics
    • Configure Coupons and Taxes reports to use live data
    • Stock Report
  • Dashboard
    • Create new Chart Block
  • Activity Panels
    • Add live data to Orders Panel

How Do I Test it Out?

Grab the pre-built zip file from our releases page on GitHub, and upload as a plugin to a test site to try it out for yourself!

Want to get involved?

We would love to hear from you! If you find an issue when using the latest test build, or find a feature a bit confusing to use, please do open an issue on the GitHub repository – or reach out to us on the #developers channel in WooCommerce Slack.

Storefront 2.4 beta 1 — November 23, 2018

Storefront 2.4 beta 1

I’m happy to announce that Storefront 2.4 beta 1 is now available. You can download it and begin testing by clicking here.

What’s changed in 2.4?

Gutenberg compatibility

Gutenberg is the codename for the new editor soon to be released with WordPress 5.0. The new editor introduces a new block based approach to creating content in WordPress.

Some of the new blocks include full-width cover images, parallax images with text overlay, all sorts of different embedded content blocks, and column support up to 6-columns.

Gutenberg – Image & Cover blocks

To take advantage of all the new features, such as full-with content blocks, we’ve redesigned the regular posts layout in Storefront. Ever since Storefront was first released the layout for posts was made of 2 columns, one being the post meta, and the other the content itself. In this new version, the content now spans the entire width of the container. Here’s a before/after comparison:

We are working to include editor styles to ensure a consistent editing experience between frontend and backend in the final release of Storefront 2.4, or shortly right after.

Technical changes

WooCommerce code reorganization

All WooCommerce related code is now contained inside of the inc/woocommerce/ folder, making it easier to understand and maintain.

Beta testing

If you’re using any Storefront extensions, plugins or child themes, we’ll start updating all our products to provide compatibility with 2.4 in the next few days. We recommend that you check for updates to these products and run the updates as they become available to ensure your site is ready for Storefront 2.4.

If you find issues we encourage you to open an issue on the Storefront GitHub repository with a clear description so we can resolve before the final release.


You can download Storefront 2.4 beta 1 right here.