Plugin Directory

Easy Digital Downloads

Sell digital downloads through WordPress with this complete digital downloads management plugin

2.4.9, October 14, 2015

  • Fix: Importing payments caused payments to be associated with customer of user doing the import
  • Fix: Corrected spelling for edd_customer_recent_purchases_actions hook

2.4.8, October 12, 2015

  • New: Added option to manually verify a user account from the customer details screen
  • New: Added support for searching customer records by user ID
  • New: Added improved error logging for email sending
  • Fix: Incorrect CSS animation property
  • Fix: Removed unused code in edd_get_purchase_link() function
  • Fix: Corrected spelling error in EDD_Stats class
  • Fix: New customers improperly created when logged-in user completed purchases with a different email
  • Fix: User verification process should not run on the very first purchase by a customer
  • Fix: edd_get_current_page_url() returns improper URL when WordPress is installed in sub folder
  • Tweak: Improved formatting of the welcome screen to match the styles of WordPress core

2.4.7, September 29, 2015

  • Tweak: Changed text domain from "edd" to "easy-digital-downloads"
  • Fix: User ID not properly set on customer record when user account is created
  • Fix: Earnings / sales graph reporting 0 stats for some days incorrectly

2.4.6, September 18, 2015

  • Fix: Bug in user verification process causing redirect loop when Purchase History page is not set
  • Fix: Warning: Missing argument 3 for edd_receipt_show_download_files()
  • Fix: Quick Edits on Downloads not always expanding the form
  • Fix: Occasional redirect loop caused by edd_enforced_ssl_redirect_handler()
  • Fix: Item quantity not properly added to cart when AJAX is disabled
  • Tweak: Fix extra parameter being provided in get sales by date

2.4.5, September 16, 2015

  • Fix: Bug with AJAX URL on checkout and mixed-content error messages for sites that use HTTPS on checkout but not in /wp-admin/

2.4.4, September 14, 2015

  • Fix: Incorrectly shown "Sorry, trouble retrieving payment receipt" error
  • Fix: Credit / debit cards with an expiration more than 10 years in the future cannot be used
  • Fix: Non-object notice on /edd-api/customers endpoint
  • Fix: Javascript error on category / tag quick edit screen
  • Fix: Not array PHP error on customer details screen when customer has purchases without any items
  • Fix: Cart item quantities cannnot be changed in HTML structure of cart items is changed
  • Fix: Purchase link shortcode attributes for "text" not working properly
  • Fix: Default price ID cannot be saved with ID of 0
  • Fix: New user notifications not working properly since WordPress 4.3
  • Fix: Incorrect URl returned by edd_get_current_page_url() in some instances
  • Tweak: Improved account creation process
  • Tweak: Introduced "pagination" parameter for downloads shortcode to disable pagination
  • Tweak: Introduced edd_protected_directory_allowed_filetypes filter
  • Tweak: Add $item to edd_receipt_show_download_files filter
  • Tweak: Better error reporting when batch export process fails

2.4.3, August 18, 2015

  • Tweak: Added new action hooks to the Sales Summary widget
  • Tweak: Added new action hook that fires when an item is removed from a payment record
  • Tweak: Updated logo on PDF reports
  • Tweak: Updated logo on welcome screen
  • Tweak: Improved order of operations when updating discount codes
  • Tweak: Amazon Payments Address widget is hidden on reload when a charge is declined
  • Tweak: Only show address widget for Amazon Payments when taxes are enabled
  • Tweak: Update Amazon Payment registration URLs for EU and DE
  • Tweak: Retrieve complete billing address from Amazon
  • Tweak: Updated language files
  • Fix: Profile editor missing P tag when user is logged out
  • Fix: Email headers should only be added if header text is set
  • Fix: Undefined index "plugin"
  • Fix: Sale log entries not deleted when purchase is refunded
  • Fix: Preset discount code logic tries to run when bulk deleting discount codes
  • Fix: Adding ?discount={code} to static home page URL causes blog page to be shown
  • Fix: Ensure we have a user before trying to get purchase history
  • Fix: Properly format decimals for HUF currency
  • Fix: Prevent fatal errors when entering invalid date in start/end date of payment history
  • Fix: Removed unused function edd_add_ons_init()
  • Fix: Prevent multiple batch processes from being started at the same time
  • Fix: Re-instantiate Chosen when cloning a repeatable row with a Chosen field
  • Fix: Variable typo in edd_is_admin_page()
  • Fix: Customer name not stored properly if three names are entered when purchasing through Amazon Payments
  • Fix: Sales report column fails does not work for guest customers
  • Fix: direct="true" does not work properly if price_id="1" is also set
  • Fix: Products without a title cannot be purchased through PayPal

