Skip to main content
Easy Digital Downloads Documentation
Documentation, Reference Materials, and Tutorials for Easy Digital Downloads

Creating Custom Add to Cart Links

Many times when building a site or theme with Easy Digital Downloads, you will want to create custom purchase/add-to-cart buttons that allow your users to purchase a digital product. Sometimes the button options that come with EDD are not quite suited to your application. Luckily, there is a very simple way to turn any hyperlink into a “purchase button”.

Creating the link

Let’s say that you have a hyperlink displayed on your product details that says “Purchase This”, and you have styled it exactly as you want. The only thing you have left is to turn the link into one that automatically adds the current item to the shopping cart. It’s very simple and the basic format looks like this:

http://example.com/?edd_action=add_to_cart&download_id=ID_OF_THE_DOWNLOAD

This

ID_OF_THE_DOWNLOAD

would be replaced with the actual ID number of your download.

You can find the ID of your download by going to Downloads → All Downloads and then clicking on the product you’re looking for. Then in the URL you’ll find the ID you’re looking for. Example:

Redirect to checkout

If, when clicked, you want the link to automatically take the user to the checkout page, do this:

http://example.com/checkout/?edd_action=add_to_cart&download_id=ID_OF_THE_DOWNLOAD

“http://example.com/checkout” would be replaced with the full URL to your checkout page.

If you are displaying the link on the single page for the “download” post type, then you can do this (it will automatically append the ID):

<a href="http://example.com/checkout/?edd_action=add_to_cart&download_id=<?php echo get_the_ID(); ?>">Purchase This</a>

If you want to create a link for a specific price option, you can do it like this:

http://example.com/checkout/?edd_action=add_to_cart&download_id=DOWNLOAD_ID&edd_options[price_id]=PRICE_ID

Note, variable prices must be enabled on your product in order for the price ID parameter to be included.

Sending customers straight to PayPal

If you’d like your customers to be sent straight to PayPal, instead of to the checkout page, use a URL like this, replacing ‘100’ with your product ID:

http://example.com/checkout/?edd_action=straight_to_gateway&download_id=100

Below is an example of using the WordPress function
get_the_ID() to automatically get the product ID and append it to the URL.

<a href="http://example.com/checkout/?edd_action=straight_to_gateway&download_id=<?php echo get_the_ID(); ?>">Purchase This</a>

Including an item quantity

If you want to specify the quantity that should be added to the cart, make sure you have Item Quantities enabled (Downloads -> Settings -> Misc) and build your URL like this:

http://example.com/checkout/?edd_action=add_to_cart&download_id=DOWNLOAD_ID&edd_options[quantity]=QTY

Including a discount code

Full docs on  how to add a discount code to a link are found here. If you want to add both a discount code and a download ID at the same time it would look something like this:

http://example.com/?edd_action=add_to_cart&download_id=ID_OF_THE_DOWNLOAD&discount=CODE
where CODE is the discount code you wish to use.
Read our latest blog post:
NEW: Bulk Generate, Save & Export Invoices