Setup & Configuration – Easy Digital Downloads Documentation https://easydigitaldownloads.com Sell Digital Products With WordPress Tue, 15 Jul 2025 19:42:29 +0000 en-US hourly 1 https://wordpress.org/?v=6.8.2 https://easydigitaldownloads.com/wp-content/uploads/2023/10/cropped-new-favicon-1-32x32.png Setup & Configuration – Easy Digital Downloads Documentation https://easydigitaldownloads.com 32 32 How to use EU VAT Exports https://easydigitaldownloads.com/docs/eu-vat-reports-exports/ Tue, 15 Jul 2025 19:42:22 +0000 https://easydigitaldownloads.com/?post_type=edd_doc&p=1822002 Important: This feature requires an active Easy Digital Downloads (Pro) license key and for the Easy Digital Downloads (Pro) plugin to be installed and activated. Don’t have Easy Digital Downloads (Pro)? Get it today! Easy Digital Downloads (Pro) includes a number of reports and export tools to make it easier for you to download the

The post How to use EU VAT Exports first appeared on Easy Digital Downloads.

]]>
Important: This feature requires an active Easy Digital Downloads (Pro) license key and for the Easy Digital Downloads (Pro) plugin to be installed and activated. Don’t have Easy Digital Downloads (Pro)? Get it today!

Easy Digital Downloads (Pro) includes a number of reports and export tools to make it easier for you to download the data necessary to submit your MOSS EU VAT returns. Before getting started, be sure that your site has the most up-to-date version of Easy Digital Downloads (Pro). If you need help getting started with Easy Digital Downloads and EU VAT, you can read our guide on how to set up EU VAT.

Note: The information in this article is not tax advice and is provided in order to help understand the tools available with Easy Digital Downloads to aid in your MOSS VAT return submissions. All information should be verified with a tax professional for accuracy for your business.

When do I have to submit my MOSS VAT returns by?

When collecting VAT from customers in the EU, it is generally suggested that you submit your VAT return by the 20th of the month following the end of each quarter. This means by the 20th of April, you would submit data for the period of January 1st through March 31st. It is also recommended to use the Mini-One-Stop-Shop (MOSS) system to handle submitting a single tax return and payment for the entire EU, as it allows you to register for a European VAT no matter your location.

Below we’ll provide you with multiple methods to export your MOSS VAT data from Easy Digital Downloads (Pro) to aide you in gathering the required information for these returns. These three methods are:

  • EU VAT Summary Export – This is the easiest option, and is best for when your store’s main currency is the same currency that you have set in the MOSS VAT return.
  • Third-Party Accounting Systems – If you are using a system like Xero, Sage, or QuickBooks, and have added the VAT collected from each country, use this method.
  • EDD Orders Export – If your store’s main currency is different from the currency used in the MOSS VAT return, and you aren’t using a 3rd party system, use this method.

EU VAT Summary Export

Easy Digital Downloads (Pro) provides a report that will summarize all VAT collected. This export will be provided in the same format that you will need when uploading/inserting in to your MOSS tax return, making it quick and easy for you to file your returns.

What does this report contain?

The EU VAT Summary report contains all the necessary information needed for your MOSS return, by country. This includes:

  • Country
  • Standard VAT Rate
  • Value of Items (Excluding VAT)
  • VAT

This CSV is formatted to match the same way that your MOSS VAT return asks for it, making your return quick and easy.

Exporting the EU VAT Summary

  1. Go to Downloads > Reports > Exports
  2. Scroll down to the Export EU VAT export.
  3. Select the Start and End Dates for the period that you are reporting for.
  4. Click Generate CSV.
  5. When the Export is done, a CSV file will be downloaded to your computer automatically.
  6. Open the CSV file using any spreadsheet software (Google Sheets, and Microsoft Excel work great).
  7. This spreadsheet will contain all the information you need to input into your MOSS VAT return, separated by country.

Important currency information

The EU VAT Summary Export is provided based on the Easy Digital Downloads store currency found at Downloads > Settings > General > Currency. If you use our Multi Currency plugin, no additional steps are needed, as all price information for each payment is saved in your store’s main currency.

If your store currency does not match the currency that you need to submit your MOSS VAT return in, then you should use a different method.

Tax collected in your own country

If you are located in the EU, then you may notice that the report does not include details of the tax collected for your own home country. This is intentional as the report generated is information you need for your EU VAT tax return, which should not contain tax collected in your home country. Tax collected in your home country should be submitted in your local tax returns.

Third-Party Accounting Systems

Many people use Easy Digital Downloads alongside an electronic accounting platform such as Xero, QuickBooks or Sage. If you add all your sales (including the tax collected and details of the customer’s country) to a separate system – either via manual import or by integrating your accounting system with EDD – then you can use this system to generate a report listing all the EU VAT that you collected during a specific period. You can use this report to create your quarterly MOSS return.

For instructions on how to generate MOSS VAT reports using this method, please consult the documentation for your chosen accounting system.

EDD Orders Export

You can use the Easy Digital Downloads orders export to get the information you need for the MOSS VAT return:

1.  Go to Downloads > Reports > Export.

2.  In the Export Orders tool, select the dates for the period for which you need to submit a tax return. Click the button to download the order records for ‘All statuses’.

3.  This will save a CSV file to your computer. Open it using any spreadsheet software (e.g. Excel, Numbers or Google Sheets).

4.  Reformat the spreadsheet as follows (for instructions on how to sort columns etc., please see the documentation for your spreadsheet software):

  • Delete all the columns apart from ‘Country Name’, ‘Amount’, ‘Tax’ and ‘Date’.
  • Sort the spreadsheet by the ‘Tax‘ column and remove all records where no VAT was paid, as you don’t need to report on these.
  • Sort the spreadsheet by the ‘Status’ column and delete any statuses that you don’t need to report on. For example, you should remove ‘refunded’, ‘abandoned’ (if you are using an abandoned cart plugin), ‘failed’, ‘cancelled’ etc. If you are using the Recurring Payments extension then you should keep all payments with the ‘complete’ and ‘edd\_subscription’ statuses because new sales and renewal payments should be included in your EU VAT tax return.
  • Next sort the spreadsheet by the ‘Country Name’ column.
  • If your company is based in the EU or UK – Delete any payments from customers in your own country, because you will be submitting a separate domestic tax return for this and don’t need to include it in your MOSS return. (For example, if you’re in the United Kingdom then you should remove any UK sales and submit this on your UK tax return instead.)
  • Insert a new row between the payments for each country.
  • Now use your mouse to highlight the ‘Tax’ column for all the payments relating to the first country in the table (e.g. Belgium).
  • If your store’s main currency is not Euros, then you should then look up the exchange rate published by the European Central Bank on the last reporting day of the VAT MOSS quarter (or if it’s a weekend, or bank holiday the next available day), and convert the totals for each country into Euros. This is essential because you must submit your MOSS return in Euros and not your base currency.

Use the SUM function to calculate the total price and VAT collected for that country. This is the information that you need to enter on the MOSS VAT return.

Frequently Asked Questions

What if a country’s VAT rate changed during the period covered by my return?

EU countries normally change their VAT rates at the end of a reporting period, so this is unlikely to happen. If it ever does happen, then the report will show the latest VAT rate if it has changed. The amounts collected will be correct, so long as you keep Easy Digital Downloads itself up to date.

If you have “Automatic VAT Rates” enabled, EDD will take care of updating tax rates automatically.

How do I download an EC Sales List?

In addition to the MOSS tax return, if you are in an EU country, then you may need to submit a list of all your sales where the VAT was reverse charged.

Easy Digital Downloads also includes an export for this purpose.

To create the report, go to Downloads > Reports > Export and find the Export EC Sales List report. You can then select the start and end date that you are reporting on, and download the data into a CSV file.

The report contains all the information that is required for the EC Sales List. You can open it using any spreadsheet software.

The post How to use EU VAT Exports first appeared on Easy Digital Downloads.

]]>
Migrating from the EU VAT Extension https://easydigitaldownloads.com/docs/migrating-from-eu-vat-extension/ Tue, 15 Jul 2025 19:42:13 +0000 https://easydigitaldownloads.com/?post_type=edd_doc&p=1821832 This guide will walk you through transitioning from the third-party Easy Digital Downloads – EU VAT plugin to the native VAT functionality now built into Easy Digital Downloads (EDD). The migration process is designed to be straightforward and seamless. Most importantly, all of your existing order data, including VAT information, will remain intact and unchanged.

The post Migrating from the EU VAT Extension first appeared on Easy Digital Downloads.

]]>

This guide will walk you through transitioning from the third-party Easy Digital Downloads – EU VAT plugin to the native VAT functionality now built into Easy Digital Downloads (EDD).

The migration process is designed to be straightforward and seamless. Most importantly, all of your existing order data, including VAT information, will remain intact and unchanged. While we have improved the data handling and validation, it is stored and displayed in a way to ensure you will not lose any historical records.

The first step to enabling the built-in EU VAT feature for Easy Digital Downloads, is to ensure you have updated to the latest Easy Digital Downloads plugin version.

Important: This feature requires an active Easy Digital Downloads (Pro) license key and for the Easy Digital Downloads (Pro) plugin to be installed and activated. Don’t have Easy Digital Downloads (Pro)? Get it today!

Switching to built-in EU VAT

Once you have updated, all you have to do is enable the setting, and Easy Digital Downloads handle the rest.

Navigate to Downloads > Settings > Taxes in your WordPress Dashboard

Now ensure you have the Enable Taxes setting toggled on, and you can then enable the EU VAT option at the bottom of the settings.

Note: The EU VAT feature in Easy Digital Downloads (Pro) is not enabled by default, in order to prevent any conflicts or customizations you may have with the Easy Digital Downloads – EU VAT extension. Easy Digital Downloads will not automatically switch your site over to our native EU VAT support without your explicit action to enable it.

That is it! Once you enable the Easy Digital Downloads VAT setting, Easy Digital Downloads – EU VAT plugin will be automatically deactivated to prevent any conflicts.

Key Changes and Improvements in EU VAT

While the transition to our built-in EU VAT feature is simple, we have added some additional time-saving features and improvements to streamline your experience.

Improved VAT Rate Management

To ensure a smooth transition, EDD will automatically import the rates you were using in the third-party plugin and register them as official tax rates within EDD. This means that all aspects of Easy Digital Downloads are natively aware of your VAT tax rates, including settings, reporting, and exports.

Note for advanced users and developers: If you were using the edd_vat_current_eu_vat_rates filter to modify rates, the migration process will respect your filtered values.

New Automatic Rate Updates

You can now enable Automatic Rates from the EU VAT settings screen. This adds a weekly task to your site that checks our VAT Rate API for the latest official EU tax rates. If a country’s rate has changed, EDD will update it for you automatically, ensuring you have the latest published rates.

We know keeping your tax rates updated is important and you should not have to wait for an update to Easy Digital Downloads (Pro) to get them, so we’ve made this feature available to all Easy Digital Downloads users, Lite and Pro, via our own VAT Rates API.

Note: This automatic process will not overwrite any tax rates that you have manually created. The Automatic VAT Rates feature is opt-in.

Simplified UK VAT Validation

VAT Number validation is now included automatically through our API. Not only does this simplify your store’s configuration, but helps ensure we can continue to ensure continued compatibility without the need for a plugin update.

Looking for more information about our EU VAT feature?
You can read more in our How to Set Up EU VAT article.

The post Migrating from the EU VAT Extension first appeared on Easy Digital Downloads.

]]>
How to Set Up EU VAT https://easydigitaldownloads.com/docs/eu-vat/ Tue, 08 Jul 2025 09:02:21 +0000 https://easydigitaldownloads.com/?post_type=edd_doc&p=1821807 Important: This feature requires an active Easy Digital Downloads (Pro) license key and for the Easy Digital Downloads (Pro) plugin to be installed and activated. Don’t have Easy Digital Downloads (Pro)? Get it today! Easy Digital Downloads supports EU VAT Tax and VAT Number validation without the need for any additional plugins of extensions. Before

The post How to Set Up EU VAT first appeared on Easy Digital Downloads.

]]>
Important: This feature requires an active Easy Digital Downloads (Pro) license key and for the Easy Digital Downloads (Pro) plugin to be installed and activated. Don’t have Easy Digital Downloads (Pro)? Get it today!