2.4.2, July 13, 2015

  • Tweak: Allow filtering the ajax user search
  • Tweak: Send first_name and last_name to PayPal
  • Tweak: edd_filter_success_page_content() not run early enough
  • Tweak: URLs to remove fees and items should not be caught by caching
  • Tweak: Improve batch exporter extensibility
  • Tweak: Add ABSPATH check to Amazon gateway files
  • Fix: Multiple tax rates with same id in taxes settings
  • Fix: Clarified opt-in messaging
  • Fix: Microdata wrapper showing in sidebar
  • Fix: Excerpt missing from products API Endpoint
  • Fix: Customer search not working with name or email in API
  • Fix: Invalid markup on profile editor save
  • Fix: API Key fields caused fatal error when viewed in front end profile editors
  • Fix: Invalid 'for' attribute in username label for login shortcode
  • Fix: Correct edd_listen_for_failed_payments() sending post id, not WP_Post object
  • Fix: Fix tax state not saving when text field

2.4.1, July 2, 2015

  • Tweak: Updated Language Files
  • Fix: edd_get_gateway_admin_label() should use edd_get_payment_gateways()
  • Fix: Payment email in payments list table pulled from User Info, should be pulled from payment info
  • Fix: Manually added items to an order always get a price of $0.00
  • Fix: Improve Customer View CSS
  • Fix: Select Payment Method shown incorrectly when only one gateway is enabled
  • Fix: API Security Fix

2.4, June 30, 2015

  • New: Added support for Amazon Login and Pay
  • New: Added Earnings by Category report
  • New: Added batch processing to data export for handling large amounts of data
  • New: Added versioning to the REST API
  • New: Added a filter to disable redirect to checkout on per-download basis
  • New: Added method for extensions to pre-fill customer details on checkout
  • New: Added helper functions for verifying credit / debit card numbers
  • New: Added date range options to payment and file download history exports
  • New: Added options to control the text shown on Buy Now buttons
  • New: Added an action to the cart item title column
  • New: Added an action to the Actions column of the cart
  • New: Added standardized classes for error, notice, and alert messages
  • New: Added date_field() method to EDD_HTML_Elements class
  • New: Added filters for the From Address for admin sale notifications
  • Tweak: Improved performance of user validation in the REST API
  • Tweak: Improved edd_is_admin_page() helper function for detecting when on specific EDD admin pages
  • Tweak: Stylesheets are now registered before enqueueed
  • Tweak: Moved Test Mode option to the Payment Gateways tab
  • Tweak: Earnings and sales states now incremented while in Test Mode
  • Tweak: Download Details widget now properly respects taxonomy labels
  • Tweak: Improved customer count functions in the REST API
  • Tweak: Default gateway now shows as first gateway on checkout
  • Tweak: Purchase link shortcode now shown in the Download Settings meta box
  • Tweak: edd_recalculate_taxes() now includes a raw amount in the response
  • Tweak: Customer export is now standarized for all export options
  • Tweak: Sequential order numbers improved to protect against race conditions
  • Fix: Opt-in tracking accidentally enabled for all installs
  • Fix: Minor security flaw with gateway selection on checkout
  • Fix: Symlink file downloads option gets hidden after reload
  • Fix: Undefined index error with banned emails
  • Fix: Notices thrown when logging API requests
  • Fix: Customer email not updated when associated user account's email is updated
  • Fix: Incorrect for attribute on checkout's password field
  • Fix: edd_items_in_cart cookie disables cache improperly
  • Fix: API keys are difficult to select on mobile
  • Fix: Tools tab displays poorly on mobile
  • Fix: Buy Now buttons not properly setting item quantity through PayPal
  • Fix: December month data is plotted in January when viewing custom date range
  • Fix: Double error message when entering discount code that has already been used

2.3.9, May 25, 2015

  • Fix: Variable price assignment options get removed from download when deleting file row
  • Fix: Pagination container still shown when no pagination is needed
  • Fix: Airplane Mode load order can cause problems
  • Fix: Rewrites hard flushed during activation instead of soft flushed
  • Fix: Log records not recording post_date_gmt
  • Fix: Slashes not stripped from customer name in Customer Details view
  • Fix: "Apply to whole country" tax setting not saved on first save
  • Fix: Trashed downloads can be purchased with custom add to cart URLs
  • Tweak: Added filters to join and where clauses in edd_count_payments()
  • Tweak: Improved logic and flexibility for Products endpoint of the REST API

2.3.8, April 27, 2015

  • Fix: Customer stats incrementing with attaching payment to customer, if payment is already attached
  • Fix: edd_get_file_download_method called too late during download process
  • Update: Translations Updated
  • Tweak: Improvements to the EDD Extensions page
  • Tweak: Corrections and updates to readme.txt

2.3.7, April 20, 2015

  • Fix: XSS security flaw

2.3.6, April 8, 2015

  • Fix: Correct issue with non-day-by-day reporting calculating earnings & sales incorrectly
  • Fix: Payment Tax backwards compatibility not working correctly
  • Fix: Always set the data-price attribute, even when price is excluded from purchase button
  • Fix: Prevent New Download Draft by using explicit create method in EDD_Download
  • Fix: Hours/Minutes on Order Details truncating leading zeros
  • Tweak: Increase the Total Price and Tax input widths on order details

