Today we’re taking a look at a new version of Easy Digital Downloads to see what’s new in version 2.7.
Version 2.6 add improvements to product and payments import / export processes, refunds via PayPal Standard, and an improved mobile checkout experience.
Easy Digital Downloads 2.7 adds further performance enhancements, while also improving order management and adding wider support for bundled products. For more details, you can check out the beta version announcement or the official release post.
The “Edit Payment” screen has gotten a few improvements in this release to make it easier to edit previous orders and add new items to orders.
First, notice that you can now edit an item’s price on an order, along with any tax assessed for that item. You’ll also see a line item total, and will see that adding a new download is now in a separate metabox.
Editing the customer record for an order has also been updated. In EDD 2.6, you’d just change the customer from the enhanced dropdown and save the order. In EDD 2.7, changing the customer is a bit more intentional. You’ll first click “Assign to another customer”:
This will let you choose a new customer for the order with more explicit details as to how it should be changed.
Finally, you’ll see two improvements to the “Payment Details” box as well. The discount code used for the order will now link to the “Edit Discount” page so you can see discount details. The tax rate (percentage) is also saved and displayed on the order next to the assessed tax amount.
Note that the tax percentage won’t be available for historical orders, but it will be added to new orders going forward.
One of my favorite improvements in this release is the ability to resume an order if it’s previously been marked as “Pending” or “Abandoned”.
In Easy Digital Downloads 2.6 and earlier versions, these orders could not be resumed, and would remain in this status perpetually. Customers could not complete the order themselves. This also caused some interesting behavior if you recover abandoned carts with something like Jilt, as a new order needs to be generated from the abandonment recovery; the old one could not be updated.
Now a previous order can be completed via customer action (clicking “Complete Purchase”), and the payment status will be updated accordingly.
This change makes the order workflow much easier, and will help solve issues where the customer tries to go to PayPal or another gateway, but can’t successfully complete the order. They can now come back to the account area to finish the purchase.
Product management has also been improved with a couple of upgrades in EDD 2.7. The largest change is the ability to use variable pricing for a bundle product. 🎉
Previously, if you had variable pricing set up for a product:
Bundling was useless, as each option would receive the same downloadable files in the order. There was no way to differentiate the bundle based on the option selected.
In EDD 2.7, you can now add a “Price assignment” for a bundle, making it available for all options, or only for a particular variation / option for the product.
This opens up a lot more options for how you sell your products, making it feasible to offer bundles with an upsell or bonus content.
A smaller refinement is the ability to control quantity selectors on a per-product basis. You can enable quantity inputs under the EDD settings:
If enabled in EDD 2.6 or older, this setting would apply to every download in your catalog. In EDD 2.7, you can now disable quantity selectors on a per-product level if quantity changes shouldn’t be allowed for every product.
One of the improvements in EDD 2.7 that shouldn’t go unappreciated is the optimization of reporting. There have been some large under-the-hood changes to how reports are generated to make them a lot snappier, especially for sites with large transaction volumes or a lot of purchasing history.
Getting earnings data out of EDD is also now easier. In previous versions, you could export a PDF report of earnings for the current year, which was pretty inflexible for shops that wanted more detail. While there was also an earnings and sales export, you didn’t have a ton of detail available in these exports.
Now you can export a CSV file of earnings by date range with a detailed breakdown of shop performance.
This CSV file will give you values and counts for sales, refunds, revoked orders, abandoned orders, failed orders, and cancelled transactions. This data will be broken out on a month-to-month basis so you can get a deeper view into store performance over time.
There are a couple other minor changes to note in EDD 2.7 as well.
[edd_downloads] shortcode has been added, which functions the same way as the current
[downloads] shortcode, helping to avoid conflicts if you have another plugin using
downloads as a shortcode tag.
Second, the “View Customer” screens have been updated to tweak the layout and menu, improving responsiveness of this screen.
EDD 2.7 opens up some new tools for developers to leverage in custom code and extensions. Two new APIs that developers should be aware of are the
EDD_Cart object APIs along with the
EDD_Discount object class.
Each of these items previously required developers to access them via EDD methods, which could instantiate these objects multiple times. As this would also run hooks associated with them multiple times, this could slow down performance and page load times.
Now these objects are instantiated once and the same object is accessed by all code, which has the potential to drastically improve performance:
On one test case, we saw the checkout load time go from 2.6865 seconds to just 0.8456 seconds with no change in place other than the new cart object.
v2.7 announcement post
edd_get_payment() function has also been introduced to make it easier for developers to interact with an
EDD_Payment object. This allows queries to be cached, improving performance, while also handling situations in which a payment ID does not exist or isn’t found.
Easy Digital Downloads 2.7 has a good mix of new features, refinements, and performance enhancements. The
EDD_Cart class improvements, along with the refactored report queries, will improve site speed and loading times for both admins and customers on the frontend of the site.
The improved support for bundle products is really useful for selling product packages or providing upsells, as you can control which files are available in which option. I’m also a big fan of the ability to resume an order later, helping your customers to complete pending purchases right from the account section without additional assistance from a store employee.
Be sure to check out the new earnings reports and download the detailed CSV as well for some interesting insights into your store performance 🙂