Skip to content

Attach options to a product

The Product options tab is where a plain product gets its choices. You attach option sets, add fields and uploads, and the customer picks from them on the product’s own page.

A hoodie in twelve colours and seven sizes needs 84 WooCommerce variations. Each one has to be generated, priced and kept up to date.

With options, you attach a colour set and a size set to a simple product instead. Customers pick from the same swatches and size buttons. No variations are created, so there is nothing to generate or scroll through.

An engraved slate house sign. Slate finish shows Natural, Riven at +£6.00 and Honed at +£11.00, with Riven picked. Edge profile shows Straight, Bevelled at +£8.00 and Rustic at +£14.00, with Bevelled picked. Below are a line to engrave, a gift box tick box, and the total: the sign at £34.00, Slate finish: Riven +£6.00, Edge profile: Bevelled +£8.00, Grand total £48.00.
A simple product with two required sets and two fields. The total lists each choice on its own line.
Options or variations?

Use options when a choice doesn't need its own SKU. A choice can still hold its own stock count. Keep variations when each combination needs its own SKU. You can also add options on top of a variable product.

  1. In the WordPress menu, go to Products and open a simple product.
  2. In Product data, open the Product options tab.
  3. Under Options this product comes in, open Attach an option set… and pick a set.
  4. Repeat for each set the product needs, such as a colour set and a size set.
  5. On each set’s row, press Required if the customer must choose, or leave it on Optional.
  6. Press Update.

The product page now shows the choices, and the price follows every pick.

No set yet? Pick + New set… in the menu. The set editor opens in a new tab, and the set comes back attached. A list a set already brings is not added twice. Pick Edge finish on a product whose glass size is priced by it, and the menu says “Already included through Glass size”.

The Product options tab of a printed T-shirt. At the top, How this product behaves lists How this page looks, Ready-made setups, How customers order this, Quantity discount and Print areas. Below, Options this product comes in lists three sets, Colour, Size and Artwork, each set to Required, and a field shown by a rule. Under them are Attach an option set, Add a field, Add a section and, at the foot, the panel for taking the setup from another product.
The Product options tab: what the product does at the top, its sets and fields below.

A choice can cost more on one product than on another. For example, 4XL might add £4.00 on a heavy hoodie but £2.00 on a T-shirt.

  1. On the set’s row, press the small arrow to open it.
  2. Type the new price beside the choice.
  3. Press Update.

Leave the box blank to use the set’s own price.

A product needs a price, or WooCommerce won’t sell it. With no price, the Add to cart button and the options don’t show. The tab warns you when the price is blank.

Set the price on the General tab. Zero is fine when the options make up the whole price.

When shop pages show a price nobody can pay

Section titled “When shop pages show a price nobody can pay”

Shop pages show the product’s own price. Sometimes nobody can buy it at that price, because a required choice always adds to it.

The product screen warns you, under the price box and on the Product options tab. For example: “Shop pages show £30.00, but the choices this product requires make the cheapest £34.00.”

When a set prices the whole product, such as a size priced from a table, the warning offers the cheapest price. Press Use £42.00 to put it in the price box, then press Update.

A measured size that prices the whole product needs no price here. Shop pages show “From” its cheapest size. A price typed in the box isn’t used, and the box says so.

The General tab. Regular price reads 0.01. Under the price box, a yellow note says: Shop pages show £0.01. The cheapest size is £42.00. Beside it is a Use £42.00 button.
The cheapest size is £42.00, so shop pages shouldn't say £0.01.

If another product already has the setup you need, take it instead of rebuilding it.

  1. At the foot of the Product options tab, open Take the setup from another product.
  2. Search by product name or SKU. Only products with options are listed.
  3. Tick the parts you want: Option sets, Fields, Print areas, Quantity breaks or Layout.
  4. To give this product its own prices, tick Make copies only for this product.
  5. Press Take these parts.
  6. Check what arrived, then press Update.

A part you don’t tick stays as it is. Take only the fields, and this product keeps its own option sets, in the same order.

A field inside a section arrives with its section. If you have unsaved changes, you’re asked first. Press Take anyway to go on, or Keep my changes to stop. A new product keeps the title you typed.

Sets stay shared: a change to one reaches every product with it. With Make copies only for this product ticked, this product gets its own copy of each set, named for it, such as “Glass size (Clear Glass 8 mm)”. Photos set on single choices stay with the product that has them.

The same tab takes fields for the customer to fill in, such as a name to print, a message or a tick box. It also takes a Logo or file upload for artwork.

Open Add a field… and pick the kind. Each field can be optional or required, and can carry a charge. See custom fields and file and artwork uploads.

When a product asks a lot, put related rows under a heading, such as “Garment” and “Personalisation”.

  1. Press Add a section and give it a name.
  2. Drag rows into the section, and drag them to reorder.
  3. Press Update.

A section is a titled block on the product page. It never changes a price.

To fold sections away, or show one at a time, choose an arrangement under How this page looks. See how the page looks.

A section of fields can also repeat as one block, once per item bought. See ask a field more than once.

Some sections hold choices that are each optional, but can’t all be left empty. For example, Front, Back and Sleeve prints on a printed garment.

  1. On the section’s row, set Section rule to Pick at least one.
  2. Under If nothing is picked, say, type your own sentence, or leave it blank.
  3. Press Update.

Left blank, the page says “Please choose at least one option in this section.” It shows once above the section, with an Any one of: list of the section’s options.

The shopper must pick at least one before the product can be added. The cart checks again, so an express pay button can’t skip it.

  • Only options on show count. An option hidden by a rule isn’t counted.
  • A section with a required question inside already meets the rule. The editor says Already met.
  • The rule holds inside a BundleBoss bundle too. The bundle shows your sentence once and holds Add to cart until it’s met. Needs BundleBoss 6.2.0.
  • Each choice shows its price. A choice that adds money says so, such as +£6.00. A set where every choice costs the same shows no prices.
  • A running total sits under the options. It shows the product’s price, then each choice on its own line under its question, then the Grand total.
  • A required set with only one answer left is answered for them. For example, when every other size has sold out. Optional sets are never answered for them.
  • Shop pages say Select options. On a product that needs a choice first, the shop page button reads Select options, as WooCommerce does for variable products.

The price is always worked out on the server from your saved sets. It follows your shop’s tax display setting. See pricing and fees.

  • Option photos. A colour can carry its own photo and swap the main image. See option photos.
  • Conditional options. Show a set only after an earlier answer. See conditional options.
  • A quantity grid. Order every colour and size in one go. See quantity grid.

Open the product page as a shopper would. You should see each set you attached, with Required beside the ones you marked. Pick a choice, and the total under the options adds it on its own line.

Was this page helpful?