WooCommerce 9.9.5: Classic performance

WooCommerce 9.9.5 is here:

This version fixes unwanted block styles loading on all pages in classic themes. Styles now load only when needed.

Current Stable Tag

👉 WooCommerce 9.9.5

Released June 23, 2025

What’s in this release

🛠️ Fix: Unwanted block styles loaded on all pages in classic themes #58993

Reported by dpitchford1, WooCommerce 9.9 introduced a regression where block-related CSS files were being loaded on all pages, even when no WooCommerce blocks were used and block support was explicitly disabled. This impacted both frontend performance and styling for developers using classic themes with finely tuned output control.

With this fix, WooCommerce’s style loading handler supports dynamically rendered interactive blocks that define styles in metadata. Styles will now only load if the relevant block is present on the page, even in classic themes.


2 responses to “WooCommerce 9.9.5: Classic performance”

  1. Saurabh Avatar
    Saurabh

    Hi Pi,
    I don’t know where to put this so adding here.

    I’m getting this error when updating to the latest version. When I updated the v9.9.4 I suppressed the error by adding a code thinking you guys might fix it in the upcoming update.

    Line: if ( 0 === strpos( $menu_item[0], $menu_title )

    Fatal error: Uncaught TypeError: strpos() expects parameter 1 to be string, null given in public_html/wp-content/plugins/woocommerce/src/Internal/Admin/Settings/PaymentsController.php:87
    Stack trace:
    #0 public_html/wp-content/plugins/woocommerce/src/Internal/Admin/Settings/PaymentsController.php(87): strpos(NULL, ‘Payments’)
    #1 public_html/wp-includes/class-wp-hook.php(324): AutomatticWooCommerceInternalAdminSettingsPaymentsController->add_menu(”)
    #2 public_html/wp-includes/class-wp-hook.php(348): WP_Hook->apply_filters(NULL, Array)
    #3 public_html/wp-includes/plugin.php(517): WP_Hook->do_action(Array)
    #4 public_html/wp-admin/includes/menu.php(161): do_action(‘admin_menu’, ”)
    #5 public_html/wp-admin/menu.php(423): require_once(‘/home/fifofocus…’)
    #6 public_html/wp-admin/admin.php(159): require(‘/home/fifofocus…’)
    #7 public_html/wp-admin/index.php(10): require_once(‘/home in public_html/wp-content/plugins/woocommerce/src/Internal/Admin/Settings/PaymentsController.php on line 87

    1. Hi Saurabh, I don’t see any reports of this error and am unable to reproduce. It might be helpful for you to conflict test your installed plugins and themes to see what else might be causing the issue.

      If the issue is in fact isolated to WooCommerce after you perform the conflict tests, I would suggest you open an issue in the core repository

Leave a Reply

Your email address will not be published. Required fields are marked *