Custom Products for WooCommerce v1.2.0 is here!

Posted on July 17, 2020

Finally, the 1.2.0 update for Custom Products for WooCommerce is complete and published! A lot of work went into code optimization and a couple of bugs were fixed. And there are a couple of cool new features as well, like required components and attributes, the “Single attribute mode” and advanced shadow controls. You can find the complete changelog at the bottom of this article. I’ll do my best to explain the new features 🙂


Required components

One of the major additions to the plugin is the “Required component” option. With it you can make your customers select at least one attribute before adding a product to cart. You can also select which attributes the user must select (we’ll get to that in a minute).


You can make components required on a global scale, on the “Add/Edit Product Components” page:

Making components required on a global scale


Or, you can override the global setting for a specific product, on the edit product page:

Making components required for specific products


The “Override” setting is there for a good reason. Imagine you have a component, which is required on a global scale. But on the “Edit product” page the “Required component” setting is set to “NO” (which is also the default setting). One setting says yes, the other one says no. There is no way for the Custom Products for WooCommerce plugin to know which setting to actually use without the “Override” setting.


Did you notice the cool new YES / NO switches by the way? 🙂


If the user tries to add a product to cart without selecting all required components something like this happens:

Trying to add a product to cart without selecting all required components and attributes


If you look at the “Topping” component you can see that the component itself is marked with a red background, but no attributes are marked. Meaning the user can select any attribute he wishes.

If you look at the “Crust” component on the other hand there are two attributes that need to be selected (almost there) – they are both marked with a red background. The third one is optional.

Selecting a “Side dish” is not required.


Required attributes

As mentioned you can also make any attribute required (which will also make the component it belongs to required). Doing so will mark the attributes, which need to be selected but weren’t, with a red background, like seen above.

Making attributes required for a specific component


Single attribute mode

You may have noticed the other set of switches besides the “Required component” switches – the “Single attribute mode” switches. You can use this setting to only allow one attribute to be selected on a particular component. Once you select another attribute the first one gets reset. Imagine you’re selling shirts. You create a component called “Size” and add two attributes to that component, like “Adult sizes” and “Children sizes”. Then you can add different sizes (terms) to each attribute. But you also enabled the “Single attribute mode” on that component and now your customers can only select one or the other.

Be careful with setting up the “Required attribute” option if this is enabled (if you make more than one attribute required the customer won’t be able to add the product to cart).

Enabling the “Single attribute mode” is easy. Just like the “Required component” this setting can be enabled on a global scale on the “Edit component” page, or you can override it on a particular product:

Enabling single attribute mode for a specific component

Advanced text shadow controls

Another cool addition to the plugin is the upgrade of shadow controls on text tags. Previously you could control the shadow by writing a CSS valid shadow in the “Shadow Color” input field. Now you can simply select a color and enter a few numbers, the rest is done automatically:

Advanced text shadow controls on components text tags


That’s it for this time, stay tuned for the next update for Custom Products for WoomCommerce! 🙂

P.S. You can find the free version of the plugin here.




  • “Single attribute mode” option to components (allows only one attribute to be selected on that component)
  • “Required component” option to components (makes the user select a component before adding the product to cart)
  • “Required attribute” option to component attributes
    • Can use on as many attributes as necessary
    • Be careful with setting up the “Required attribute” option if this is enabled (if you make more than one attribute required the customer won’t be able to add the product to cart)
  • Advanced shadow controls for text tags
  • Opacity control on icon color


  • Component fee set on product page not overriding default component fee
  • Checking for customizer/product image put in one function + removed from components_list shortcode (no need, it can work without images)
  • Customizer image sizing fixed
  • Admin inputs and labels design fixes
  • woocp_add_order_item_meta PHP notice (missing array index) fixed


  • Turn admin checkboxes into YES/NO switches
  • Attribute select boxes initialized on document.ready()


  • Update plugin-update-checker library
  • Update fabric.js to v3.6.3