2.3.5, March 24, 2015

  • Fix: Make home_url consistently unslashed in token generation
  • Fix: Better checks in edd_get_payment_tax()
  • Tweak: Allow clearing of edd_doing_upgrade

2.3.4, March 20, 2015

  • Fix: Cannot add new tax rates
  • Fix: Airplane mode plugin v0.1.1 causes fatal error
  • Fix: Completed payments can sometimes be marked as abandoned improperly
  • Fix: Cart widget items not fully removed when clicking Remove
  • Fix: Incorrect price assignment for files when creating new Download products

2.3.3, March 18, 2015

  • Fix: Minor SQL injection issue in the Customers DB class
  • Fix: All purchase buttons for a product displayed on a page change to Checkout incorrectly when one is clicked
  • Fix: Customer dropdown on View Order Details improperly shows first customer in the list when no customer is attached
  • Fix: Mixed-content notice on the checkout page for sites with SSL
  • Fix: Incorrect price ID gets added to the cart when multiple purchase buttons are placed on the same page with the price_id parameter
  • Fix: Removed Yugoslavia from the country list since it is not a country anymore
  • Fix: Quantity field not shown on purchase buttons with the [purchase_link] short code
  • Tweak: Automatically disable buy now buttons when taxes are enabled since they do not support taxes
  • Tweak: Automatically disable the edd_test_ajax_works() test if the Airplane Mode plugin is enabled
  • Tweak: Updated translation files for many languages

2.3.2, March 14, 2015

  • Fix: Slow performance in admin area due to edd_test_ajax_works() function

2.3.1, March 13, 2015

  • Fix: File download limits not limiting the number of downloads allowed per payment
  • Fix: Microdata improperly added to page titles and content
  • Fix: Customer records cannot be deleted
  • Fix: Upgrade notices shown unnecessarily on new installs

2.3, March 11, 2015

  • New: Improved customer management interface
  • New: Added support for adding multiple prices IDs to the cart with a single add to cart command
  • New: Introduced edd_update_option() and edd_delete_option() functions
  • New: Payments that remain pending in PayPal will now record a reason in the Payment Notes section
  • New: Adding / removing Download products from payment records now properly updates sale and earnings stats
  • New: Introduced signed URLs for more secure file download links
  • New: Introduced {ip_address} email template tag
  • New: Introduced EDD_Customer class for interacting with customer records
  • New: Introduced WP CLI command to create sample customers
  • New: Introduced edd_purchase_form_user_info_fields hook
  • New: Introduced edd_purchase_form_user_register_fields hook
  • New: Introduced edd_download_after_thumbnail hook
  • New: Introduced edd_download_after_title hook
  • New: Introduced edd_download_after_content hook
  • New: Introduced edd_download_after_price hook
  • New: Introduced edd_before_purchase_history hook
  • New: Introduced edd_after_purchase_history hook
  • New: Introduced edd_email_show_links filter
  • New: Updated translation files for numerous languages
  • New: Introduced EDD_Notices class for handling admin notices
  • Tweak: Buy Now buttons should revert to Add to Cart if no compatible gateway is activated
  • Tweak: Improved PHPDoc for many existing functions and classes
  • Tweak: First input field in repeatable files / prices fields receive input focus when adding a new row
  • Tweak: Added line breaks to edd.css file in favor of single-line rules
  • Tweak: Improved performance of edd_get_users_purchases() by querying the customer table directly
  • Tweak: Dashboard sales / earnings widget is now loaded via Ajax to improve performance
  • Tweak: PayPal payments made through Buy Now buttons do not show up
  • Tweak: Removed the "You must have at least one file" alert when deleting file rows
  • Tweak: Improved text alignment in repeatable file / price rows
  • Tweak: Updated HTTP Protocal version in PayPal Standard gateway
  • Tweak: Improved support for Polylang plugin
  • Tweak: Improved standards throughout EDD for usage of edd_get_option()
  • Tweak: Added option to prevent empty settings in the rich_editor callback function
  • Tweak: Removed dependency on base64_encode/decode functions
  • Tweak: Notice now displayed NGINX users to alert them of missing protection for file downloads
  • Tweak: Improved quantity / price display for items in the cart widget
  • Tweak: Bundles should not be included in the product search when adding items to a bundle
  • Tweak: Improved earnings / sales stats tracking for products to avoid race conditions
  • Tweak: Improved performance for edd_get_sales_tax_for_year()
  • Fix: Yesterday view for reports and REST API fails when on the first day of the month
  • Fix: EDD_Download class missing default properties from WP_Post
  • Fix: Removed unused function calls in PDF reports and upgrade functions
  • Fix: Deprecated edd_get_cart_subtotal() function called with too many arguments
  • Fix: edd_get_cart_item_price() function called with too many arguments
  • Fix: edd_remove_item_url() function called with too many arguments
  • Fix: Improper start_date declaration in CLI class
  • Fix: Missing variable declaration in EDD_SL_Plugin_Updater class
  • Fix: Undefined variable $download in CLI clas
  • Fix: Rounding error when prices are inclusive of tax
  • Fix: Sale / Earnings stats improperly adjusted when Test Mode is enabled
  • Fix: Discount codes are validated improperly when the product requirements are not meant
  • Fix: CVC field allows more than 4 digits
  • Fix: In-browser receipt page is a mess on Twenty Fifteeen theme
  • Fix: exclude_categories and exclude_tags parameters not working properly in [downloads] short code
  • Fix: Cross-domain download files get corrupted on NGINX servers
  • Fix: Instantiating EDD_Payment_Stats without a date triggers an error
  • Fix: File size not displayed when download files
  • Fix: Undefined index notice in REST API
  • Fix: Missing Download ID check in the Sales Log table
  • Fix: Update successful messages are wrong when using bulk edit
  • Fix: Cart widget items do not show the proper quantity
  • Fix: Upgrade routine notices overwrite each other improperly
  • Fix: Not all schema metadata removed when schema is disabled
  • Fix: Incorrect schema markup
  • Fix: Taxes on checkout do not display the taxed amount of fees