Easy Digital Downloads supports EU VAT Tax and VAT Number validation without the need for any additional plugins of extensions. Before you get started, ensure you have updated Easy Digital Downloads to the latest version. This guide will walk you through enabling EU VAT collection with Easy Digital Downloads, as well as configuring automatic VAT Tax rate updates, and VAT Number validation.

Enabling EU VAT

In order to enable EU VAT, you must first have the main Taxes enabled in EDD. Please navigate to the Downloads > Settings > Taxes page, then enable the Enable Taxes feature.

Once enabled, additional settings will show on this page, along with the EU VAT option at the bottom of the page. Enable the EU VAT setting and then click the Save Changes button.

Enabling the EU VAT feature in Easy Digital downloads.

Configuring EU VAT

Once EU VAT is enabled, a new sub-menu item called EU VAT will be visible, where you can finish configuring your store for EU VAT.

Where to find the EU VAT settings in Easy Digital Downloads.

Automatic Rates

Next, you’ll want to keep your tax rates up to date is important, so Easy Digital Downloads can regularly check for new published VAT Tax rates and register them with your store. The automatic VAT Tax rates are available to both Free and Pro users of Easy Digital Downloads.

When this feature is enabled, your store will check our custom API for the latest VAT Tax rates for countries. This feature is not enabled by default and is opt-in.

Automatically updating EU VAT Tax Rates with Easy Digital Downloads.

Once activated and you’ve saved your settings, Easy Digital Downloads will schedule a background task to retrieve the latest rates. Please allow a few minutes for those rates to be retrieved. You will see an admin notice that this process is scheduled.

Important Note: Should you disable this feature, you will be required to monitor and update your EU VAT Tax rates manually.

Order Details

Enabling this option will show the VAT information on the customer receipt page.

Reverse Charge in Home Country


By default, if your store is based in an EU member country, VAT will always be charged on sales to customers in your own country, even if they provide a valid EU VAT number.


This is because EU reverse charge rules do not apply to domestic transactions. In most EU countries, businesses are required to charge VAT on local sales, regardless of whether the customer is a consumer or a business.

If you’re located in an EU country that explicitly exempts domestic B2B sales from VAT when a valid VAT number is provided, you may enable this setting in Easy Digital Downloads. When enabled, VAT will be reverse-charged for domestic business customers, meaning they won’t be charged VAT at checkout—but they’ll be responsible for accounting for it themselves.

Enabling EU VAT Reverse Charges in Easy Digital Downloads.

⚠ Important: Only enable this option if your local tax authority allows domestic reverse charges for B2B transactions. Not all EU countries permit this. Please check with a tax professional to determine if you need this setting.

VAT Number Validation

Now that you are configured for collecting VAT Tax, you can ensure that your customers are supplying valid VAT Numbers at checkout with our validation feature. When required, a field will be shown at checkout for customers to enter their VAT Number and validate it before they complete their purchase.

Once you’ve activated your Easy Digital Downloads (Pro) license key, VAT Number validation at checkout is automatically handled for you!

Company Information

All the fields in this section will be displayed on the order details page(receipt) if you have enabled the ‘Order details’ setting above.

Country and Country of VAT Registration fields

Country – This defaults to the ‘Base Country’ selected in the general Easy Digital Downloads settings. You should change this if your store is NOT based in your base country.

Country of VAT registration – Use this field to select the country that issued your EU VAT number:

  • If you are registered for VAT in the country where you are actually based, select your actual country.
  • If you are registered for VAT in a different country (e.g., under the MOSS system) – Select ‘EU MOSS Number’.
Displaying your Company information, including EU VAT Number on the Easy Digital Downloads receipt.

If you are already using a 3rd Party Extension to add EU VAT Support
you learn about migrating to our built-in EU VAT feature.

The post How to Set Up EU VAT first appeared on Easy Digital Downloads.

]]>
Email Setup and Configuration https://easydigitaldownloads.com/docs/email-setup-and-configuration/ Thu, 11 Jul 2024 18:49:37 +0000 https://easydigitaldownloads.com/?post_type=edd_doc&p=1806140 Easy Digital Downloads has a settings area where you can customize all of the emails that are sent by your store. You can get to this page by going to your WordPress Dashboard > Downloads > Emails. The Email settings are divided into three sections, Emails, Settings, Email Reports and Logs. Emails not sending? Consult

The post Email Setup and Configuration first appeared on Easy Digital Downloads.

]]>
Easy Digital Downloads has a settings area where you can customize all of the emails that are sent by your store. You can get to this page by going to your WordPress Dashboard > Downloads > Emails.

The Email settings are divided into three sections, Emails, Settings, Email Reports and Logs.

Emails not sending? Consult our FAQ.

Emails

Any email that EDD sends can be managed from this page. Additionally, for any extension that sends emails, the email will appear here as well.

The table shows the following information:
Sender: Reports what plugin/extension is responsible for the email. EDD Core, WordPress, etc
Context: The context of the email is what triggers the email. For example, the Purchase Receipt is generated for a new Order.
Recipient: The recipient shows who the email is sent to. ie Customer, Admin, WordPress User
Subject: What the email subject is set to.
Updated: This is the last date and time the email was updated.
Status: Reports if the email is enabled or not and allows you to quickly enable or disable most emails. A lock icon indicates you cannot change the status. It’s either required or managed by another plugin, ie WordPress core settings.

Available Emails

There are the emails available to Easy Digital Downloads core plugin. Extension specific emails will be listed in the extension’s documentation. These emails can be edited but some do require specific tags to work proplery.

Purchase Receipt
Sent to customers after a successful order.

Admin Sale Notification
Email sent to the admin after a successful order.

Refund Issued
Email sent to customer when a refund is processed.

Admin Refund Notification
Email sent to the WordPress admin when a refund is processed. This is helpful for stores who have employees who are able to process refunds and want to be alerted when one is done.

New User Registration
This email is sent to a new user when their account is registered via EDD.

Admin New User Notification
This email is sent to the store admin when a new user is registered.

User Verification
This email is sent to a user when they need to verify their account. Important: The {verification_url} template tag must remain in this email. Do not delete it.

Password Reset
This email is sent by WordPress when a user requests a password reset from the EDD Login block.
Important: The {password_reset_link} template tag must remain in this email. Do not delete it.

Stripe Early Fraud Warning
Be alerted when an early fraud warning is detected by Stripe’s machine learning. Avoid disputes before they even happen by reviewing flagged orders to verify them.

Editing Emails

Click the email name to open the editor for the ability to edit the Subject, Heading and Message. Each email will show the default email which you can edit and customize for your specific needs. The Insert Tag button presents available tags for that specific email, clicking the tag will insert into the email.

Settings

Template: The default EDD template is used. You can also select plain text if you don’t want to send HTML receipts. Developers can create custom templates if desired.

Logo: Upload or choose a logo to be displayed at the top of sales receipt emails. Displayed on HTML emails only.

From Name: This should be your site or shop name. Defaults to Site Title if empty.

From Email: This will act as the “from” and “reply-to” addresses.

Admin Email Receipts: Leave blank to use the WordPress Admin email or enter the email address(es) that may receive admin notices. One per line.

Improve Email Deliverability: WP Mail SMTP allows you to easily set up WordPress to use a trusted provider to reliably send emails, including sales notifications.

Email Reports

Email Reports allow you to receive a weekly or monthly email of your store’s performance, showing you the Gross Revenue, Net Revenue, New Customers, Average Order amount and Top 5 Products by Revenue.

Email Frequency: Choose Weekly or Monthly.

Email Recipient: Defaults to the WordPress Administrator or select Custom Recipients to input one or more email addresses to send the report to.

Send Report Summaries: Enable to receive email summaries.

Here is an example of the information provided in the email report:

You can preview what the report will look like by clicking the Send Test Email button. The test email will contain sample data.

Logs

Emails sent by EDD will be logged here. This can be helpful in troubleshooting if customers are reporting they are not receiving emails. If it’s logged here, EDD has attempted to send it. If customers are not receiving emails, it could be your webserver is not sending them. See this guide for details.

The post Email Setup and Configuration first appeared on Easy Digital Downloads.

]]>
Payment Settings https://easydigitaldownloads.com/docs/payment-settings/ Tue, 14 Mar 2023 14:02:30 +0000 https://easydigitaldownloads.com/?post_type=edd_doc&p=1787540 The General Settings tab, located under Downloads > Settings > Payments, has these default sections; General, Checkout, Refunds, Accounting, PayPal, Invoices, Recurring Payments and Stripe. Additional Payment Gateways will appear if enabled. General Test Mode: While test mode is enabled, no live transactions are processed. Use test mode in conjunction with the sandbox/test account for the payment

The post Payment Settings first appeared on Easy Digital Downloads.

]]>
The General Settings tab, located under Downloads > Settings > Payments, has these default sections; General, Checkout, Refunds, Accounting, PayPal, Invoices, Recurring Payments and Stripe. Additional Payment Gateways will appear if enabled.

General

Test Mode: While test mode is enabled, no live transactions are processed. Use test mode in conjunction with the sandbox/test account for the payment gateways to test.

Active Gateways: Selected gateways will be available to customers on checkout.

Default Gateway: This gateway will be selected automatically on checkout.

Payment Method Icons: You can optionally show card icons on your checkout page.

Checkout

Enforce SSL on Checkout: Enable to redirect all customers to the secure checkout page. You must have an SSL certificate installed to use this option.

Redirect to Checkout: When enabled, once an item has been added to the cart, the customer will be redirected directly to your checkout page. This is useful for stores that sell single items.

Customer Registration: You may allow customers to place orders without a user account.
Setting this to auto will create a user account if one does not exist for a customer.
Dropdown options:
– Allow customers to place orders without an account: Customers will not be required to login or create a user account. If you display the registration fields on checkout, they will be optional, unless the customer is purchasing a subscription.
– Customers must log in or create an account to purchase: When this is selected, you’ll want to use the setting below to show Register and Login forms on checkout.
– Automatically register new user accounts: Registration fields will not appear on checkout and the customer will be automatically registered using their email address as their username. This was previously managed with the Auto Register extension.

Show Register / Login Form: Determine whether to display the registration and login forms on the checkout page for non-logged-in users.

Enable Cart Saving: Cart saving allows shoppers to create a temporary link to their current shopping cart so they can come back to it later, or share it with someone.

Banned Emails: Emails placed in the box above will not be allowed to make purchases. One per line, enter: email addresses, domains (@example.com), or TLDs (.gov).

Refunds

Default Status: Choose Refundable or Non-Refundable. This will be the store default for all products when they are created. It can be changed at a per-product level.

Refund Window: Number of days (after a sale) when refunds can be processed. Default is 30 days. Set to 0 for infinity. It can be changed at a per-product level.

Accounting

Enable SKU Entry: Check this box to allow entry of product SKUs in the Download Settings. SKUs will be shown on the purchase receipt and exported purchase histories.

Sequential Order Numbers: Check to enable sequential order numbers. Note: Enabling does not impact previous orders. Future orders will be sequential.

Sequential Starting Number: The number at which the sequence should begin.

Sequential Number Prefix: A prefix to prepend to all sequential order numbers.

Sequential Number Postfix: A postfix to append to all sequential order numbers.

PayPal

Click here to view PayPal settings.

Invoices

Click here to view Invoice settings.

Recurring Payments

Click here to view Recurring Payment settings.

Stripe

Click here to view Stripe settings.

Checkout Features

No settings exist for these checkout-related features but these are mentioned for documentation purposes.

Geolocation: EDD will attempt to populate the business address (City, State, Zipcode) based on the visitor’s IP address. If a customer is logged in and a primary address exists, the primary address will be used in place of the geolocation. This feature is only available for Easy Digital Downloads (Pro) users.

The post Payment Settings first appeared on Easy Digital Downloads.

]]>
Change Default Country for Billing Fields https://easydigitaldownloads.com/docs/change-default-country-for-billing-fields/ Mon, 24 Jan 2022 19:53:00 +0000 https://edd-site.lndo.site/docs/change-default-country-for-billing-fields/ Some payment gateways require that billing info, including country, be filled out. When using one of these gateways, you may want to change the country that is selected by default. This small code snippet will let you do that. The snippet should be added to a custom plugin or your theme’s functions.php file: add_action( 'init',

The post Change Default Country for Billing Fields first appeared on Easy Digital Downloads.

]]>
Some payment gateways require that billing info, including country, be filled out. When using one of these gateways, you may want to change the country that is selected by default. This small code snippet will let you do that.

