Introducing Brands

We’re excited to announce a major enhancement to WooCommerce. The popular Brands functionality, previously available only as a premium plugin, will now be integrated into WooCommerce core. This change allows us to provide an essential ecommerce feature out-of-the-box and opens up new possibilities for developers and store owners alike.

Starting with WooCommerce 9.4, to be released October 21, 2024, all functionality previously offered by the WooCommerce Brands plugin will now be part of WooCommerce core, and available to use for free.

What’s included?

The new Brands feature lets you create and manage brands for stores and assign them to products, similar to Categories. With brand short-codes, widgets, and blocks, you can create dedicated brand pages, display brand details on product pages, and help shoppers navigate stores using brand-specific navigation menus. Additionally, you can now limit coupon use to specific brands.

A screenshot of the Brands dashboard, under Products > Brands
Brands dashboard, under Products > Brands

Technical implementation

Brands are implemented as a custom taxonomy, similar to product categories. This allows for seamless integration with existing WooCommerce hooks and filters. Developers can extend and customize Brand functionality using familiar WordPress taxonomy functions and WooCommerce product data management APIs.

Enabling the feature

Although we are adding this feature WooCommerce 9.4, it will be initially disabled for all users. To enable Brands in a store, add the following snippet to the functions.php file of your active theme or via a plugin like Code Snippets:

add_action( 'init', function() {
    update_option( 'wc_feature_woocommerce_brands_enabled', 'yes' );
    update_option( 'woocommerce_remote_variant_assignment', 2 );
} );

Alternatively, you could run the following WP CLI commands to enable this feature:

wp option update wc_feature_woocommerce_brands_enabled 'yes'
wp option update woocommerce_remote_variant_assignment 2

The feature will be enabled for all users, starting with WooCommerce 9.6 (scheduled for December 30, 2024).

Migration guide

For sites currently using the WooCommerce Brands plugin, we’ve ensured a smooth transition path. When you upgrade to WooCommerce 9.4 and enable the core Brands feature, existing brand data will be automatically migrated. However, we recommend testing this process on a staging site first. Custom code interacting with the Brands plugin may need updates to work with the core implementation.

Known issues

To ensure a smooth transition for WooCommerce Brands plugin users, we merged the codebase as is, without changing any features or updating any flows. A list of open issues about this feature can be found here.

Testing the feature

The feature is now part of the official beta testing in the WooCommerce 9.4 beta, and can be enabled by the above snippet. We highly recommend testing this feature on your staging environment.

Weโ€™ve kicked off a GitHub Discussion for this topic, and we look forward to learning about your experience with this feature and any feedback you share with us.


Keep yourself in the loop!

Sign up for the WooCommerce developer newsletter:
Hidden
Hidden
Hidden


12 responses to “Introducing Brands”

  1. Great news. Brands is a requirement in Google Shipping, the absence of this created cut/paste work for many. Just like the absence of EAN-field that just got into core.

    Premium plugins are great when they add value. These things are not that kind of “added” value. It is “expected” for many merchants and should be included right out of the box. So, thanks for doing this.

    Hopefully, more stuff like this going to be included in core. For example: the cost of a product

    1. Brent MacKinnon Avatar
      Brent MacKinnon

      Thanks Dave!

      We’re thinking about it the same way, and I think you’ll be pleased by some of our upcoming roadmap items. Can’t wait to share more!

  2. Lino Sabato Avatar
    Lino Sabato

    Great news.
    Talking about the EAN-field, I just realized that if you want to export products the EAN in not available in the drop down menu #select2-woocommerce-exporter-columns-results.
    It should be possible to export and import this new field too.

  3. Concerned Developer Avatar
    Concerned Developer

    Are you serious?

    init hook and update_option? this is nuts and not only because it resets cache…

    and don’t get me started on recommending Code Snippets plugin and security…

    1. Hey there,

      Thank you for the feedback!

      I updated the post to include instructions on how to enable Brands via WP CLI, so that it’s not necessary to install a custom PHP snippet.

      Let me know if this helps!

      1. Dude, I think you missed the point!

        It hooks into the init action, so the update_option function is triggering on every request to the site, also updating the object cache for those options. Terrible for performance and stability considering you should just be setting it once. Instead, do a check for the current value and only update it to the new value if needed. Also I’d probably use the admin_init hook at least, so it doesn’t fire on every front end request.

  4. I use product attribute as brands. Do you plan tool for migration from pa_ to brand?

    Thanks.

    1. Hey there,

      Thank you for the question!

      Brands is a new taxonomy and currently, there isn’t any way to automatically migrate from a custom brands implementation, like using product attributes as brands, to this taxonomy.

      Only brands previously created by the WooCommerce Brands plugin (https://woocommerce.com/products/brands/) will be automatically migrated, as the same taxonomy is used.

    2. I do the same. And it would be great if there is a tool to move data.

      Btw, Google merchant center asks 3 things
      Brand
      EAN (GTIN)
      MPN : Manufacturer product number

      Since you did 2 of them, why not add MPN to core? Just under EAN?

  5. medavidallsop Avatar
    medavidallsop

    I’ve added some discussion points here: https://github.com/woocommerce/woocommerce/discussions/52774

  6. This great news. I was.looking forward to this feature. Thx a lot!

    I’m going to check this out.

Leave a Reply

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