2.2.8, February 13, 2015

  • Fix: Permissions error when accessing upgrades screen with DISALLOW_FILE_EDITS defined
  • Fix: Shop Accountants are unable to resend purchase receipts
  • Fix: PHP warnings on checkout when purchasing an "item" fee
  • Fix: Improper application of discount codes that do not have their product requirements meant
  • Fix: Buy Now buttons for free products result in error at PayPal.com
  • New: Translation file for Argentina Spanish
  • Tweak: Updated translation files for most languages

2.2.7, January 30, 2015

  • Fix: Prevent payment records with missing meta data from haulting the upgrade routine introduced in v2.2.6

2.2.6, January 29, 2015

  • Note: This release will ask you to perform an upgrade process on the payments database. It should take approximately 1.5 minutes for every 1000 payment records
  • Bug: Price ID improperly logged in the database, making customer export by price option impossible
  • Bug: WP_CONTENT_URL does necessarily respect HTTPS URLs causing some file downloads to fail

2.2.5, January 27, 2015

  • Bug: FORCE_SSL_LOGIN incorrectly makes checkout link HTTPS
  • Bug: Reports for 'This Month' forced to current year
  • Bug: Reverted CSV Seperator to , and escaped values
  • Bug: No downloads showing when using category parameter

2.2.4, January 24, 2015

  • New: Introduced edd_global_checkout_script_vars and edd_ajax_script_vars filters for localized javascript variables
  • Bug: Strict PHP Standards notice in EDD_Gateway_Error_Log class
  • Bug: Category parameter behaves incorrectly for the [downloads] short code
  • Bug: Select a Download placeholder on add discount screen saves improperly
  • Bug: EDD_Session leaks across sites in multisite installs
  • Bug: Incorrect spelling of Indian state names
  • Bug: Duplicate array key in country list

2.2.3, January 14, 2015

  • New: Added more hooks to the profile editor template files
  • New: Added more country state/provinces to the country dropdown field
  • New: Added a JSHint file for WP Coding Standards
  • Tweak: Use get_posts() instead of query_posts() in edd_get_*_by() functions
  • Tweak: Improved flexibility for EDD()->html->year_dropdown() to support larger year spans
  • Tweak: Added NZD currency symbol
  • Tweak: Improved support for Polylang plugin via edd_get_option() standardization
  • Tweak: Improved unit testing suite
  • Tweak: Updated numerous translation files
  • Bug: GMT date / time not properly set in date is specified when creating a payment record
  • Bug: Items purchased with quantities show incorrectly in sales log table
  • Bug: [downloads] pagination not working with default permalinks
  • Bug: AND relation acting as an OR relation in [downloads] short code
  • Bug: Cart widget items incorrect with variable prices
  • Bug: Custom date range reports do not work when crossing year boundaries
  • Bug: Yesterday report fails on January 1
  • Bug: Missing license declaration from Credit Card validation library
  • Bug: loading.gif file does not respect HTTPS
  • Bug: Copy Download Link(s) link displayed on non-complete purchases
  • Bug: Nested FORM tags on checkout after taxes are recalculated
  • Bug: get_the_ID() causing non-object error
  • Bug: Discount codes not applied if Apply button is not clicked
  • Bug: Default price ID cannot be selected on products created before version 2.2
  • Bug: edd_get_current_page_url() returns localhost in HHVM
  • Bug: Conflict with 404 Redirected plugin resulting in receipts not being displayed
  • Bug: Add to Cart button reappears on refresh with variable prices
  • Bug: Profile editor not properly validation user email address on save

2.2.2, December 14, 2014

  • Fix: Extension updates running on every page load of plugins.php when using multisite
  • Fix: edd_test_ajax_works() request firing on every page load
  • Fix: Incorrect price ID added to the cart when two purchase buttons are on the same page
  • Fix: Fatal error when using price_id in the purchase_link short code
  • Fix: Shopping cart squished in the Twenty Fifteen theme
  • Fix: Removed unused variables in edd_get_register_fields()
  • Fix: Incorrect quantity field displayed when a variable priced item with multi-purchase mode enabled is in the vart
  • Fix: Invalid HTML markup due to a missing space before a style tag
  • Fix: Improper behavior when deleting the last tax rate