The snippet should be added to a custom plugin or your theme’s functions.php file:

add_action( 'init', function() {
	if ( is_admin() && ! wp_doing_ajax() ) {
		return;
	}

	add_filter( 'edd_shop_country', function( $default ) {
		return 'US';
	} );
}, 5 );

The post Change Default Country for Billing Fields first appeared on Easy Digital Downloads.

]]>
Adding Author Support to Downloads https://easydigitaldownloads.com/docs/adding-author-support-to-downloads/ Mon, 24 Jan 2022 19:52:58 +0000 https://edd-site.lndo.site/docs/adding-author-support-to-downloads/ You can easily add support for author selection on your digital products by placing a simple function into your theme’s functions.php file, or any custom plugin file. function pw_edd_add_author_support($supports) { $supports[] = 'author'; return $supports; } add_filter('edd_download_supports', 'pw_edd_add_author_support');

The post Adding Author Support to Downloads first appeared on Easy Digital Downloads.

]]>
You can easily add support for author selection on your digital products by placing a simple function into your theme’s functions.php file, or any custom plugin file.

function pw_edd_add_author_support($supports) {
	$supports[] = 'author';
	return $supports;	
}
add_filter('edd_download_supports', 'pw_edd_add_author_support');

The post Adding Author Support to Downloads first appeared on Easy Digital Downloads.

]]>
Hiding Downloads from Search https://easydigitaldownloads.com/docs/hiding-downloads-from-search/ Mon, 24 Jan 2022 19:52:55 +0000 https://edd-site.lndo.site/docs/hiding-downloads-from-search/ You can exclude the downloads post type from search by adding this code snippet to your site specific plugin or functions.php: function pw_edd_hide_from_search( $args ) { $args['exclude_from_search'] = true; return $args; } add_filter( 'edd_download_post_type_args', 'pw_edd_hide_from_search' );

The post Hiding Downloads from Search first appeared on Easy Digital Downloads.

]]>
You can exclude the downloads post type from search by adding this code snippet to your site specific plugin or functions.php:

function pw_edd_hide_from_search( $args ) {
	$args['exclude_from_search'] = true;
	return $args;
}
add_filter( 'edd_download_post_type_args', 'pw_edd_hide_from_search' );

The post Hiding Downloads from Search first appeared on Easy Digital Downloads.

]]>
Adding Comments Support to Downloads https://easydigitaldownloads.com/docs/adding-comments-support-to-downloads/ Mon, 24 Jan 2022 19:52:53 +0000 https://edd-site.lndo.site/docs/adding-comments-support-to-downloads/ You can easily add support for comments on your digital products by placing a simple function into your theme’s functions.php file, or any custom plugin file. The best way to apply the code snippet to your site is to create a new custom plugin. To do that, install the free plugin called Pluginception, https://wordpress.org/plugins/pluginception/, and use

The post Adding Comments Support to Downloads first appeared on Easy Digital Downloads.

]]>
You can easily add support for comments on your digital products by placing a simple function into your theme’s functions.php file, or any custom plugin file.

The best way to apply the code snippet to your site is to create a new custom plugin. To do that, install the free plugin called Pluginception, https://wordpress.org/plugins/pluginception/, and use it to create a new custom plugin. Name the plugin something appropriate and then paste the provided code snippet into it and activate the plugin.

The post Adding Comments Support to Downloads first appeared on Easy Digital Downloads.

]]>
Multiple Discount Codes Per Purchase https://easydigitaldownloads.com/docs/multiple-discount-codes-per-purchase/ Mon, 24 Jan 2022 19:52:52 +0000 https://edd-site.lndo.site/docs/multiple-discount-codes-per-purchase/ Easy Digital Downloads gives you an option to allow customers to redeem multiple discount codes per purchase. This means that instead of just using one discount, customers can stack discounts and save more per purchase. This is great for special promotions. To enable multiple discounts, go to Downloads > Settings > Marketing > General and

The post Multiple Discount Codes Per Purchase first appeared on Easy Digital Downloads.

]]>
Easy Digital Downloads gives you an option to allow customers to redeem multiple discount codes per purchase. This means that instead of just using one discount, customers can stack discounts and save more per purchase. This is great for special promotions.

To enable multiple discounts, go to Downloads > Settings > Marketing > General and check the box that says “Multiple Discounts”:
Screen Shot 2013-07-21 at 2.37.33 PM

Customers will now be able to enter multiple discount codes at checkout. When a customer has redeemed multiple codes, they will be displayed like this:

The post Multiple Discount Codes Per Purchase first appeared on Easy Digital Downloads.

]]>
Change Global Download Labels https://easydigitaldownloads.com/docs/change-global-download-labels/ Mon, 24 Jan 2022 19:52:51 +0000 https://edd-site.lndo.site/docs/change-global-download-labels/ The global labels, Download and Downloads, used throughout Easy Digital Downloads are extremely easy to change. Just use the simple filter function shown below: function pw_edd_product_labels( $labels ) { $labels = array( 'singular' => __('Product', 'your-domain'), 'plural' => __('Products', 'your-domain') ); return $labels; } add_filter('edd_default_downloads_name', 'pw_edd_product_labels'); If you need complete control over each of the

The post Change Global Download Labels first appeared on Easy Digital Downloads.

]]>
The global labels, Download and Downloads, used throughout Easy Digital Downloads are extremely easy to change. Just use the simple filter function shown below:

function pw_edd_product_labels( $labels ) {
	$labels = array(
	   'singular' => __('Product', 'your-domain'),
	   'plural'   => __('Products', 'your-domain')
	);
	return $labels;
}
add_filter('edd_default_downloads_name', 'pw_edd_product_labels');

If you need complete control over each of the labels used for the custom post type, then read
this doc.

The post Change Global Download Labels first appeared on Easy Digital Downloads.

]]>
Modifying the Required Checkout Fields https://easydigitaldownloads.com/docs/modifying-the-required-checkout-fields/ Mon, 24 Jan 2022 19:52:39 +0000 https://edd-site.lndo.site/docs/modifying-the-required-checkout-fields/ During checkout there are several required fields based on the options displayed during checkout. The standard fields that are required are email and first name, though if registering an account, then username and password are also required. By default, the last name field is not required, but it can be easily made that way. You

The post Modifying the Required Checkout Fields first appeared on Easy Digital Downloads.

]]>
During checkout there are several required fields based on the options displayed during checkout. The standard fields that are required are email and first name, though if registering an account, then username and password are also required. By default, the last name field is not required, but it can be easily made that way. You can also set the first name to not be required.

This code snippet illustrates how to make the last name field required:

You can use the same technique to make any custom fields you have added required as well. The index key in $required_fields must match the field name sent to the server via the POST data.

You can also use this same technique to make default required fields not required, such as the first name field:

The post Modifying the Required Checkout Fields first appeared on Easy Digital Downloads.

]]>
Modify the Download Post Type Admin Labels https://easydigitaldownloads.com/docs/modify-the-download-post-type-admin-labels/ Mon, 24 Jan 2022 19:52:37 +0000 https://edd-site.lndo.site/docs/modify-the-download-post-type-admin-labels/ You can easily change the labels of the Downloads post type by placing a simple function in your theme’s functions.php, or any custom plugin. You might, for example, want to change “Downloads” to “Music”, or perhaps to “Products”. The example below changes Download(s) to Product(s):

The post Modify the Download Post Type Admin Labels first appeared on Easy Digital Downloads.

]]>
You can easily change the labels of the Downloads post type by placing a simple function in your theme’s functions.php, or any custom plugin. You might, for example, want to change “Downloads” to “Music”, or perhaps to “Products”.

The example below changes Download(s) to Product(s):

function set_download_labels($labels) {
    $labels = array(
        'name' => _x('Products', 'post type general name', 'your-domain'),
        'singular_name' => _x('Product', 'post type singular name', 'your-domain'),
        'add_new' => __('Add New', 'your-domain'),
        'add_new_item' => __('Add New Product', 'your-domain'),
        'edit_item' => __('Edit Product', 'your-domain'),
        'new_item' => __('New Product', 'your-domain'),
        'all_items' => __('All Products', 'your-domain'),
        'view_item' => __('View Product', 'your-domain'),
        'search_items' => __('Search Products', 'your-domain'),
        'not_found' =>  __('No Products found', 'your-domain'),
        'not_found_in_trash' => __('No Products found in Trash', 'your-domain'), 
        'parent_item_colon' => '',
        'menu_name' => __('Products', 'your-domain'),
        'featured_image'        => __( '%1$s Image', 'easy-digital-downloads' ),
        'set_featured_image'    => __( 'Set %1$s Image', 'easy-digital-downloads' ),
        'remove_featured_image' => __( 'Remove %1$s Image', 'easy-digital-downloads' ),
        'use_featured_image'    => __( 'Use as %1$s Image', 'easy-digital-downloads' ),
    );
    return $labels;
}
add_filter('edd_download_labels', 'set_download_labels');

The post Modify the Download Post Type Admin Labels first appeared on Easy Digital Downloads.

]]>
Allow customers on a subscription to have access to all products https://easydigitaldownloads.com/docs/allow-customers-on-a-subscription-to-have-access-to-all-products/ Mon, 24 Jan 2022 19:52:37 +0000 https://edd-site.lndo.site/docs/allow-customers-on-a-subscription-to-have-access-to-all-products/ Note: the best way to handle giving All Access is with the All Access extension for Easy Digital Downloads. Table of Contents Step 1 – Purchase the Recurring Payments extension Step 2 – Create the standard products Step 3 – Create the Bundled / Recurring product Step 4 – Require active subscription to download files

The post Allow customers on a subscription to have access to all products first appeared on Easy Digital Downloads.

]]>
Note: the best way to handle giving All Access is with the All Access extension for Easy Digital Downloads.

The Recurring Payments extension allows you to easily create products with recurring payment options so that customers of the product can signup for an on-going subscription. When creating these kind of products, it is very common to want to offer customers a way to purchase products on a one-off basis (standard) or to let them signup for a subscription and get unlimited access to all file downloads. With Recurring Payments, this is relatively simple to do.

Step 1 – Purchase the Recurring Payments extension

If you haven’t already, you will need to purchase the Recurring Payments extension. It starts at $83 for a single site, $163 for 2 – 5 sites, and $249 for unlimited sites. Once you have Recurring Payments downloaded and activated (see this doc if you are unsure how to activate an extension), move on to step 2.

Step 2 – Create the standard products

Our store will have two kinds of products:

  1. Standard – non-recurring products that customers can purchase on a one-off basis
  2. Recurring / Bundled – Recurring products that are setup as a bundle of the Standard products

A Standard product is created exactly like usual and the Creating Your First Download video gives a good overview of the options. Set the price and do not enable recurring:

Set the product type to Default:

Add your File Downloads:

These will be the files that customers get access to when they purchase this product one-off and when they subscribe to the Bundled product, which we will create shortly.

Repeat the process above for each of the standard products you will have available in your store.

Step 3 – Create the Bundled / Recurring product

Now we will create the subscription product that customers will subscribe to in order to gain access to all File Downloads attached to the standard products.Set the price and
do enable recurring:

You can set the Period, Times, and Signup Fee to anything you want. The most important part is that Recurring be set to Yes. Set the Product Type to “Bundle”:

When you set the Product Type to “Bundle”, the File Downloads section will go away and be replaced with a “Bundled Downloads” section. Add the standard products to the bundle:

The drop down menu will contain each of the products published in your store. Select the ones you want and click “Add New” to add additional products to the bundle. Each product you add here will be available to paid subscribers.

Step 4 – Require active subscription to download files

For this setup to work correctly, we need to ensure that customers can only download files included with the bundle so long as they have an active subscription. Once their subscription expires, their file download access will be revoked. To do this, go to Downloads → Settings → Extensions → Recurring Payment and check the box for “Limit File Downloads“:

Step 5 – Perform test purchase

Now it is time for you to test out everything you have done above. In order to test this properly you’ll need to use a PayPal Sandbox account.

Go to your store or product page where you have the bundled / recurring product listed and add it to your cart. Go through the checkout process and complete the purchase.

If you are using PayPal Standard, you will see a slightly different PayPal purchase screen

This page is normal so do not be concerned when it looks different than the standard PayPal purchase screen.After a successful signup, your purchase confirmation page should look something like this:

That’s it! You are done. You have now setup a complete system where customers can purchase products one-off or via a subscription.

