Skip to main content
Easy Digital Downloads Blog
WordPress Tutorials, Tips, and Resources to Help Grow Your Business

It has been in development for months, ever since version 2.0 was released in June, and today we are thrilled to announce that Easy Digital Downloads version 2.1 is now available. The update can be downloaded from or from within your WordPress Plugins page.

What’s new in version 2.1?

Version 2.1 includes 72 distinct changes. Of those 72, 34 were bug fixes and 38 were new features and improvements to existing features. While all of these changes are important, there are a few specific changes we would like to highlight.

New email templates

One of the most noticeable features of EDD v2.1 is the brand new default email template we have built. Purchase receipts used to be resemble a bland, non-interesting, gray box that was devoid of any and all elegance. With 2.1, we have taken the time to greatly refine the emails and they now look like this:

Screenshot from 2014-09-03 10:36:07

Clean, simple, elegant.

The new email template is also now automatically applied to all emails that EDD sends out, including admin sale notifications.

With this new template, we have also introduced an entire new API for interacting with the emails sent through Easy Digital Downloads. Within the edd_templates folder is a new folder called emails. This folder contains all of the template files that control the HTML markup of the emails, meaning you can easily adjust the email templates to look exactly how you want them to look.

For extension developers, there is a new EDD_Emails class that makes it exceptionally simple to send beautiful emails from within your extension.

New customers API

In version 2.1, the underlying API that tracks customer data has been dramatically improved. It is now more efficient, more accurate, and far more powerful. The new API opens up a whole realm of possibilities for extension developers, especially for extensions that integrate with CRMs and other customer / contact tracking systems.

The new customers API has also allowed us to improve the reporting features around customers. In Downloads > Reports > Customers, you can now easily filter the customers’ table to show you the customers that have made the most purchases or the customers that have spent the most with your store.

Drag-and-drop variable prices

We are thrilled to include one of our longest outstanding feature requests in Easy Digital Downloads version 2.1: the ability to reorder variable prices into the exact order you want them displayed on the frontend.

When editing a Download, you will now have “drag handles” next to each price option that lets you drag-and-drop the prices into the exact order you desire:

Screenshot from 2014-09-03 10:51:59

Improved sales and earnings reports

The earnings and sales reports have received two significant improvements in EDD v2.1.

First, we have added a new option to the “Custom” date selection that lets you specify a start day and an end day, along with the month and year:

Screenshot from 2014-09-03 10:54:22

This allows you to get exact numbers for precise date ranges.

Second, we have improved the calculations for the Estimated monthly earnings and Estimated monthly sales statistics. The estimated values shown are now much, much more accurate and should represent a realistic estimate of how your store is expected to perform for the current month.

WordPress 4.0 compatible

As the release of WordPress 4.0 looms ever closer (tomorrow actually), we have been extra diligent in testing Easy Digital Downloads version 2.1 with the latest version of WordPress to ensure everything works perfectly.

So much more

In total, there were 72 unique issues addressed in EDD 2.1, so we can’t cover them all here in detail, but you can see the complete list of changes summarized below:

  • New: Redesigned email templates powered by the new EDD_Emails class
  • New: Customers API and database layer that dramatically improves performance of customer-related queries
  • New: Improved customer reports table that includes column filtering
  • New: Improved transaction ID tracking and display
  • New: Added support for WP CLI
  • New: Drag-and-drop ordering for variable prices
  • New: Admin sale notifications are now sent with same HTML template as purchase receipts
  • New: edd_update_payment_meta() function for easily adding and updating meta values for payment records
  • New: edd_update_payment_meta() function for easily adding and updating meta values for payment records
  • New: Hooks introduced at the bottom and top of the Discount edit screen
  • New: Added an option to hide the cart widget when on the checkout page
  • New: Introduced a function to detect if a download product is free, edd_is_free_download()
  • New: Introduced edd_get_payment_transaction_id() and edd_set_payment_transaction_id()
  • New: Introduced edd_user_can_view_receipt_item filter
  • Tweak: [downloads] short code now accepts slugs or term IDs for category and tag attributes
  • Tweak: Estimated earnings are more accurate
  • Tweak: Custom date ranges for report graphs now include a day option
  • Tweak: Added EDD-specific classes to the body tag when appropriate
  • Tweak: Improved responsiveness of the View Order Details screen
  • Tweak: Added “download” attribute to file download links
  • Tweak: Parameters for edd_get_download_file_url() now passed through urlencode()
  • Tweak: Product excerpts now available in the JSON/XML API
  • Tweak: Improved display of the payment method icons in settings
  • Tweak: Removed all instances of the extract() function
  • Tweak: PHP sessions now automatically enabled when the hosting account supports it
  • Tweak: Added Download post type to the At a Glance widget
  • Tweak: Improved SSL URL filtering of assets and non-checkout pages
  • Tweak: Replaced padlock icon on checkout with icon font
  • Tweak: Added currency settings to the System Info
  • Tweak: Prevent W3 Total Cache from caching discount codes
  • Tweak: Added caching to the get_user() method in the EDD_API
  • Tweak: Added a “size” parameter to the edd_rich_editor_callback() function
  • Fix: Sales column linked incorrectly to the File Downloads log
  • Fix: “yesterday” date range failed for EDD_Stats when the current day was the first day of the month
  • Fix: The shop_manager role could not export reports
  • Fix: Non-item fees were incorrectly allowed to be in the cart when the cart was empty
  • Fix: Errors when default CSV columns removed
  • Fix: Undefined index in process-download.php
  • Fix: Undefined index when updating a payment record with no last name
  • Fix: Fatal error on some hosts that disallow set_time_limit()
  • Fix: Incorrect label in Discount edit screen for flat rate discounts
  • Fix: Conflict with WooCommerce’s SSL option when Enforce SSL on Checkout is enabled
  • Fix: Incorrect postal code validation for Argentina
  • Fix: Incorrect postal code validation for Canada
  • Fix: Discount code not properly set in cart when passed in a URL
  • Fix: Incorrect tax amounts when a discount code is used and item quantity is greater than 1
  • Fix: Incorrect tax amount on fees when prices are inclusive of tax
  • Fix: Incorrect item amounts due to rounding amounts too early
  • Fix: Duplicated Personal Information sections sometimes displayed on checkout due to non-strict comparison
  • Fix: Notices displayed in Download Categories / Tags widget upon save
  • Fix: Multiple discounts with the same code could be created
  • Fix: Invalid CSS properties
  • Fix: Filtering the File Downloads log did not work
  • Fix: edd_before_download_content action ran after the download content
  • Fix: Download links could not be copied on View Order Details in some versions of Chrome
  • Fix: Incorrect number of decimal places for some cart amounts
  • Fix: Incorrect tax amounts when taxes are calculated after discounts
  • Fix: Adding duplicate items to the cart does not increase cart item quantity
  • Fix: Division by zero error when saving a payment record with an amount of zero
  • Fix: Empty cart problems when FORCE_SSL_ADMIN is set to true
  • Fix: Improper display of the Products field for Bundle products
  • Fix: Refunds and disputes not picked up by PayPal’s IPN listener

