Liquid, JavaScript, themes, sales channels
Hello !
I work on a single product store and I want to add a buy button on the home page:
Does anyone know how I can create a "Buy now" button with a specific product ID?
The aim is that the selected product is added to cart, and if possible that the customer is redirected to the cart afterwards.
Thanks in advance!
Solved! Go to the solution
This is an accepted solution.
Hi @odymac,
You can use this code if you don't know the id variant:
{% assign product = all_products["product handle"] %}
{% assign current_variant = product.selected_or_first_available_variant %}
{% form 'product' %}
<input type="hidden" name="id" value="{{ current_variant.id }}" />
<input type="hidden" name="quantity" value="1" />
<button type="submit" name="add">Buy now</button>
{% endform %}
If you know the variant id or want to add a specific product, you can change this directly:
{% form 'product' %}
<input type="hidden" name="id" value="id variant" />
<input type="hidden" name="quantity" value="1" />
<button type="submit" name="add">Buy now</button>
{% endform %}
Hope it is clear to you.
Hi Odymac,
this should work:
- Put your product in a collection
- Edit the code of your homepage like this:
- assign a variable for example "my_chosen_product"
- Iterate through your created collection until you reach the product with the specific ID
- assign this product to your variable "my_chosen_product"
- Put a Add-to-cart button wherever you want
- Add my_chosen_product.add_to_cart to your button form
Thats it, should work
This is an accepted solution.
Hi @odymac,
You can use this code if you don't know the id variant:
{% assign product = all_products["product handle"] %}
{% assign current_variant = product.selected_or_first_available_variant %}
{% form 'product' %}
<input type="hidden" name="id" value="{{ current_variant.id }}" />
<input type="hidden" name="quantity" value="1" />
<button type="submit" name="add">Buy now</button>
{% endform %}
If you know the variant id or want to add a specific product, you can change this directly:
{% form 'product' %}
<input type="hidden" name="id" value="id variant" />
<input type="hidden" name="quantity" value="1" />
<button type="submit" name="add">Buy now</button>
{% endform %}
Hope it is clear to you.
Wow, this is a cool and clean way to do this. I didnt expect the direct way to work, thanks for sharing.
Hi,
Where do I actually put this coding?
Thanks
Hi @LakayLola,
You can add the code here anywhere you want to display the buy now button. Possible at layout/theme.liquid
Hope it is clear to you.
User | RANK |
---|---|
25 | |
22 | |
9 | |
6 | |
5 |
Explore the 30-30-30 rule, a dynamic social media strategy for new businesses. Learn how t...
By Trevor Sep 20, 2023Discover how to leverage the often overlooked footer of your ecommerce site to gain custom...
By Skye Sep 15, 2023In this blog, we’ll be shining a light on Shopify Partners, Experts, and Affiliates. Who a...
By Imogen Sep 13, 2023