The post Allow customers on a subscription to have access to all products first appeared on Easy Digital Downloads.

]]>
Modifying EDD .htaccess file rules https://easydigitaldownloads.com/docs/modifying-edd-htaccess-file-rules/ Mon, 24 Jan 2022 19:52:35 +0000 https://edd-site.lndo.site/docs/modifying-edd-htaccess-file-rules/ Easy Digital Downloads uses a .htaccess file (for Apache servers) to protect product download files. This file is placed in wp-content/uploads/edd/. The rules in the file will differ depending on your Download Method set in Downloads → Settings → Misc. If Download Method is set to Forced, the default .htaccess rules are: Options -Indexes deny

The post Modifying EDD .htaccess file rules first appeared on Easy Digital Downloads.

]]>
Easy Digital Downloads uses a .htaccess file (for Apache servers) to protect product download files. This file is placed in wp-content/uploads/edd/. The rules in the file will differ depending on your Download Method set in Downloads → Settings → Misc.

If Download Method is set to Forced, the default .htaccess rules are:

Options -Indexes
deny from all

 <filesmatch '.(jpg|png|gif|mp3|ogg) < pre>
  <p> If Download Method is set to Redirect, the rules are:</p>

  <pre>Options -Indexes

How to modify .htacess rules

Below are different options on modifying the .htaccess rules, either via a filter or using a WordPress plugin.

Note: EDD rewrites the .htaccess once a day so you cannot make changes directly to the .htaccess file itself, otherwise those changes will get overwritten.

1. Update rules using a the edd_protected_directory_htaccess_rules filter:

These rules can be changed using the edd_protected_directory_htaccess_rules filter. For example, if you want to block direct access to .mp3 files (by default they are allowed), you can use this:

<?php
function edd_custom_modify_htaccess_rules( $rules, $method ) {
	switch( $method ) :
		case 'redirect' :
			// Prevent directory browsing
			$rules = "Options -Indexes";
			break;
		case 'direct' :
		default :
			// Prevent directory browsing and direct access to all files, except images (they must be allowed for featured images / thumbnails)
			$rules = "Options -Indexes\n";
			$rules .= "deny from all\n";
			$rules .= "<FilesMatch '\.(jpg|png|gif|ogg)$'>\n";
			    $rules .= "Order Allow,Deny\n";
			    $rules .= "Allow from all\n";
			$rules .= "</FilesMatch>\n";
			break;

	endswitch;

	return $rules;
}
add_filter( 'edd_protected_directory_htaccess_rules', 'edd_custom_modify_htaccess_rules', 10, 2 );

In order for the changes to take effect, you can wait 24 hours or, go to Downloads > Settings > Misc, change the Download Method to a different value and click “Save Changes”. This will force the .htaccess file to be updated. Make sure to change the Download Method back to the previous value and hit Save Changes again.

Emptying .htaccess

If you need to get rid of everything, including

Options -Indexes

then you can use a function similar to above, but with nothing in it. Example:

<?php
function edd_custom_modify_htaccess_rules( $rules, $method ) {
	$rules = "";

	return $rules;
}
add_filter( 'edd_protected_directory_htaccess_rules', 'edd_custom_modify_htaccess_rules', 10, 2 );

📢 Pro Tip: Need help adding code snippets to your site? We recommend using WPCode, the best WordPress snippets plugin. With features like a built in library of snippets and integrated error handling, you can customize your site with confidence.

The post Modifying EDD .htaccess file rules first appeared on Easy Digital Downloads.

]]>
Adding Currency Support: edd_currencies https://easydigitaldownloads.com/docs/adding-currency-support-edd_currencies/ Mon, 24 Jan 2022 19:52:33 +0000 https://edd-site.lndo.site/docs/adding-currency-support-edd_currencies/ The “edd_currencies” filter allows you to easily add support for your own additional currencies to Easy Digital Downloads.  Let’s say, for example, that you want to add support for the Indian Rupee (already supported, so this is only an example). The sample function below would add the support: function pippin_extra_edd_currencies( $currencies ) { $currencies['INR'] =

The post Adding Currency Support: edd_currencies first appeared on Easy Digital Downloads.

]]>
The “edd_currencies” filter allows you to easily add support for your own additional currencies to Easy Digital Downloads. 

Let’s say, for example, that you want to add support for the Indian Rupee (already supported, so this is only an example). The sample function below would add the support:

function pippin_extra_edd_currencies( $currencies ) {
	$currencies['INR'] = __('Indian Rupee', 'your_domain');
	return $currencies;
}
add_filter('edd_currencies', 'pippin_extra_edd_currencies');

The array key is the currency code and the value is the currency label.

Note: It is important that you know that not all payment gateways support all currencies. Check to make sure that your chosen gateway supports the currency you wish to use before launching your store. Once added, test a purchase to confirm the gateway uses the correct currency.

If you wish to use a different symbol for a custom currency then you need to set that in a filter using the example below:

add_filter( 'edd_inr_currency_filter_before', function( $formatted, $currency, $price ) {
	return '$ ' . $price; 
}, 10, 3 );

In this example we will be using the $ symbol for the INR currency. Notice that the filter we used is “edd_inr_currency_filter_before”. For a different currency you will need to adjust the “inr” to match the new currency you are adding.

If your currency symbol is set to be displayed after the amount then the filter will be “edd_inr_currency_filter_after”.

Currency codes may also be added without using any code through
this plugin.

FAQs

Why isn’t my currency listed?

Before we can add support for a new currency, it needs to be supported by all gateways. This is to prevent payment failures or unexpected fees. If you would like to request that a currency gets added to Easy Digital Downloads, please contact
support

The post Adding Currency Support: edd_currencies first appeared on Easy Digital Downloads.

]]>
The Plugin Pages https://easydigitaldownloads.com/docs/the-plugin-pages/ Mon, 24 Jan 2022 19:52:30 +0000 https://edd-site.lndo.site/docs/the-plugin-pages/ Upon activation, Easy Digital Downloads automatically creates various pages that are necessary for a functional checkout flow. You can find these pages under Downloads > Settings > General > Pages. By default, the pages are created using the blocks available in EDD if you are using the default WordPress editor. For some pages, an alternative

The post The Plugin Pages first appeared on Easy Digital Downloads.

]]>
Upon activation, Easy Digital Downloads automatically creates various pages that are necessary for a functional checkout flow. You can find these pages under Downloads > Settings > General > Pages.

By default, the pages are created using the blocks available in EDD if you are using the default WordPress editor. For some pages, an alternative shortcode is available. It is recommended to use the Blocks when available.

The required plugin pages are as follows:

Checkout

The Checkout page contains the EDD Checkout block and is where buyers will complete their purchases. [download_checkout] shortcode can be used as an alternative.

Confirmation

The Confirmation page contains the EDD Confirmation block and is used to display a summary of the order. This page is where the customer is sent from the Checkout page when the order is completed and works alongside the Receipt page.

Receipt

The Receipt page contains the EDD Receipt block and is the page to show a detailed receipt for an order. [edd_receipt] shortcode can be used as an alternative.

Order History

The Order History page contains the EDD Order History block and shows a complete order history for the currently logged-in user, including download links. You can name this page anything you wish such as “Account”, “Profile”, etc. [purchase_history] shortcode can be used as an alternative.

A more detailed guide on creating an account area page is available here.

I can’t find one or more of my Plugin Pages; what do I do to get them back?
If you create your own pages, you will need to make sure they contain their relative block or shortcode(s) as noted above.

If you are using the default pages, but one or more are missing, first check your WordPress pages Trash section to see if they were perhaps deleted. If this is the case, you can “restore” the page. If any of the pages were permanently deleted, you can simply re-create them following the configuration mentioned above.

Please make sure that the Pages, if recreated, are correctly configured inside EDD’s settings under Downloads > Settings > General > Pages.

The post The Plugin Pages first appeared on Easy Digital Downloads.

]]>
Custom Checkout Fields https://easydigitaldownloads.com/docs/custom-checkout-fields/ Mon, 24 Jan 2022 19:52:28 +0000 https://edd-site.lndo.site/docs/custom-checkout-fields/ Adding custom fields to the checkout form is easy to do with just a couple of functions. The code below will allow you to add two additional fields, one for Phone and one for Company. Note: we have built in settings to customize checkout address fields and arrange them however you like. Alternatively, we also

The post Custom Checkout Fields first appeared on Easy Digital Downloads.

]]>
Adding custom fields to the checkout form is easy to do with just a couple of functions. The code below will allow you to add two additional fields, one for Phone and one for Company.

Note: we have built in settings to customize checkout address fields and arrange them however you like. Alternatively, we also have an official extension that allows you to create custom checkout fields. View Checkout Fields Manager extension.

The code below adds a Phone Number field to the checkout form.

<?php
/**
 * Adding a custom field to the checkout screen
 *
 * Covers:
 *
 * Adding a phone number field to the checkout
 * Making the phone number field required
 * Setting an error when the phone number field is not filled out
 * Storing the phone number into the payment meta
 * Adding the customer's phone number to the "view order details" screen
 * Adding a new {phone} email tag so you can display the phone number in the email notifications (standard purchase receipt or admin notification)
 */

/**
 * Display phone number field at checkout
 * Add more here if you need to
 */
function sumobi_edd_display_checkout_fields() {
?>
    <p id="edd-phone-wrap">
        <label class="edd-label" for="edd-phone">
		<?php esc_html_e( 'Phone Number', 'easy-digital-downloads' ); ?>
		<?php if ( edd_field_is_required( 'edd_phone' ) ) : ?>
			<span class="edd-required-indicator">*</span>
		<?php endif; ?>
		</label>
        <span class="edd-description" id="edd-phone-description"><?php esc_html_e( 'Enter your phone number so we can get in touch with you.', 'easy-digital-downloads' ); ?></span>
        <input class="edd_phone edd-input<?php if ( edd_field_is_required( 'edd_phone' ) ) { echo ' required'; } ?>" type="text" name="edd_phone" id="edd-phone" placeholder="<?php _e( 'Phone Number', 'easy-digital-downloads' ); ?>">
    </p>
 <?php
}
add_action( 'edd_purchase_form_user_info_fields', 'sumobi_edd_display_checkout_fields' );

/**
 * Make phone number required
 * Add more required fields here if you need to
 */
function sumobi_edd_required_checkout_fields( $required_fields ) {
    $required_fields['edd_phone'] = array(
        'error_id' => 'invalid_phone',
        'error_message' => 'Please enter a valid Phone number'
    );

    return $required_fields;
}
add_filter( 'edd_purchase_form_required_fields', 'sumobi_edd_required_checkout_fields' );

/**
 * Set error if phone number field is empty
 * You can do additional error checking here if required
 */
function sumobi_edd_validate_checkout_fields( $valid_data, $data ) {
    if ( empty( $data['edd_phone'] ) ) {
        edd_set_error( 'invalid_phone', 'Please enter your phone number.' );
    }
}
add_action( 'edd_checkout_error_checks', 'sumobi_edd_validate_checkout_fields', 10, 2 );

/**
 * Store the custom field data into EDD's order mtea
 */
function sumobi_edd_store_custom_fields( $order_id, $order_data ) {

	if ( 0 !== did_action('edd_pre_process_purchase') ) {
		$phone = isset( $_POST['edd_phone'] ) ? sanitize_text_field( $_POST['edd_phone'] ) : '';
		edd_add_order_meta( $order_id, 'phone', $phone );
	}

}
add_action( 'edd_built_order', 'sumobi_edd_store_custom_fields', 10, 2 );

/**
 * Add the phone number to the "View Order Details" page
 */
function sumobi_edd_view_order_details( $order_id ) {
	$phone = edd_get_order_meta( $order_id, 'phone', true );
?>
	<div class="column-container">
		<div class="column">
			<strong>Phone: </strong>
			<?php echo $phone; ?>
		</div>
	</div>
 <?php
}
add_action( 'edd_payment_view_details', 'sumobi_edd_view_order_details', 10, 1 );

/**
 * Add a {phone} tag for use in either the purchase receipt email or admin notification emails
 */
function sumobi_edd_add_email_tag() {

	edd_add_email_tag( 'phone', 'Customer\'s phone number', 'sumobi_edd_email_tag_phone' );
}
add_action( 'edd_add_email_tags', 'sumobi_edd_add_email_tag' );

/**
 * The {phone} email tag
 */
function sumobi_edd_email_tag_phone( $payment_id ) {
	$phone = edd_get_order_meta( $payment_id, 'phone', true );
	return $phone;
}