2.2.1, December 10, 2014

  • Fix: Fatal error with some sites in the admin area due to an "ajax works" test
  • Fix: Improper user capability check for shop upgrades
  • Fix: Non-object errors on the in-browser receipt when an invalid payment key is provided
  • Fix: Security flaw related to API key verification
  • Fix: Undefined index for download quantity during add to cart
  • Tweak: Better option description in settings for item quantities

2.2, December 9, 2014

  • New: Transaction IDs can now be linked to the transaction details page in the payment processor (per gateway)
  • New: Added a WP CLI command for generating test purchase data
  • New: "price_id" parameter introduced for [purchase_link] short code to allow purchasing a single price option
  • New: Added support for variable prices to the [edd_price] short code
  • New: EDD_Download class to make interacting with Download products easier for theme and extension developers
  • New: edd_cart_item_tax_description filter
  • New: Purchase buttons can now display a quantity field
  • New: EDD_Fees API now supports per-product fees
  • Tweak: Improved the Tax settings tab
  • Tweak: Improved Scrutinizer configs
  • Tweak: Set the default number in [downloads] to 9
  • Tweak: Added network-activated plugins to the System Info
  • Tweak: Updated payment notes to use new type__not_in parameter available for comments
  • Tweak: Removed some calls to deprecated functions for PHP 5.4
  • Tweak: Improved the UI of the Product Drop Down
  • Tweak: Added a check for Flywheel hosting accounts
  • Tweak: Added "Ajax Works" status to the System Info
  • Tweak: Changed the insert text for "Insert into post" button
  • Tweak: Improved the layout of the View Order Details screen
  • Tweak: Only update dashboard summaries when the value has changed
  • Tweak: Added proper HTTP error codes to all instances of wp_die()
  • Tweak: Improved status and error reporting for extension license keys
  • Fix: Expiration dates on discount codes don't save properly if crossing year boundaries
  • Fix: Inaccurate total with flat rate discounts
  • Fix: Resending purchase receipts for bundles does not properly increment File Download limit
  • Fix: "All Downloads" filter enables all downloads even when vendor does not have permission to view them
  • Fix: edd_settings_sanitize does not respect all field type specific filters such as edd_settings_sanitize_$type
  • Fix: Payments show incorrect currency if the shop currency is changed after the purchase is made
  • Fix: Posts pagination breaks on front page if using a static home page
  • Fix: Item amounts in View Order Details not always respecting currency seperator
  • Fix: No default price option if the original price option is deleted
  • Fix: Tax column in the CSV export does not respect decimal formatting options
  • Fix: ".htaccess missing" error message shown to all users, not just admins
  • Fix: Item quantity boxes squashed on checkout with the Twenty Fourteen theme
  • Fix: Incorrect price option selected when price option is free
  • Fix: Downloads admin menu label blank when using Arabic
  • Fix: Flat rate discounts can cause item amounts to be negative
  • Fix: Link to mobile app in Payment History incorrect
  • Fix: Recalculation amounts in View Order Details can generate incorrect results
  • Fix: PHP notices from CREATE SQL passed to dbDelta()
  • Fix: Impropoer cart amounts when attempting to set a cart discount programmattically that does not exist
  • Fix: .zip files being downloaded without .zip extension due to file-download attribute
  • Fix: .card-type class not updated during .change() event

2.1.10, December 4, 2014

  • Fix: An important security flaw with discount codes

2.1.9, October 29, 2014

  • Fix: Extension update checks were running on every page load, causing significant performance problems

2.1.8, October 28, 2014

  • Fix: Incorrect item amounts displayed on the purchase confirmation page when prices are inclusive of tax
  • Fix: Discount Invalid error message getting erroneously displayed on checkout when using a preset discount code
  • Fix: Invalid CSS comment in minified admin CSS
  • Tweak: Updated language files

2.1.7, October 20, 2014

  • Fix: Incorrect currency code comparison in PayPal Standard

2.1.6, October 20, 2014

  • Fix: Do not allow item prices to go negative when using flat rate discounts
  • Fix: Pagination doesn't work on /edd-api/customers
  • Fix: Do not overwrite existing price IDs when adding, rearranging, and then re-adding price options
  • Fix: Compare PayPal currency to the currency in payment meta, not the overall store currency
  • Tweak: Improve the display of Download Notes on purchase receipts
  • Tweak: Add Today to the default response for /edd-api/stats
  • Tweak: Improve checkout CSS to allow some generic HTML elements

