However on versions later than 9.9.3 the show_empty=”false” breaks the shortcode and leads to no results.
We tested with 2025/Storefront and other themes and only Woo installed, still the same. On version 9.9.3 of Woo it works on all themes and with everything installed.
We tested all versions 10 rc-1, 9.9.5 and 9.9.4 and a couple of older ones before 9.9.3.
On 9.9.3 and older it works, on anything newer it’s broken.
Best regards,
The page I need help with: [log in to see the link]
This looks like a regression in WooCommerce after 9.9.3 affecting how show_empty="false" works with brand thumbnails. It might be related to term counts not updating properly behind the scenes.
/** * Force a recount of all brand terms */ function recount_brand_terms() { // Only run on the homepage if ( !is_front_page() && !is_home() ) { return; }
// Check if the product_brand taxonomy exists if ( !taxonomy_exists( 'product_brand' ) ) { return; }
// Get all brand terms $brands = get_terms( array( 'taxonomy' => 'product_brand', 'hide_empty' => false, 'fields' => 'id=>parent', ) );
This triggers _wc_term_recount() and updates the counts WooCommerce uses to decide which brands are empty. If the shortcode works after adding it, you’ll know that was the root issue, and you can remove the snippet once things display correctly.
Let me know if this helps, and we’ll keep watching for updates on the core fix.
Just a heads-up, that snippet I shared earlier wasn’t quite right. The issue isn’t about outdated meta values or needing to force a recount. What is actually going on is that after WooCommerce 9.9.3, the product_brand_thumbnails shortcode double-filters the terms when show_empty="false" is set. Both get_terms() and remove_terms_with_empty_products() try to exclude empty brands, and together they end up excluding everything.
Here is the updated snippet that fixes it by preventing that second round of filtering when it’s not needed. It restores the shortcode’s behavior from 9.9.3 and earlier.
Yes, we tested recount previously, but we should have mentioned that, a miss on our end.
We tested the fix snippet and it is working on a dev install.
We will wait for fix in a plugin update. Until then we will cap the version update to 9.9.3 as implementing the snippet is not viable at the moment as we would later have to remove it on every website we have updated during that time.
We hope this will be included in the changelog when a fix is implemented, so we can continue updates of the plugin.
Thank you for the update—I really appreciate you taking the time to look into this. Have you had a chance to report the issue on GitHub yet? If so, could you kindly share the link to the report? That way, others experiencing the same issue can follow along, and the developers can respond directly there.
Thanks for confirming and for taking the extra step to submit a GitHub bug report, that’s definitely the right move! Keeping an eye on the issue page is a great way to stay updated as the development team reviews and works on a fix.
If anything changes or you need help adapting once a patch is released, feel free to check back in. We’re here to help make the transition smooth when it’s time to upgrade again.