The checkout form will then look similar to this:

And then when looking at the transaction under Downloads Payment History you’ll see a meta box similar to this:

This code is simply meant as an example and can be tweaked however you wish to add even more fields.

To add this code example to your site, we recommend using

Pluginception to create a new custom plugin and paste the code into the new plugin.

The post Custom Checkout Fields first appeared on Easy Digital Downloads.

]]>
Spider Cache https://easydigitaldownloads.com/docs/spider-cache/ Mon, 24 Jan 2022 19:52:17 +0000 https://edd-site.lndo.site/docs/spider-cache/ There are no known conflicts between Spider Cache and Easy Digital Downloads. Spider Cache has undergone extensive testing with Easy Digital Downloads, conducted by the Spider Cache lead developer.

The post Spider Cache first appeared on Easy Digital Downloads.

]]>
There are no known conflicts between Spider Cache and Easy Digital Downloads. Spider Cache has undergone extensive testing with Easy Digital Downloads, conducted by the Spider Cache lead developer.

The post Spider Cache first appeared on Easy Digital Downloads.

]]>
Will Easy Digital Downloads work on WordPress.com? https://easydigitaldownloads.com/docs/does-easy-digital-downloads-work-on-wordpress-com/ Mon, 24 Jan 2022 19:52:16 +0000 https://edd-site.lndo.site/docs/does-easy-digital-downloads-work-on-wordpress-com/ Yes, you can use Easy Digital Downloads on WordPress.com if you have the WordPress Pro plan.

The post Will Easy Digital Downloads work on WordPress.com? first appeared on Easy Digital Downloads.

]]>
Yes, you can use Easy Digital Downloads on WordPress.com if you have the WordPress Pro plan.

The post Will Easy Digital Downloads work on WordPress.com? first appeared on Easy Digital Downloads.

]]>
Does Easy Digital Downloads Work With LearnDash? https://easydigitaldownloads.com/docs/does-easy-digital-downloads-work-with-learndash/ Mon, 24 Jan 2022 19:52:15 +0000 https://edd-site.lndo.site/docs/does-easy-digital-downloads-work-with-learndash/ Yes! Easy Digital Downloads works well with LearnDash free of charge.   Read our blog post about Easy Digital Downloads and LearnDash.

The post Does Easy Digital Downloads Work With LearnDash? first appeared on Easy Digital Downloads.

]]>
Yes! Easy Digital Downloads works well with LearnDash free of charge.  
Read our blog post about Easy Digital Downloads and LearnDash.

The post Does Easy Digital Downloads Work With LearnDash? first appeared on Easy Digital Downloads.

]]>
Hyper Cache Configuration https://easydigitaldownloads.com/docs/hyper-cache-configuration/ Mon, 24 Jan 2022 19:52:13 +0000 https://edd-site.lndo.site/docs/hyper-cache-configuration/ Hyper Cache plugin works just fine with EDD, even on Multisite, if you add these URIs to the  Hyper Cache Options -> Filters section -> URI to reject: /downloads /downloads/ /checkout /checkout/ /purchase-confirmation /purchase-confirmation/ Variation: If you change the default pages for options 2, 3, and 4 in Downloads -> Settings -> General, then edit the URIs above to reflect

The post Hyper Cache Configuration first appeared on Easy Digital Downloads.

]]>
Hyper Cache plugin works just fine with EDD, even on Multisite, if you add these URIs to the 
Hyper Cache Options -> Filters section -> URI to reject:

/downloads
/downloads/
/checkout
/checkout/
/purchase-confirmation
/purchase-confirmation/

Variation: If you change the default pages for options 2, 3, and 4 in Downloads -> Settings -> General, then edit the URIs above to reflect that.

The post Hyper Cache Configuration first appeared on Easy Digital Downloads.

]]>
WP Super Cache https://easydigitaldownloads.com/docs/wp-super-cache/ Mon, 24 Jan 2022 19:52:03 +0000 https://edd-site.lndo.site/docs/wp-super-cache/ WP Super Cache is one of the most popular caching plugins available. It is fully compatible with Easy Digital Downloads, though if you wish to use it, there are a couple of configuration options you must enable in order for it to work fully. Once WP Super Cache is activated, go to Settings > WP

The post WP Super Cache first appeared on Easy Digital Downloads.

]]>
WP Super Cache is one of the most popular caching plugins available. It is fully compatible with Easy Digital Downloads, though if you wish to use it, there are a couple of configuration options you must enable in order for it to work fully.

Once WP Super Cache is activated, go to Settings > WP Super Cache and then click on the Advanced tab. In the Miscellaneous section, there are two options that should be checked:

  1. Don’t cache pages for known users. (Recommended) – This is primarily for logged-in users.
  2. Don’t cache pages with GET parameters. (?x=y at the end of a url) – This will ensure that the checkout page and cart widgets work as expected.
  3. Since WP Super Cache v1.3.1 – Dynamic cached content – This must be enabled in the Advanced Settings section.
  4. Add /checkout/ to Rejected URIs option.

You can see a screenshot of the settings below:

Rejected URIs example:

The post WP Super Cache first appeared on Easy Digital Downloads.

]]>
Configuring Cache for Easy Digital Downloads https://easydigitaldownloads.com/docs/configure-cache/ Mon, 24 Jan 2022 19:52:00 +0000 https://edd-site.lndo.site/docs/wp-fastest-cache/ Caching plugins and services are designed to help ensure your site responds as quickly as possible. We understand that a fast store converts better than a slow store. We’ve worked with multiple caching solutions to write up guides on how to configure their plugin or services to work best with Easy Digital Downloads. Cloudflare Easy

The post Configuring Cache for Easy Digital Downloads first appeared on Easy Digital Downloads.

]]>
Caching plugins and services are designed to help ensure your site responds as quickly as possible. We understand that a fast store converts better than a slow store. We’ve worked with multiple caching solutions to write up guides on how to configure their plugin or services to work best with Easy Digital Downloads.

Cloudflare

Easy Digital Downloads works with Cloudfalre’s services, however, there are some settings and suggestions we have. You can view our extensive Cloudflare documentation to ensure your store works with this service.

WP Super Cache

WP Super Cache is one of the most popular caching plugins available. It is fully compatible with Easy Digital Downloads, though if you wish to use it, there are a couple of configuration options you must enable in order for it to work fully.

Once WP Super Cache is activated, go to Settings > WP Super Cache and then click on the Advanced tab. In the Miscellaneous section, there are two options that should be checked:

  1. Don’t cache pages for known users. (Recommended) – This is primarily for logged-in users.
  2. Don’t cache pages with GET parameters. (?x=y at the end of a url) – This will ensure that the checkout page and cart widgets work as expected.
  3. Since WP Super Cache v1.3.1 – Dynamic cached content – This must be enabled in the Advanced Settings section.
  4. Add /checkout/ to Rejected URIs option.

You can see a screenshot of the settings below:

Rejected URIs example:

WP Fastest Cache

In order to use WP Fastest Cache with Easy Digital Downloads, there are quite a few settings to change. This is a basic list of the settings that need to be configured.

Settings

Logged-in Users: Enabled. This
Preload: Disabled
New Post: Enabled
Updated Post: Enabled
Combine Js: Disabled. This setting frequently causes the JavaScript from EDD to be malformed when updates are made, sometimes causing checkout and adding to cart to fail.

If you are using the Free Downloads Extension, please enable the ‘Mobile’ checkbox, as this will prevent your mobile users from being shown the desktop version of the free downloads form.

Exclude

Add rules to the Exclude section for:

Exclude Pages:

Your checkout page. By default this is `checkout`

Purchase Confirmation page. By default, these URLs contain the `purchase-confirmation` slug.

Note: If you have renamed the default checkout, purchase confirmation, or purchase history pages, you’ll need to use their page URLs here instead of the defaults.

Exclude Cookies:

In order for EDD’s cart to wor,k you’ll need to exclude the `edd_items_in_cart` cookie.

To make sure that cart errors are not cached, exclude the cookie `edd_cart_messages`

Once a purchase is complete, make sure the purchase confirmation isn’t cached by excluding the `edd_purchase` cookie.

If your site uses fees in any way, exclude the `edd_cart_fees` cookie.

In order to support cart recovery, exclude the `edd_resume_payment` cookie.

Make sure the cart itself isn’t cached by excluding the `edd_cart` cookie.

If you are using discounts, be sure to exclude the `cart_discounts` and `preset_discount` cookies.

Exclude JS:

To make sure that the JavaScript file for EDD’s Checkout is always the most up-to-date, you’ll want to exclude it from the cache. Not excluding could prevent your site from allowing customers to checkout when EDD is updated.

If you continue to have issues with WP Fastest Cache with these settings, please reach out to the WP Fastest Cache support team directly at https://www.wpfastestcache.com/contact-us/

WP Engine

If you are hosting your website with WP Engine, you can add Custom Cache Exclusions using your administration panel.

WP Engine provides a documentation article https://wpengine.com/support/cache/#Custom_Cache_Exclusions on how to exclude items from the cache.

In some cases when passing the “discount” parameter in the URL, the discount code is not being added to the Checkout page once the customer reaches it. For that to work, you need to add the “discount” argument as an exclusion, following the steps listed in the article above.

It would need to be added in the format: arg: discount=

Following the same example, you can add other arguments for being excluded from their caching.

Kinsta

For users hosting with Kinsta, it is possible that the Checkout page session data to be cached. The way to fix it is from your hosting account Tools panel by enabling “Remove Set-Cookie headers”.

Cloudways

The Cloudways Breeze plugin for WordPress allows you to exclude certain pages from Caching.

In the Never Cache URL(s) field, add the following (one per line). Note that these URLs might need to be adjusted depending on the slug of the actual page on your website.

/cart
/checkout
/purchase-confirmation

Inside your Cloudways account, under Varnish Settings (for your specific application), add custom exclusion rules so that if any of the cookies at the end of this article are detected, Varnish bypasses the cache.

Also, add the dynamic URL exclusions (same as Breeze above) to ensure these pages aren’t cached by Varnish.

Spider Cache

There are no known conflicts between Spider Cache and Easy Digital Downloads. Spider Cache has undergone extensive testing with Easy Digital Downloads, conducted by the Spider Cache lead developer.

W3 Total Cache

In order to use W3 Total Cache with Easy Digital Downloads, there are a few settings you need to ensure are setup correctly. This is a basic list of the settings that need to be configured.

General Settings

Page Cache: enabled with Disk: enhanced
Minify: disabled
Database cache: disabled
Object cache: disabled
Browser cache: enabled
CDN: enabled (this does not affect EDD)

Object Cache

Global Groups:
users
userlogins
usermeta
user_meta
site-transient
site-options
site-lookup
blog-lookup
blog-details
rss
global-posts

A list of Cookies that EDD uses can be found below:

A complete list can be found below:

edd_items_in_cart
edd_session_*
edd_cart_messages
edd_purchase
edd_cart_fees
edd_resume_payment
edd_cart
cart_discounts
preset_discount
edd_cart_token
edd_saved_cart

This is not an exact list and there will definitely be variations, but this is the config that has been shown to work. If you find other options/variations that work or don’t work,
please contact us via support. We will update this doc as needed.

The post Configuring Cache for Easy Digital Downloads first appeared on Easy Digital Downloads.

]]>
Does Easy Digital Downloads work with Cloudflare? https://easydigitaldownloads.com/docs/cloudflare/ Mon, 24 Jan 2022 19:51:59 +0000 https://edd-site.lndo.site/docs/cloudflare/ We understand that website security and performance are essential to the success of your eCommerce store. Cloudflare is a service that helps protect and speed up your site using a collection of features and rules to ensure that your pages load securely and quick for your customers. Generally speaking, Easy Digital Downloads is compatible with

The post Does Easy Digital Downloads work with Cloudflare? first appeared on Easy Digital Downloads.

]]>
We understand that website security and performance are essential to the success of your eCommerce store. Cloudflare is a service that helps protect and speed up your site using a collection of features and rules to ensure that your pages load securely and quick for your customers.

Generally speaking, Easy Digital Downloads is compatible with Cloudflare, however, given the complexity of eCommerce stores, there are some features and configurations you’ll want to ensure you account for, when using the service.

As always, when optimizing site performance, when changes are made to optimization features in Cloudflare, we strongly encourage you to test the critical areas of your site as a logged out user to ensure functionality is not affected.