2.1.5, October 8, 2014

  • Fix: Flat rate discounts can result in negative amounts in PayPal, causing the purchase to be rejected
  • Fix: Cart items that are tax exclusive still display the tax rate
  • Fix: console.log() left erroneously in Heartbeat API integration
  • Fix: microdata tag was missing from the shortcode-content-price.php template
  • Fix: Plugin text domain loaded too early, needed to be done on plugins_loaded
  • Fix: Cart fees incorrectly attached to all cart items
  • Fix: edd_settings_sanitize filter returning incorrect value
  • Fix: HTML encoding issue with email subjects
  • Fix: Subtotal should be amount before discounts, not after
  • Fix: Incorrect item amount on the Sales log tag
  • Fix: Item quantities not displayed on email purchase receipts
  • Tweak: Introduced edd_email_tag_bundled_products filter
  • Tweak: Pass the payment ID to the edd_get_price_option_name function() calls
  • Tweak: Add the price ID to the edd_get_price_option_name filter
  • Tweak: Added the transaction ID to the sales endpoint for the REST API
  • Tweak: Display the Price ID on each row of variable prices
  • Tweak: Verify payment update was successful during edd_update_payment_details

2.1.4, September 22, 2014

  • Fix: New sale notification emails not sending for some users
  • Fix: direct="true" not working in the [purchase_link] short code
  • Fix: User meta for saved carts not properly cleaned out after a cart is restored
  • Fix: SQL errors related to WP Session garbage collection
  • Fix: API Request logs table showing log entries from other log types
  • Fix: Invalid payment meta data related to special characters in PayPal customer info

2.1.3, September 15, 2014

  • Fix: edd_has_user_purchased() returning true improperly
  • Fix: Pre-set discount URL parameter not working reliably
  • Fix: Duplicate checkout buttons showing up
  • Fix: First price option not checked by default
  • Fix: edd_record_sale_in_log() not respecting purchase date for imported sales
  • Fix: Undefined index notice in the cart widget
  • Fix: No file name displayed in download history when one isn't set
  • Fix: Corrected some strict SQL standards with the customer table creation SQL
  • Fix: Restored the .hentry class
  • Tweak: Modified the CSV Payments export to allow easier data manipulation

2.1.2, September 4, 2014

  • Fix: Tax calculation for items with quantities greater than 1
  • Fix: Incorrect amount at PayPal

2.1.1, September 4, 2014

  • Fix: Full image URL in Logo upload field in email settings not displaying
  • Fix: Fatal error with PHP Sessions for hosts with safe_mode enabled
  • Fix: Incorrect item price on checkout when taxes are enabled
  • Fix: Incorrect subtotal displayed on purchase receipt when taxes are enabled
  • Fix: Customer records not getting created due to SQL syntax error
  • Fix: Apostrophes in site name not being decoded in emails
  • Fix: card_state class not kept on select when when switching countries on checkout

2.1, September 3, 2014

  • 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

2.0.4, June 23, 2014

  • Fix: Problem with file download URLs when using the Redirect download method
  • Fix: Downloads cannot be removed from a payment in View Order Details
  • Fix: Erroneous "Cart needs one or more of the selected Downloads" error message
  • Fix: MySQL version not properly detected in System Info
  • Fix: Undefined variable in cart widget

  • Tweak: Added note about where to place language files in languages/readme.txt

  • Tweak: Added filters to export file names
  • Tweak: Enable author support by default on the Downloads post type
  • Tweak: Set $user to currently logged in user when validating a discount if no email or ID is supplied

2.0.3, June 19, 2014

  • Fix: Problem with incorrect gateway being assigned when a discount code was applied
  • Fix: Incorrect usage of "login" as a verb
  • Fix: Check if a user is deleted before retrieving user data in dashboard widget
  • Fix: Incorrect usage of esc_attr_e()
  • Fix: All submit buttons on checkout screen text updated when purchase is processing instead of just the submit purchase button
  • Fix: Fatal error in System Info when mysqli extension is not enabled

  • Tweak: Add link to the changelog on the welcome screen

  • Tweak: Show the currently logged-in user's name when previewing an email template

2.0.2, June 12, 2014

  • Fix: Error about selected gateway not being active when purchasing with a discount code
  • Fix: REST API not respecting sequential order numbers
  • Tweak: Added a class name to the Unlimited File Downloads checkbox in View Order Details

2.0.1, June 10, 2014

  • Fix: Clicking Update from the Download Edit screen sometimes sends admins to a 404 page
  • Fix: Accepted Payment Method icons do not load over https://
  • Fix: Chosen drop down widths not properly set
  • Fix: Payments erroneously marked as Failed
  • Fix: Double S in checkout URL when using the Enforce SSL on Checkout option
  • Fix: Undefined index while applying a discount code
  • Fix: Sequential order upgrade routine not properly running
  • Fix: Improper grammar

  • Tweak: Added cart subtotal / total to some AJAX responses

