Tips, Tricks and Snippets

In this document, you will find many useful snippets for customizing the appearance and functionality of Composite Products.

To use a snippet, you can download the linked file and activate it as you would do with any other plugin. Alternatively, you can copy the contained code into your child theme’s functions.php file.

Important: These snippets are customizations provided “as is”, with no guarantee. We do our best to offer advice and direct you to the appropriate resources, but we are unable to provide support for customizations under our Support Policy. If you are unfamiliar with code/templates and resolving potential conflicts, please contact a WooExpert.

Contents ↑ Back to top

Components & Component Options

Configuration Summaries

Pricing

Shipping

Cart & Orders

Components & Component Options ↑ Back to top

Change the default component options sort order ↑ Back to top

To change the default sort order of Component Options, you can use the woocommerce_composite_component_default_orderby filter.

For instance, to change the default Component Options sorting option from “Default sorting” to “Sort by price”, use the following snippet:

By default, if you use the “Select Products” method to enter Component Options, the Default sorting option will sort products in the order they have been entered in the Component Options field.

To make the Default sorting option operate based on menu_order instead, use the following snippet:

Similarly, to make the Default sorting option operate based on the product title, use the following snippet:

 

Change the component options thumbnail columns count ↑ Back to top

The number of Component Options columns when using the Thumbnails setting can be changed by using the woocommerce_composite_component_loop_columns filter. The following snippet is a simple example of setting the product thumbnails column count to 2:

 

Change the component options thumbnails per page ↑ Back to top

The number of Component Options loaded per-page when using the Thumbnails setting can be changed by using the woocommerce_component_options_per_page filter. The following snippet is used to set the results count to 12:

 

Hide/grey-out disabled component options when using Scenarios ↑ Back to top

When using Scenarios to create product/variation selection dependencies, incompatible products and variations are greyed-out by default.

To have incompatible selections completely hidden, instead of greyed-out, you can use the woocommerce_component_options_hide_incompatible filter:

 

Enable/disable the toggle-box component view ↑ Back to top

By default, Components are displayed in toggle-boxes when using the Progressive layout.

This behavior can be changed by using the woocommerce_composite_component_toggled filter. For instance, you can use the filter to disable the toggle-box view completely:

Alternatively, you may want to enable the toggle-box view when using the Stacked layout only:

 

Require Components to be configured in sequence when using the Componentized layout ↑ Back to top

By default, the Componentized layout does not require Components to be configured in sequence. Using this snippet will imitate the Stepped layout behavior, where access to a Component is possible only if all preceding Components have been configured.

 

Automatically show the next step after registering a valid selection ↑ Back to top

Use the following snippet to automatically transition to the next step after making a valid selection. Note that the snippet can be customized to enable this behavior for specific Components.

 

Composite Summary/Review ↑ Back to top

Change the number of columns in the summary/review section ↑ Back to top

To change the max number of component columns in the Summary/Review section, you can use the woocommerce_composite_component_summary_max_columns filter. The following snippet is a simple example of setting the Summary/Review section column count to 3:

 

Pricing ↑ Back to top

Prevent composite products with component discounts from being listed as on-sale ↑ Back to top

By default, composite products with component discounts are listed as On Sale. Use the following snippet to prevent this:

 

Apply component-level discounts over sale prices ↑ Back to top

By default, sale prices are ignored when applying component-level discounts. This behaviour can be changed by using the woocommerce_composited_product_discount_from_regular filter:

 

Prevent composite price strings from showing up in range-format ↑ Back to top

First, make sure that you are using the latest version of Composite Products. Then, activate the following snippet:

 

Hide/replace the “Free!” Component Option price strings that show up when a Component is Priced Individually ↑ Back to top

To hide “Free!” price strings from drop-downs and selected product details, use the following snippet:

 

Replace the displayed price string of a Composite product with your own custom string ↑ Back to top

Use this snippet to define your own custom price strings for Composite products – useful if you have activated the Hide Price option to reduce server load:

The snippet will add a new “Custom Price” field under the Product Data > General tab, which you can use to define your own custom price string.

 

Shipping ↑ Back to top

Use a variable weight when a composite contains assembled items ↑ Back to top

By default, the weight of a non-virtual composite is assumed to be static and equal to the value entered in its Weight field. Sometimes, it might be desirable to have the weight of assembled (not Shipped Individually) Components added to the composite weight, and use the value defined in the Weight field of the composite as a base weight.

You can enable this behavior by using the woocommerce_composited_product_has_bundled_weight filter:

 

Cart & Orders ↑ Back to top

Hide components in the cart, checkout, order and e-mail templates ↑ Back to top

The snippet will hide all line items associated with Components from the cart, checkout, order and e-mail templates. When the snippet is active, customers will see only the parent line item associated with the Composite product:

 

Change the way item subtotals appear in the cart/orders ↑ Back to top

By default, the cart item subtotal of a composite container item is calculated as the sum of the base/static composite price subtotal + the subtotals of any components that are priced individually. Additionally, the subtotals of individually-priced components are displayed with an ‘Option subtotal:’ prefix.

To prevent this, use the following snippet/plugin, which relies on the woocommerce_add_composited_cart_item_subtotals and woocommerce_add_composited_order_item_subtotals filters:

 

Questions & Support ↑ Back to top

Have a question? Please fill out this pre-sales form.
Already purchased and need assistance? Get in touch with us via the Help Desk!

WooCommerce - the most customizable eCommerce platform for building your online business.

Back to the top