Automatic Platform Optimization for WordPress (APO)

The Cloudflare Automatic Platform Optimization feature (or APO) is a feature that can improve the performance of your site by reducing the time to first byte (TTFB). The APO feature supports many popular WordPress plugins, including Easy Digital Downloads.

To enable Automatic Platform Optimization, you first need to install and activate the Cloudflare WordPress Plugin

Once activated, head to Settings > Cloudflare. You will need to either create a free account or if you have an account click Sign in here

You will need the email address used for your Cloudflare account, as well as your Global API Key, which can be found by clicking on the link below the form

This will open a new window where you click on the API Tokens menu, where you can click on the View button for your Global API Key.

After you have connected your site to Cloudflare, you can turn on the Automatic Platform Optimization from the Settings > Cloudflare > Home settings within your WordPress admin area.

We recommend using the Cache By Device Type setting be enabled to ensure the best user experience.

Rocket Loader

Cloudflare’s Rocket Loader feature, improves page load performance by loading all Javascript asynchronously, even 3rd party scripts. This can help your pages load faster and allow customers to interact with the site more quickly

When enabled the Rocket Loader feature can cause issues with EDD’s checkout as it can cause duplicate payments to be created at the Gateway due to it duplicating the click to process a purchase. To ensure your checkout is not affected by this undesired result, you should disable Rocket Loader on the checkout page using a Configuration Rule. To enable a Configuration Rule, in the menu on the left of your Cloudflare domain settings, choose Rules > Configuration Rules

Once there, click ‘Create rule’

Then configure a rule that turns off ‘Rocket Loader’ on the checkout page. Our example uses the default checkout page of /checkout

Scroll down and click ‘+ Add’ for Rocket Loader, and ensure that it is ‘Off’

Then click ‘Deploy’

ScrapeShield

Cloudflare’s ScrapeShield technology grabs the email address of the customer and obfuscates it so that spammers cannot scrape it and send spam.

The drawback to this is that it’s then not a valid email address, and the customer becomes disconnected from the purchase.

Cloudflare offers instructions on how to turn off this feature.  Once it’s off then the issue is resolved.

HTTPS Protocol Rewriting

This option attempts to make all of your site’s assets (like CSS files etc) load over the same protocol (http or https).  Occasionally it doesn’t load properly, causing downloads to be served without contents, so the filesize is 0.  You can turn this feature off in your Cloudflare panel,  Cloudflare’s documentation on HTTPS Protocol Rewriting explains how.

Page Rules

Cloudflare has a number of performance tools, and in order for your EDD Store to run well with Cloudflare you may need to adjust some Page Rules in order to ensure that adding to the cart and processing orders complete successfully.


These are the suggested page rules that you should add to your Cloudflare account to ensure optimal functionality.

  • domain.com/checkout*
    • Cache Level: Bypass
    • Browser Integrity Check: Off
    • Rocket Loader: Off
  • domain.com/admin-ajax.php
    • Cache Level: Bypass
    • Browser Integrity Check: Off
  • domain.com/wp-json/edd*
    • Cache Level: Bypass
    • Browser Integrity Check: Off

Payments not marked as complete

If you are experience problems with your payments not being marked as complete (usually only happens with ‘offsite’ payment gateways like PayPal) and you use CloudFlare on your website, try disabling CloudFlare temporarily to see if payments are properly marked as complete when it is disabled.

You may need to exclude your checkout page from Cloudflare’s caching. Here is one of their help articles to get you started with that: 
https://support.cloudflare.com/hc/en-us/articles/200172316-How-do-I-exclude-a-specific-URL-from-CloudFlare-s-caching-

The post Does Easy Digital Downloads work with Cloudflare? first appeared on Easy Digital Downloads.

]]>
Category in Download URL https://easydigitaldownloads.com/docs/category-in-download-url/ Mon, 24 Jan 2022 19:51:55 +0000 https://edd-site.lndo.site/docs/category-in-download-url/ At this time you cannot have the category slug included in the URL of a download with stock Easy Digital Downloads. For example, something like this will NOT work: http://example.com/downloads/downloadcategory/nameofdownload If you need this functionality there’s an excellent plugin on CodeCanyon called EDD Permalink. This plugin can accomplish a URL similar to the one above.

The post Category in Download URL first appeared on Easy Digital Downloads.

]]>
At this time you cannot have the category slug included in the URL of a download with stock Easy Digital Downloads. For example, something like this will NOT work:

http://example.com/downloads/downloadcategory/nameofdownload

If you need this functionality there’s an excellent plugin on CodeCanyon called EDD Permalink. This plugin can accomplish a URL similar to the one above.

The post Category in Download URL first appeared on Easy Digital Downloads.

]]>
W3 Total Cache Config https://easydigitaldownloads.com/docs/w3-total-cache-config/ Mon, 24 Jan 2022 19:51:47 +0000 https://edd-site.lndo.site/docs/w3-total-cache-config/ In order to use W3 Total Cache with Easy Digital Downloads, there are a few settings you need to ensure are setup correctly. This is a basic list of the settings that need to be configured. General Settings Page Cache: enabled with Disk: enhanced Minify: disabled Database cache: disabled Object cache: disabled Browser cache: enabled

The post W3 Total Cache Config first appeared on Easy Digital Downloads.

]]>
In order to use W3 Total Cache with Easy Digital Downloads, there are a few settings you need to ensure are setup correctly. This is a basic list of the settings that need to be configured.

General Settings

Page Cache: enabled with Disk: enhanced
Minify: disabled
Database cache: disabled
Object cache: disabled
Browser cache: enabled
CDN: enabled (this does not affect EDD)

Object Cache

Global Groups:
users

userlogins

usermeta

user_meta

site-transient

site-options

site-lookup

blog-lookup

blog-details

rss

global-posts

This is not an exact list and there will definitely be variations, but this is the config that has been shown to work. If you find other options / variations that work or don’t work,
please contact us via support. We will update this doc as needed.

The post W3 Total Cache Config first appeared on Easy Digital Downloads.

]]>
Is the downloads shortcode responsive? https://easydigitaldownloads.com/docs/is-the-downloads-shortcode-responsive/ Mon, 24 Jan 2022 19:51:47 +0000 https://edd-site.lndo.site/docs/is-the-downloads-shortcode-responsive/ In Easy Digital Downloads (EDD), the [downloads] shortcode is the standard way for outputting all of your products on a single page. If you are not familiar with the shortcode and its capabilities, you can read about it here. By default, your products will display in a grid layout with three columns, nine products, and

The post Is the downloads shortcode responsive? first appeared on Easy Digital Downloads.

]]>
In Easy Digital Downloads (EDD), the [downloads] shortcode is the standard way for outputting all of your products on a single page. If you are not familiar with the shortcode and its capabilities, you can read about it here.

By default, your products will display in a grid layout with three columns, nine products, and pagination if you have more than nine products in your store. In most themes, this display serves its purpose just fine without any additional CSS (design styles) from the theme itself. However, it may not look exactly the way you want it to in all themes. Even worse, the display may become distorted on smaller screens.

This typically leads to the question, “is the [downloads] shortcode responsive?” In other words, people often wonder why the display doesn’t look so great on small screens. I’ll explain why, and what you can do about that below.

Why isn’t the [downloads] shortcode responsive?

The first thing to note is that responsiveness is not a one-size-fits-all type of behavior. The responsiveness of an element depends entirely on the environment in which it is contained.

For example, let’s say there’s a section of your site with two side-by-side columns filled with text, both spanning 50% of the width of your main content area. Let’s also say that the main content area “holding” those twin columns is 1000px wide. That means each column is 500px wide. As the screen width becomes more narrow on smaller devices, somewhere around a 600px content area width starts to make the now-300px columns a little too slim. That’s undesirable, so responsive CSS uses rules to say, “at 600px screen width, change the width of these two columns from 50% to 100%, and stack the left one on top of the right one.” And with that, they both become legible once again.

That’s exactly how responsive CSS works, and it is done with intent.

With that understanding, it becomes clear that in order to write the responsive CSS to make those twin columns “respond” to the screen width, we must also know the dimensions of the elements around the columns. In the WordPress context, that means we need to know the design and dimensions of your theme.

Of course, we cannot know the details of all the themes our customers may use. While your theme may output the [downloads] shortcode in an element that is only 500px wide, the next person’s theme may output the same shortcode in an element that is 900px wide. Your responsive CSS would need to be a lot different than the other person’s responsive CSS. And if you switch themes, your responsive CSS would need to change once again.

To put it another way, we simply cannot predict when and how the [downloads] shortcode should respond to every theme all at once.

Are there themes that include responsive CSS for the [downloads] shortcode?

Yes indeed! In most themes that are built to take advantage of EDD, this is already done for you. For example, the Vendd theme fully designs the [downloads] shortcode output for all screen sizes. You can see it on the demo here: https://easydigitaldownloads.com/vendd/ Not only does Vendd make the [downloads] shortcode responsive, but it also enhances the layout.

If a theme was not enhanced with EDD in mind, the output of the shortcode will not be responsive. It will display as specified by the shortcode parameters and nothing more. If you need it to “respond” to screen size, that must be written from the perspective of your theme specifically.

Also, note that some themes that are enhanced for EDD still may not make the [downloads] shortcode responsive. Instead, it will include its own template for displaying products and suggests that you use the custom template instead of the shortcode.

There is a large selection of EDD-ready themes available here: https://easydigitaldownloads.com/themes/

What should I do if I am not using an EDD-ready theme?

If you would like to continue using your theme that is not enhanced for EDD, but you would also like your [downloads] shortcode output to be responsive, you have two options:

1. If you are a CSS author, you can simply write responsive CSS to make the shortcode output do as you please from your theme. You will not need to worry about EDD making any changes that will break your CSS.

2. Hire a designer to make the output responsive for you. It’s not an incredibly difficult task so the designer would not need to be familiar with EDD itself. Responsive CSS is a widely understood design style and just about any CSS author should be able to view the output and make it responsive for your theme. If you would like to stick to a professional that is already familiar with the EDD ecosystem, we recommend our trusted partner, Codeable.

The post Is the downloads shortcode responsive? first appeared on Easy Digital Downloads.

]]>
Can I run WooCommerce and Easy Digital Downloads at the same time? https://easydigitaldownloads.com/docs/can-i-run-woocommerce-and-easy-digital-downloads-at-the-same-time/ Mon, 24 Jan 2022 19:51:46 +0000 https://edd-site.lndo.site/docs/can-i-run-woocommerce-and-easy-digital-downloads-at-the-same-time/ Yes, there are no technological conflicts between the two, you could run them both at the same time on the same domain name.

The post Can I run WooCommerce and Easy Digital Downloads at the same time? first appeared on Easy Digital Downloads.

]]>
Yes, there are no technological conflicts between the two, you could run them both at the same time on the same domain name.

The post Can I run WooCommerce and Easy Digital Downloads at the same time? first appeared on Easy Digital Downloads.

]]>
Can I sell physical products with Easy Digital Downloads? https://easydigitaldownloads.com/docs/can-i-sell-physical-products-with-easy-digital-downloads/ Mon, 24 Jan 2022 19:51:44 +0000 https://edd-site.lndo.site/docs/can-i-sell-physical-products-with-easy-digital-downloads/ Yes, you can sell physical products with Easy Digital Downloads. That said, EDD was built from the ground up for non-physical things, so selling physical things is not its main focus. How To Sell Physical Things With Easy Digital Downloads First you’ll want the Simple Shipping extension. Download Simple Shipping Documentation for Simple Shipping Once

The post Can I sell physical products with Easy Digital Downloads? first appeared on Easy Digital Downloads.

]]>
Yes, you can sell physical products with Easy Digital Downloads. That said, EDD was built from the ground up for non-physical things, so selling physical things is not its main focus.

How To Sell Physical Things With Easy Digital Downloads

First you’ll want the Simple Shipping extension.

Once you’ve followed the instructions in the documentation you’re ready to go. You’ll realize that the name of the extension is quite serious, this is for VERY simple shipping.

When This Is A Good Idea

There are times when it’s a good idea to have a physical item in your digital store. Here are some example.

  • Physical liner notes for a digital album
  • An article of clothing for fans of your primary product
  • Any time your primary product is digital, and your physical item is a minor offering
Case Studies
  • A band with 65 single mp3s, 4 albums, and 1 Tshirt
  • A software company with 5 plugins and a plush mascot

When This Is A Bad Idea