2.0, June 3, 2014

  • New: Added support for sequential order numbers
  • New: Added a new [edd_register] short code
  • New: Added an enforce SSL option
  • New: Added greatly improved discount code validation during checkout
  • New: Added a new API Keys list table in Downloads > Tools
  • New: Added support for making purchases with cart fees only
  • New: Added support for searching for specific payments via the REST API
  • New: Added a tabbed interface to the Tools page
  • New: Added an option to generate file download URLs from the View Order Details screen
  • New: Added JS events for all frontend cart / checkout actions
  • New: Added an "Apply" button to the checkout discount field
  • New: Added an Earnings / Sales Overtime export tool
  • New: Added support for searching payment records by transaction ID
  • New: Added a template file for the [edd_login]
  • New: Added support for Revisions to the Downloads post type
  • New: Added {discount_codes} template tag to purchase receipt emails
  • New: Added no-index, no-follow to checkout and account pages
  • New: Added options to control how the login / registration forms are displayed on checkout
  • New: Added support for passing a discount code to the checkout screen via a query arg
  • New: Added textarea support to the EDD_HTML_Elements class
  • New: Added support for exporting customers of a specific product and a specific price option
  • New: Introduced edd_get_*_by() functions for downloads and discounts
  • New: Introduced a edd_get_users_purchased_products() function
  • New: Introduced a edd_is_host() function

  • Tweak: Removed the "Update" cart button and added a background update process so amounts and quantities are updated automatically.

  • Tweak: Added billing address to payment history export
  • Tweak: Added average earnings / sales to the detailed earnings reports for products
  • Tweak: Added a link to the File Downloads log from View Order Details
  • Tweak: Added a "was_completed" meta flag for payment records
  • Tweak: Reversed some of the checkbox anti-patterns
  • Tweak: Added support showing all Download products in the [downloads] short code
  • Tweak: Log the reason a payment is marked as failed from PayPal
  • Tweak: Added a columns variable to the edd_download_class filter
  • Tweak: Added tax settings to the System Info
  • Tweak: Added improved hooks to the edd_shopping_cart() function
  • Tweak: Added a link to the product edit screens for each Download in the Purchased Downloads section of View Order Details
  • Tweak: Added $payment_id to the edd_view_order_details_form_top action
  • Tweak: Modified the way that the global file download limit affects individual file download limits
  • Tweak: Add support for identifying products in [purchase_link] by an SKU
  • Tweak: Added support for hiding the credit card form if a 100% discount code is redeemed
  • Tweak: Added support for moving the checkout cart to the bottom of the checkout screen
  • Tweak: Improved the Product Requirements section of the discount edit screen
  • Tweak: Improved the Amount field of the discount edit screen
  • Tweak: Added WP_LANG constant to the System Info
  • Tweak: Improved order history display for non-completed payments in the purchase history
  • Tweak: Removed unnecessary serialization of payment meta

  • Bug: Cart fees weren't properly taxed

  • Bug: JS error caused by error in the German translation
  • Bug: The File Download Limit field couldn't be left empty
  • Bug: Expiration dates were set improperly in WP_Session, resulting in the garbage collection not working
  • Bug: Payment method icons fail to load properly on Windows servers
  • Bug: Entering a currency sign in the price field results in an invalid amount on save
  • Bug: Incorrect data format passed to number_format()
  • Bug: edd_before_download_content action fired too early
  • Bug: Customer names longer than two words cannot be properly saved in payment meta
  • Bug: "Activate" button for discounts fails if a discount is expired
  • Bug: Country field during checkout wasn't actually required
  • Bug: Duplicate IDs when multiple purchase buttons for the same product are on the same page
  • Bug: Cart totals incorrect when redeeming multiple discounts
  • Bug: File download limits cannot be reset
  • Bug: File URLs and other fields in File Downloads secttions are not trimmed of whitespace
  • Bug: Currency signs improperly encoded in the email subject of purchase receipts
  • Bug: Improper decimal points in Dashboard Summary widget sale counts
  • Bug: State / province fields loaded in Taxes settings when not needed
  • Bug: Custom events not purged from WP Cron when EDD is deactivated
  • Bug: Dates for "Last Quarter" incorrect Custom reports
  • Bug: Filtering payment history by a guest user fails
  • Bug: EDD_Payments_Query cannot be instantiated multiple times
  • Bug: Spaces cannot be used for the thousands separator
  • Bug: Undefined index "state" in System Info
  • Bug: 400 bad request error during API calls
  • Bug: Improper behavior during extension license deactivation
  • Bug: Restored the Unlimited File Downloads option for payment records
  • Bug: API request logs not properly displayed
  • Bug: Duplicate label in View Order Details
  • Bug: Live credit card verification doesn't update the card type after initial check
  • Bug: Removed duplicate call to edd_get_payment_meta()
  • Bug: Removed duplicate comma in edd.css
  • Bug: Return value, not echo in metabox.php
  • Bug: View Order Details can be loaded for non-payment post types
  • Bug: Obsolete mfunc/mclude/dynamic-cached-content removed
  • Bug: Payment history cannot be sorted by date
  • Bug: Current view not properly displayed in the Logs table
  • Bug: Issuewith default payment gateway when no gateways are active May 6, 2014

  • Fix: Critical error with ajax actions May 6, 2014

  • Fix: Reverted a change in the ajax URL determination that caused some issues with HTTPS checkouts
  • Tweak: Added $payment_id to edd_payment_amount filter
  • Tweak: Added $payment_id to edd_view_order_details_form_top filter
  • Tweak: Removed nonces from ajax frontend requests

