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 |
---|---|
37 | |
28 | |
13 | |
13 | |
9 |
Make the shift from discounts to donations, and witness your business not only thrive fina...
By Holly Dec 4, 2023On our Shopify Expert Marketplace, you can find many trusted third party developers and fr...
By Arno Nov 27, 2023You've downloaded the Search & Discovery app from the Shopify App store, and as you're ...
By Skye Nov 8, 2023