If your primary product is physical then a digital sales platform is a bad idea. Here are some examples of where selling physical things with EDD is a bad idea.

  • You sell Flashlights and have digital documentation
  • You sell CDs and offer mp3s as a free addon
  • You sell video games on DVD and offer demos for download

As you can see above, the primary products are physical. EDD probably isn’t a good fit here.

The Rule Of Thumb

If the majority of your products are digital you should look carefully at EDD. If the majority of your products are physical, you should probably look at another eCommerce package.

The post Can I sell physical products with Easy Digital Downloads? first appeared on Easy Digital Downloads.

]]>
How to edit the Download (Archive) Page https://easydigitaldownloads.com/docs/how-to-edit-the-download-archive/ Mon, 24 Jan 2022 19:51:36 +0000 https://edd-site.lndo.site/docs/how-to-edit-the-download-archive/ There is no denying that product presentation is an important part of any eCommerce business. Not only does it need to function well, but its presentation also has to make sense and be intuitive. As an Easy Digital Downloads (EDD) user, there is a chance you have to want to adjust your product presentation to

The post How to edit the Download (Archive) Page first appeared on Easy Digital Downloads.

]]>
There is no denying that product presentation is an important part of any eCommerce business. Not only does it need to function well, but its presentation also has to make sense and be intuitive.

As an Easy Digital Downloads (EDD) user, there is a chance you have to want to adjust your product presentation to fit the needs of your store and your customers. In this article, we’ll cover how EDD presents your products by default as well as the various ways you can control that presentation.

Note: The /downloads page is not a page but a WordPress archive. This is why you don’t see it under your list of WordPress Pages.

Simplest Solution for most users

Before we get into too much detail if you are just looking for a way to display all of the products you have created in a simple fashion, create a new page, ie Store, and use the EDD Products block or [downloads] shortcode. It can be placed directly on a new page without any additional configuration.

Now, on to the more technical stuff.

Default Download Archives

For those of you using the “Post name” permalinks selection in your WordPress settings (most likely everyone), a default product archive is created for you automatically once you have created at least one product in your system. You can see this page by visiting yourdomain.com/downloads in your browser.

Please understand that this page is not intended to be your store. It is not something that EDD creates for you as a store. Instead, it is there because of how WordPress treats certain post types. This does not mean you cannot control the display of this archive. It just means EDD expects you to use the [downloads] shortcode as your most basic display of products, not the download archives. We will, however, cover how to control this archive.

WordPress uses a template hierarchy in the active theme (or its parent theme if a child theme is activated) to determine which template should be used to display different types of pages on your site. After a certain type of template file is chosen, in this case, an archive template, WordPress will use the names of the existing templates to choose which one is the right choice.

Most WordPress themes include a archive.php file. It is typically used for things like author, date, and taxonomy archives. It is also used for custom post type archives, which is what EDD’s Download is.

Custom post type archives have a very simple hierarchy in regard to template files:

  1. archive-{post_type}.php – If the post type is book, WordPress will look for archive-book.php.
  2. archive.php
  3. index.php

If a template file named specifically for a custom post type is present, WordPress will use it. Otherwise, it will use the common
archive.php or ultimately fall back to the required index.php file.

Unless your theme was built specifically for use with EDD, there’s a chance it has a archive.php file and no archive-download.php. That means your theme will use the generic archive.php template to display products when you visit yourdomain.com/downloads in your browser.

While this generic display may be okay for author or date archives, it isn’t always a good fit for download archives. Instead, you would need to create an archive specifically for Downloads.

archive-download.php

If you place a file called archive-download.php in the root directory of your active theme, WordPress will use it to render yourdomain.com/downloads. That is pretty straightforward. However, what you build into this file is up to you.

If you are a theme developer, you should be familiar with how to build the various template files. You can use our sample product grid to jumpstart the development of your download archive. If you are not a theme developer, this is something you would need to hire someone for. How to develop an archive is less about EDD and more about WordPress and general development. That is outside the scope of this documentation.

If you are not a theme developer but you are hands-on, there are several theme examples you can use to grasp the concept of creating a custom archive for your downloads. The best reference would be our
Vendd theme, which you can also find on GitHub for easy access to the codebase.

The post How to edit the Download (Archive) Page first appeared on Easy Digital Downloads.

]]>
Will Easy Digital Downloads work with my theme? https://easydigitaldownloads.com/docs/will-easy-digital-downloads-work-with-my-theme/ Mon, 24 Jan 2022 19:51:32 +0000 https://edd-site.lndo.site/docs/will-easy-digital-downloads-work-with-my-theme/ One of the most common questions asked by new Easy Digital Downloads (EDD) users is whether or not the plugin will work with their chosen themes. The same is true for our extensions and if certain themes must be used in order for them to work properly. The goal here is to not only answer

The post Will Easy Digital Downloads work with my theme? first appeared on Easy Digital Downloads.

]]>
One of the most common questions asked by new Easy Digital Downloads (EDD) users is whether or not the plugin will work with their chosen themes. The same is true for our extensions and if certain themes must be used in order for them to work properly.

The goal here is to not only answer your questions, but also give tips to those who want to make adjustments on their own.

Will EDD work with my theme?

Short Answer

Yes. EDD is designed to work with any theme.

Detailed Answer

Absolutely. However, there are things that can be done to help your theme get more out of EDD and its extensions, though they are not required.

For details on theme-specific enhancements, view the Related Articles section at the bottom of this doc. For now, let’s cover the basics.

How does EDD work with any theme?

The first thing we have to do is define “work.” It is important to separate the differences between functionality and style.

Functionality

Functionality, in this context, is what gives you a full eCommerce platform. Everything from creating product pages to sending customers to a purchase confirmation page after a transaction is how EDD functions.

That functionality, for the most part, is behind the scenes. However, certain functionality requires input from site visitors through button clicks, text input, and more. In order facilitate that interaction, front-end elements (things you see on the site) are displayed on the screen. How those elements look leads us to style.

Style

Style is less about how EDD functions and more about how its front-end elements are presented. Just like with all sites, presentation is the responsibility of CSS. Typically, WordPress holds its CSS in themes because they are responsible for styling WordPress sites. CSS can work from different locations, though. We’ll cover that later.

The important thing to note here is that how EDD front-end elements are styled on your site is not an indication of whether or not EDD works. Functionality is the first priority and the simple answer is “yes,” EDD was developed to function properly with any theme.

Of course, style is important. With that understanding of importance, though, we can move forward.

How will EDD look in my theme?

For many users, what they really want to know is how EDD will look, not how it will function. It turns out this question is a little more difficult to answer.

The easiest way to see how EDD will look in your theme is to test it. Assuming you already have your theme, and considering EDD itself is free, setting up a staging site is by far the best way to get a feel for how things will look once they are set up.

Sometimes EDD looks like it blends right into a theme. Other times certain elements will not display how one would expect them to. Let’s talk about the latter.

Styles from EDD Core

EDD itself includes a CSS file that attempts to standardize certain front-end elements so they do not lose their structure or design in any theme. Components like the checkout form absolutely need to be intuitive right out of the box. So CSS styles are included in the plugin to attempt to secure that structure and design regardless of the theme.

The nature of CSS is to work based on strength and specificity. In this context, that means while EDD core can include its own styles, there is always a chance that any given theme can have CSS with stronger or more specific “rules” than what EDD includes. For those who do have style issues with EDD, this is usually why.

Styles from Your Theme

EDD makes use of a lot of HTML elements that are used all over the web. Keeping with the checkout form example, collecting the names and email addresses of your customers at checkout requires that EDD uses text and email input elements.

Of course, an EDD checkout form is not the only place you will find these types of HTML elements. They are also used in things like contact forms and email newsletter sign-up forms, as well as several other places. Because of that, most theme developers see the value in writing CSS into their themes that will automatically style those generic elements for you.

In some cases, this presents a problem. Perhaps your theme has a heavy design focus on email marketing. For that reason, the theme developer may choose to style text and email input elements to be very large and bold with big text. That makes sense because the email newsletter sign up form needs to grab the visitor’s attention.

What your theme developer did not suspect is that you would be using EDD to distribute your free ebook, for example. Now, your EDD checkout form uses big, bold input elements just to request a name and email address to complete a transaction. In some cases, this is okay. In other cases, the styles applied to checkout form elements work against the flow of the checkout process.

Because of this unpredictability factor, it is always possible that a theme will have a visual effect on EDD elements. Whether or not the effect will be desired can only be determined on a case by case basis (theme by theme).

Page Builders

Page builders can sometimes cause issues, since some of them have their own method of displaying content. This is only a problem with a few page builders though and many will work with Easy Digital Downloads just fine. If you encounter any issues with your page builder or have any questions about one you’re using, please contact support and we’ll be happy to assist you.

Style from the Browser

Lastly, all modern web browsers have their own default styles. If no CSS is written by a designer or developer to force HTML elements to look a certain way, browsers will apply a default style to them. As you would probably guess, not every browser has the same default styles.

It is always possible that a theme will not include styles for certain elements, and those same elements may not be styled in EDD core. When that happens, the browser takes over.

Your Custom Styles

The wonderful thing about web development is that nothing is final. All three style sources mentioned above are what you will start with. However, you are free to change anything you would like. It’s just a matter of knowing how to do it yourself or hiring someone to do it for you.

From your own child theme style.css file, or perhaps a custom CSS plugin like Reaktiv CSS Builder, CSS rules can be written to override any styles that are already applied. This doesn’t always have to be done out of necessity. It can also be done out of preference.

So even though EDD’s styles will be determined by a few different sources, none of those styles have to be final.

EDD Theme Compatibility In Summation

The takeaway is understanding that whether or not EDD will work with your theme is a matter of functionality. How EDD will look in your theme is more of a variable, but steps have been taken to create a base level of consistency across themes.

While some themes are designed for use with EDD, like all of the EDD themes listed here, no theme has to specify EDD support in order for EDD to work with it. You are free to choose your theme based on your own visual preferences.

Please view the list below for more articles on EDD theming.

The post Will Easy Digital Downloads work with my theme? first appeared on Easy Digital Downloads.

]]>
Download Category and Tag Templates https://easydigitaldownloads.com/docs/download-category-and-tag-templates/ Mon, 24 Jan 2022 19:51:31 +0000 https://edd-site.lndo.site/docs/download-category-and-tag-templates/ While Easy Digital Downloads (EDD) is designed to work with any theme, there are several things you can do to your theme to take advantage of EDD’s flexibility. In other articles, we’ve discussed how to do things like create theme templates specifically for product pages as well as editing the downloads archive. Here, we’ll discuss

The post Download Category and Tag Templates first appeared on Easy Digital Downloads.

]]>
While Easy Digital Downloads (EDD) is designed to work with any theme, there are several things you can do to your theme to take advantage of EDD’s flexibility.

In other articles, we’ve discussed how to do things like
create theme templates specifically for product pages as well as editing the downloads archive. Here, we’ll discuss how to take control of the category and tag display for your products.

Download Taxonomy Archives

WordPress uses its template hierarchy to determine which theme template file should be used to display any given page on your site. For taxonomies, or download categories and tags in this context, the template hierarchy is as follows:

  1. taxonomy-{taxonomy}-{term}.php – If the taxonomy is sometax, and taxonomy’s term is someterm, WordPress will look for taxonomy-sometax-someterm.php. In the case of post formats, the taxonomy is ‘post_format’ and the terms are ‘post-format-{format}. i.e. taxonomy-post_format-post-format-link.php for the link post format.
  2. taxonomy-{taxonomy}.php – If the taxonomy were sometax, WordPress would look for taxonomy-sometax.php.
  3. taxonomy.php
  4. archive.php
  5. index.php

This hierarchy is oftentimes neglected in themes, not because it is unimportant, but because the
archive.php template file is considered a standard and is usually present. On a non-eCommerce site, not too many structural changes are required from a typical date archive display to a post archive display.

However, EDD categories and tags are in the same position as the downloads archive covered in the second article linked above. They are not intended to display like typical WordPress posts, but instead like the products that they are.

That said, you have the ability to take control of the download category and tag templates by creating certain files in the root of your active theme.

taxonomy-download_category.php – taxonomy-download_tag.php

Based on the template hierarchy mentioned above, controlling EDD’s category and tag display would fall under the #2 position. In the WordPress system, a Download category is
download_category and a Download tag is download_tag.

So
taxonomy-{taxonomy}.php is the template naming scheme that WordPress would use to search for template specific to EDD’s Downloads.