1.9.9: May 3, 2014

  • New: Added a JS trigger for when the cart quantity is updated
  • New: Added a CSS class name to the download file URL on purchase confirmation
  • New: Introduced an edd_is_success_page() function
  • New: Introduced a filter on the edd_get_variable_prices() function
  • New: Added Offer schema.org markup
  • New: Added edd_get_sales_args filter
  • New: Added edd_get_cart_content_details_item_discount_amount filter
  • New: Added edd_get_cart_item_tax_item_discount_amount filter

  • Tweak: Added $payment_id to the edd_email_receipt_download_title filter

  • Tweak: Added a break after the country select field on check

Requires: 3.9.2 or higher
Compatible up to: 4.4
Last Updated: 1 month ago
Active Installs: 40,000+


4.9 out of 5 stars


20 of 50 support threads in the last two months have been resolved.

Got something to say? Need help?



5 people say it works.
0 people say it's broken.

100,1,1 100,1,1 100,1,1 100,1,1 100,1,1
100,4,4 100,3,3 100,3,3 100,2,2 100,3,3 100,3,3 100,2,2 100,1,1
100,3,3 100,2,2 100,5,5 100,1,1 100,3,3 100,3,3 100,1,1 100,2,2 67,3,2 75,4,3 100,1,1 100,1,1 100,1,1 100,1,1 100,1,1 100,1,1 100,1,1 100,1,1 100,1,1 100,1,1 100,1,1 100,1,1
100,2,2 100,2,2 100,1,1 100,1,1 100,1,1 100,1,1 100,1,1 100,1,1 100,2,2 100,1,1 100,1,1 100,1,1 100,1,1 100,1,1 100,1,1 100,2,2 100,1,1 100,1,1 100,1,1 100,1,1 100,1,1 100,1,1
0,1,0 100,1,1 100,1,1 100,2,2 100,2,2 100,2,2 100,1,1 100,1,1 100,4,4 100,1,1 100,1,1 100,2,2 100,1,1 100,2,2 100,1,1 100,1,1 100,1,1
100,1,1 100,3,3 100,2,2 100,3,3 100,1,1 100,4,4 100,3,3 100,4,4 100,1,1 100,1,1 100,1,1 100,1,1 100,1,1 100,1,1 100,2,2
100,1,1 100,1,1 67,3,2 100,1,1 100,1,1 100,2,2 100,5,5 100,1,1 100,4,4 100,1,1 100,2,2 100,1,1 100,1,1 100,1,1
0,1,0 100,3,3 100,1,1 100,2,2 100,7,7 100,3,3 75,4,3 100,6,6 100,3,3 100,1,1 100,2,2 100,2,2 100,1,1 100,1,1 100,1,1
100,1,1 100,6,6 100,1,1 100,1,1 100,1,1 100,1,1
100,1,1 100,1,1 100,1,1
100,2,2 100,4,4 100,1,1 100,1,1 100,2,2 100,1,1 100,1,1
100,2,2 100,1,1 100,1,1
100,3,3 100,2,2 100,1,1 100,1,1 100,2,2 100,1,1 100,1,1
100,1,1 100,5,5 50,2,1 100,1,1 80,10,8 100,1,1
100,1,1 100,1,1
100,5,5 100,3,3 100,4,4 100,3,3 100,1,1 100,1,1 100,1,1 100,1,1 100,1,1
100,2,2 100,3,3 75,4,3 100,1,1 100,1,1
100,6,6 100,1,1 100,1,1 100,1,1
100,1,1 100,1,1 100,1,1 100,1,1 100,1,1 100,5,5 100,4,4 100,2,2 100,5,5 100,3,3 100,4,4 100,1,1 100,3,3 100,4,4 100,1,1 100,1,1 100,1,1 100,1,1
100,2,2 100,2,2 100,2,2 100,1,1 100,1,1 100,1,1 100,1,1 100,1,1 100,1,1
100,4,4 100,3,3 100,3,3 100,3,3 100,1,1 100,2,2 100,6,6 100,3,3 100,2,2 100,1,1 100,1,1
100,1,1 100,8,8 100,1,1 100,2,2 100,2,2 100,5,5 100,5,5 100,6,6 100,5,5 100,2,2 100,1,1
100,1,1 100,2,2
100,3,3 100,1,1 100,1,1 100,2,2
100,2,2 100,2,2 100,1,1 100,1,1
100,3,3 100,2,2 100,5,5 100,6,6 100,5,5 100,1,1 100,1,1
100,2,2 100,1,1 100,1,1 100,1,1
100,1,1 100,1,1 100,2,2 100,1,1 100,1,1 100,1,1
100,2,2 100,1,1 100,2,2 100,2,2
100,6,6 100,6,6 100,4,4 100,2,2 100,4,4 100,2,2
100,1,1 100,2,2 100,1,1 100,1,1 100,5,5 100,5,5 100,5,5 100,6,6 100,5,5