Having issues after upgrading?

We have tested version 2.1 extensively and have even been running it on our own sites for several weeks now, but as with all software, there are always unexpected issues in certain environments that arise after updating. If you experience any issues at all, let us know in the support forums and we will do our best to assist you.

Happy upgrading!

Using WordPress and want to get Easy Digital Downloads for free?

Enter the URL to your WordPress website to install.

Disclosure: Our content is reader-supported. This means if you click on some of our links, then we may earn a commission. We only recommend products that we believe will add value to our readers.


  1. Pippin Williamson
  2. Pippin Williamson

    Great improvements, specially those 34 fixes 😉

    And of course, I love the Drag-and-drop variable prices and the tweaks on the Estimated monthly earnings 🙂

    Great job, guys!

  3. Pippin Williamson

    Hi there,

    First, I want to thank you for the great work with this, I really appreciate the improvements!

    One note, I’m using shortcode [purchase_link] with direct=”true” to send customers directly to PayPal avoiding checkout, after this update I noticed this shortcode works like “add to cart” button and is no sending me directly to PayPal.
    Is possible to be affected by this update?

    thank you guys.

    1. Pippin Williamson
  4. Pippin Williamson


    It seems the shortcode it’s affected by the “Purchase button behavior” option, at least for me.

    1) when that option is default (“Add to cart”) the shortcode button works like an “add to cart” button even if there is added parameter “direct=true”. Here is an example

    2) when that option is setup on “Buy Now” the shortcode button sends me directly to PayPal, here’s another example

    1. Pippin Williamson

      Are you sure it worked properly on the previous version? I recall seeing someone else with this exact same issue, but it was before 2.1.

      1. Pippin Williamson

        Yes, in previous version (2.0.4) didn’t happen this (at least for me). Anyway I’ve solved it, in my case I don’t want to use add to cart (at least for the moment) so I added a filter on “edd_purchase_link_defaults” and overwrote “direct” parameter on “true” so always all buttons will directly send to PayPal no matter what is selected at “Purchase button behavior” option.

        best regards,

        1. Pippin Williamson

          Great, let me know if you ever need to dig into it again. I’ll see if I can track down why it happened anyhow.

          1. Pippin Williamson


            I think I found something regarding to “edd_download_shortcode()” function. In its default attributes is no added “direct” attribute it’s only “paypal_direct”, this supposed to be?

            I think here is the mistake, because in “edd_get_purchase_link()” I saw its default attributes are merging with the default attributes of shortcode function and “paypal_direct” doesn’t match with “direct” and “direct” remains empty (even I’m adding in my shortcode “direct=true”) and it takes value from “Purchase button behavior” option.

          2. Pippin Williamson
        2. Pippin Williamson


          Which files/lines do I need to modify in order to add the filter and define the parameter to “true”.


          1. Pippin Williamson

            Never mind. I found it: edd_purchase_link_defaults is on ˜/easy-digital-downloads/includes/template-functions.php, line 66

  5. Pippin Williamson
  6. Pingback: Weekly Roundup: September 5, 2014 - Sell with WP
  7. Pippin Williamson


    my “add to cart” buttons look like this example
    [purchase_link id="682" text="Ajouter au panier" style="button" color="orange"]

  8. Pippin Williamson

    Halleluya !!!!!!!!!!!

    I found the cause : GOOGLE ANALYTICS BY YOAST

    THERE is a conflict between this plugin and EDD

    They also made a new version available this week

    1. Pippin Williamson

      Several other users experienced the same problems due to the issue in the Analytics plugin. Glad to hear you found it!

  9. Pippin Williamson

    Important note too! The .hentry class appears to have been removed from download archive items – so if you were styling archive items using the .hentry class, your styling may have broken.

    Try using the .archive-download-article class in place of .hentry if you do have styling issues when updating. (I did)

    1. Pippin Williamson

Leave a Reply

Your email address will not be published. Required fields are marked *