If you place files called
taxonomy-download_category.php and taxonomy-download_tag.php in the root of your active theme, WordPress will use those to render your Download categories and tags. What you build into these files is up to you.

If you are a theme developer, you should be familiar with how to build the various template files. You can use our
sample product grid to jumpstart the development of your download category and tag templates. If you are not a theme developer, this is something you would need to hire someone for. How to develop these taxonomy archives is less about EDD and more about WordPress and general development. That is outside the scope of this documentation.

If you are not a theme developer but you are hands-on, there are several theme examples you can use to grasp the concept of creating download category and tag archives for your theme. The best reference would be our
Vendd theme, which you can also find on GitHub for easy access to the codebase.

The post Download Category and Tag Templates first appeared on Easy Digital Downloads.

]]>
How to Build Single Product Templates https://easydigitaldownloads.com/docs/how-to-build-single-product-templates/ Mon, 24 Jan 2022 19:51:26 +0000 https://edd-site.lndo.site/docs/how-to-build-single-product-templates/ At this point, it’s safe to assume you already know that Easy Digital Downloads (EDD) was developed to work with any theme. However, there are several things that can be done to make sure your theme gets more out of EDD. In this article, we will cover the basics of how to create single product

The post How to Build Single Product Templates first appeared on Easy Digital Downloads.

]]>
At this point, it’s safe to assume you already know that
Easy Digital Downloads (EDD) was developed to work with any theme. However, there are several things that can be done to make sure your theme gets more out of EDD.

In this article, we will cover the basics of how to create single product templates for your theme. To be clear, a single product template is used to display the front-end page created when you add a new Download to your site.

WordPress Template Hierarchy

First, we have to take a step back and examine how WordPress itself works. WordPress themes are nothing more than a collection of files that work together to display your site. Some of those theme files are templates and template components that come together to create the HTML structure of your site.

WordPress uses a
template hierarchy to determined when and how to use those template files. We won’t go into full detail about the entire hierarchy, but here is a visual of how the different template files are related.

What we will cover here is the Single Post template and how it affects the way your single product pages will display. Let’s get started.

Single Post (and Singular) Template

Directly from
wordpress.org, here is the template hierarchy for single posts:

  1. single-{post-type}-{slug}.php – (Since 4.4) First, WordPress looks for a template for the specific post. For example, if post type is product and the post slug is dmc-12, WordPress would look for single-product-dmc-12.php.
  2. single-{post-type}.php – If the post type is product, WordPress would look for single-product.php.
  3. single.php – WordPress then falls back to single.php.
  4. singular.php – Then it falls back to singular.php.
  5. index.php – Finally, as mentioned above, WordPress ultimately falls back to index.php.

What this means is that a theme file’s name tells WordPress when it should be used and its “rank” in the hierarchy for that particular use case.

The most common file name at this point is most likely
single.php. The single.php template is used to display single blog posts. As you would imagine, many users publish more blog posts on their WordPress sites than anything else. So while single.php is not the highest ranking overall, it
is the highest ranking for generic single post templates.

There is a good chance that your active theme (or parent theme, if you are using a
child theme) has a single.php file in its root folder. If so, it is used to display single blog posts. However, there is also a chance that you do not have a single.php file but instead, a singular.php file. This is becoming more common. Its basic purpose is to be more of a “universal” template for all front-end pages that fall under the WordPress “singular” definition, like blog posts, pages, and entries for basic custom post types.

Let’s cover how EDD uses these templates and how you can change that.

single.php

As mentioned above, the
single.php file is a basic template used to display single blog posts. When the URL of a blog post is visited, WordPress will search the theme structure for the appropriate template file to use for displaying that blog post. The single.php file is the common answer.

With that understanding, you also need to know that Posts (and Pages) are what WordPress calls “post types.” There are a few default post types built into WordPress but developers can also create their own, called Custom Post Types.

EDD itself introduces several custom post types to your system, one of which is the
Download. That’s the only one we are doing to discuss here.

If you scroll back up to take another look at the template hierarchy for single posts, you’ll notice that
single-{post-type}.php has a higher rank than single.php. That implies two things:

  1. If single-{post-type}.php fits the scenario, it will be used before single.php.
  2. If no single-{post-type}.php template exists, the next choice is single.php.

Unless your theme was written specifically for EDD, your situation falls under the second scenario by default. Given that EDD’s Download custom post type is registered as download, unless your theme includes a
single-download.php file (or the #1 position in the single post hierarchy, which we will not discuss), WordPress will look for the single.php file.

What this means is however your blog posts display, your EDD download will look the same. If your blog posts include byline information, post-to-post navigation, or anything else, it will also display for your downloads.

For many users, this is not a problem. For others, it can add unwanted information to the product display. Or perhaps some users simply do not want their product pages to display in the same fashion as blog posts, which is understandable.

single-download.php

In order to tell WordPress that you’d like to display your single product pages different from your single blog posts, you have to tap into the single post template hierarchy by creating a
single-download.php file in the root folder of your active theme (which would mean your child theme if you are using one).

Once this file is in place in the root folder of your active theme, viewing the front-end page for one of your products will call to the download-specific template instead of the blog post template. At that point, you are in control of your
single-download.php template and you can build it however you’d like.

Here’s a very useful tip for creating your
single-download.php template:

Unless you are a theme developer who already knows what you are doing, the best way to create your initial
single-download.php file is to duplicate your theme’s single.php file and then rename the duplicate to single-download.php. At that point, nothing will change about the display of your product pages. However, you are now free to edit the new template file and it will only affect your product pages.

If you are using a child theme, that means you would need to copy the parent theme’s single post template to put into the root folder of your child theme.

singular.php

Things get a little more complicated here. The
singular.php file is fairly new and while it is not as widely used as the single.php file, it is still popular. As mentioned before, WordPress comes with several post types already built-in and supports the creation of custom post types. All of these post types are considered singulars.

What this means is a theme does
not have to include a single.php file, or even a page.php file (the template used for displaying WordPress Pages). If a singular.php file is present and none of the more specific templates are available, WordPress will use it for all of the post types.

Needless to say, that means this template file oftentimes has to use conditional logic. That means:

If the URL visited is a page, use this code to display the page. If the URL visited is a post, use that code to display the post.

This all happens inside of one template file. For sites with only posts and pages, this is simple. When you introduce custom post types, this can get tricky as the theme developer most likely did not create a condition for the Download custom post type, that is if the theme was not written to consider EDD.

While this is not the place to get into the details of how to build a theme, the same is true in this scenario as with overriding the
single.php for product templates. You can use the singular.php file to create (through duplication) a single-download.php file. The only difference here is that you will need to better understand the code in this file to modify it for use with products.

Single Product Templates In Summation

This is not intended to be a guide on WordPress theming. Instead, the goal is to show you how EDD works with WordPress so that you can use single product templates to display your product pages.

If you are not a WordPress theme developer, this is something you may want to outsource to someone experienced in the area. Creating the necessary file is just one step. Creating (or editing) the code in the file is a completely separate task that requires a bit of experience or at least familiarity with HTML and PHP.

The post How to Build Single Product Templates first appeared on Easy Digital Downloads.

]]>
Download Files Not Protected on NGINX https://easydigitaldownloads.com/docs/download-files-not-protected-on-nginx/ Mon, 24 Jan 2022 19:51:20 +0000 https://edd-site.lndo.site/docs/download-files-not-protected-on-nginx/ By default, Easy Digital Downloads will protect download files inside of the wp-content/uploads/edd/ folder with a .htaccess, but this will only work if your site is running on Apache. If your site is running on NGINX, the download files will not be protected and will be able to be downloaded by anyone. This article will

The post Download Files Not Protected on NGINX first appeared on Easy Digital Downloads.

]]>
By default, Easy Digital Downloads will protect download files inside of the wp-content/uploads/edd/ folder with a .htaccess, but this will only work if your site is running on Apache. If your site is running on NGINX, the download files will not be protected and will be able to be downloaded by anyone. This article will walk you through protecting the download files by adding a custom redirect rule to your site’s configuration.

To properly protect the files on NGINX, you will need to register a redirect in your site’s server config that prevents users from directly accessing the download files.

Setting up a Web Rule with WPEngine

To get this step please log in to your WPEngine account, select the Site you wish to manage then click on the Web Rules section. Add the following Access Rule:

Type: URI
Operator: Regex matches(~)
Value: ^/wp-content/uploads/edd/\.(jpg|jpeg|png|gif|mp3|ogg|webp)$

This rule will give access to the files with the extensions in the Value field. Every other file type will be blocked so that direct access to your Downloadable files is restricted.

Protecting files on Kinsta

By default, Easy Digital Downloads will protect download files inside of the  wp-content/uploads/edd/ folder with a .htaccess, but this will only work if your site is running on Apache. If your site is running on NGINX, as KInsta uses, the download files will not be protected and will be able to be downloaded by anyone. This doc will walk you through protecting the download files by adding a custom redirect rule to your site’s configuration.

To properly protect the files on NGINX, you will need to register a redirect in your site admin area of your Kinsta site.

Protecting your files on Pantheon

Pantheon does not currently allow custom NGINX rewrite rules. To properly protect your files on Pantheon, you will need to install our Pantheon Compatibility extension and activate it on your website. This plugin converts the standard EDD directory to work within the protected directory provided by Pantheon.

Protecting your files on EasyEngine/Nginx

To protect your EDD files while using EasyEngine and NginX, you must locate where your server{} block lives and add the following line:

location ~ ^/wp-content/uploads/edd/(.*?).zip$ { rewrite / permanent; }

Manually Configuring the Redirect

If you are on a self-hosted VPS or other hosting account, you may need to modify the redirect rules in the server config directly.

If you are manually adding the redirect to your server config, it will look like this, if option 1 doesn’t work, try option 2:

# Option 1:
rewrite ^/wp-content/uploads/edd/(.*).zip$ / permanent;

# Option 2:
rewrite ^/wp-content/uploads/edd/(.*)/(.*).zip$ / permanent;

Keep in mind depending on your hosting provider, it may be required that they implement this for you.

The post Download Files Not Protected on NGINX first appeared on Easy Digital Downloads.

]]>
Shortcodes Overview https://easydigitaldownloads.com/docs/shortcodes-overview/ Mon, 24 Jan 2022 19:50:18 +0000 https://edd-site.lndo.site/docs/shortcodes-overview/ Easy Digital Downloads includes numerous shortcodes that can be used for displaying various parts of the plugin, such as the checkout screen, purchase buttons, registration and login forms, and more. [edd_login] Note: The EDD Login block replaced this shortcode, it’s recommended you use that in place of the shortcode, if your site supports blocks. If

The post Shortcodes Overview first appeared on Easy Digital Downloads.

]]>
Easy Digital Downloads includes numerous shortcodes that can be used for displaying various parts of the plugin, such as the checkout screen, purchase buttons, registration and login forms, and more.

[edd_login]

Note: The EDD Login block replaced this shortcode, it’s recommended you use that in place of the shortcode, if your site supports blocks.

If you wish to display a login form for users that have created an account during registration (or any other time), Easy Digital Downloads includes a shortcode for doing so.

This shortcode will display a simple login form. It should be placed on the page that you wish to act as the login page: [edd_login]

Upon form submission, the customer is redirected to your Purchase History page.

Redirect Setting

If you’d like the customer to go to a different page after logging in you can set a default page under Downloads → Settings → General. There’s an option called Login Redirect Page and it offers a drop-down list of all your pages. Simply choose one and click Save Changes and from then on when someone logs in with the shortcode form they’ll be redirected to that page.

Redirect Parameter

Additionally, the shortcode also accepts an optional redirect parameter that lets you set where users are redirected after they log in. This option takes precedence in all cases. It will override the main setting under Settings.

[edd_login redirect="http://yoursite.com"]

When someone is logged in the text “You are already logged in” appears instead of the form.

[edd_register]

Shows a simple account registration form.

Note: The EDD Registration block replaced this shortcode, it’s recommended you use that in place of the shortcode, if your site supports blocks.

To allow users to register for accounts on your website you can create an easy login form with the [edd_register] shortcode.

The simplest version is simply this:

[edd_register]

It also has an optional variable redirect, which accepts a url. If a redirect is provided the end user will go to that URL after registering.

[edd_register redirect="http://example.com"]

The post Shortcodes Overview first appeared on Easy Digital Downloads.

]]>