Hot or Cold Checkout Options

Topic summary

Issue: A catering store needs a single “Hot or Cold” serving option selected during purchase, preferably at checkout rather than per product.

Constraints: Shopify checkout cannot be customized for such inputs on standard plans (only Plus supports checkout extensions). If the choice must appear in checkout, it typically requires product-level Line Item Properties instead of a global option.

Proposed solutions:

  • Add the option on the cart page using a product-options/cart-attributes app (radio buttons saved to the order).
  • Free alternative: enable Cart “order notes” and relabel to request “Hot” or “Cold” (less reliable due to manual entry).
  • Theme approach: insert a custom-liquid block inside the cart form using cart attributes with radio inputs (name=“attributes[Hot or Cold?]”, values “Hot”/“Cold”). If not inside the form, use the input’s form attribute; note required may fail if the form uses novalidate.

Outcome: The poster confirmed the suggested approach resolved the issue.

Status: Resolved; no open questions.

Note: A provided code snippet (radio inputs for cart attributes) is central to implementation.

Summarized with AI on December 11. AI used: gpt-5.

Hello,

I have my catering website set up where customers can order platters of food.
I am now realising that I need to add an option for them to either receive their platters hot or cold.

I would like to add this option to the checkout page like when they are choosing their delivery date rather than adding to each individual product– I am not sure on how to do this.

Thank you in advance.

Hi @pj.macharoen

You’ve run into a common limitation. You cannot add custom options like ‘Hot’ or ‘Cold’ to the Shopify checkout page, as it is locked for security. The best workaround is to add this option to your cart page instead, so the customer makes the selection before checkout.

The easiest, no-code solution is to use a “product options” or “cart attributes” app. This will let you add radio buttons (e.g., ‘Hot’ / ‘Cold’) directly to your cart page, and the customer’s choice will be saved to the final order for your kitchen staff to see.

A free, built-in alternative is to use order notes. In your theme customizer, go to the ‘Cart’ page settings and find the ‘Subtotal’ block. You can check the box to “Enable order notes” and then change the label to ask customers to type their preference, like “Serving Temperature (Please type ‘Hot’ or ‘Cold’).” This is less reliable as it requires the customer to type the information manually, but it is free and works immediately.

Hope this helps!

1 Like

Hi @pj.macharoen if you check if your theme lets you add a custom-liquid section to the cart form section.
If so try something like the following to use cart attributes.
Though if you need the info to show in the checkout then you pretty much need to use Line Item Properties on products; as only Plus plans can use checkout-extensions.

:warning: :technologist: if it can’t be added into the actual cart FORM then any inputs need to use the form attribute whose value is the actual cart forms ID value. And the required attribute may not work if the form is set to novalidate

<p class="food-temp cart-attributes">
  <label>Hot or Cold?</label><br>
  <input required class="required" type="radio" name="attributes[Hot or Cold?]" value="Hot"{% if cart.attributes["Hot or Cold?"] == "Hot" %} checked{% endif %}> <span>Hot</span><br>
  <input required class="required" type="radio" name="attributes[Hot or Cold?]" value="Cold"{% if cart.attributes["Hot or Cold?"] == "Cold" %} checked{% endif %}> <span>Cold</span><br>
</p>

Or see things like “agree to terms” checkbox customizations , or giftwrapping customizations etc.
You can also reach out to me for theme customization services.

1 Like

Thank you so much this has fixed my solution!