How To – Easy Digital Downloads Documentation https://easydigitaldownloads.com Sell Digital Products With WordPress Tue, 29 Apr 2025 15:47:57 +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 How To – Easy Digital Downloads Documentation https://easydigitaldownloads.com 32 32 Customize Checkout Address Fields https://easydigitaldownloads.com/docs/customizing-checkout-address-fields/ Tue, 29 Apr 2025 15:41:56 +0000 https://easydigitaldownloads.com/?post_type=edd_doc&p=1819978 This document explains how to find and customize checkout address fields displayed on your Easy Digital Downloads checkout page. This feature allows you to streamline the checkout process, potentially reducing cart abandonment by removing unnecessary fields. The checkout address fields’ custom controls are built directly into EDD core, requiring no additional add-ons like Checkout Fields

The post Customize Checkout Address Fields first appeared on Easy Digital Downloads.

]]>
This document explains how to find and customize checkout address fields displayed on your Easy Digital Downloads checkout page. This feature allows you to streamline the checkout process, potentially reducing cart abandonment by removing unnecessary fields.

The checkout address fields’ custom controls are built directly into EDD core, requiring no additional add-ons like Checkout Fields Manager or custom checkout fields code.

You must have EDD v3.3.8 or later to use this feature.

Accessing the Checkout Field Settings

Find these settings by going to DownloadsSettingsPayments from your WordPress dashboard.

Then select the Checkout tab.

Easy Digital Downloads Checkout settings in WordPress.

Scroll down to the Checkout Address Fields section.

The settings to customize checkout address fields in Easy Digital Downloads.

Using the Custom Address Fields Settings

The Checkout Address Fields section provides functionality to manage the visibility and order of the fields.

  • Country
  • Address
  • Address 2
  • City
  • State / Province
  • Postal Code
  • Phone

Toggling Field Visibility

Enable or disable individual fields by clicking the toggle switch next to each field name.

Toggles to customize checkout address fields in WordPress.

A blue toggle indicates the field is enabled and will be displayed on the checkout page. A grey toggle indicates the field is disabled.

Reordering Fields

Drag and drop the fields to rearrange their order on the checkout page. Click and hold the hamburger icon (three vertical lines) next to a field name, then drag it to the desired position.

Reordering checkout address fields in Easy Digital Downloads plugin settings.

Required Fields

Note that certain fields, such as Country and potentially State/Province, might be required if tax settings are enabled on your EDD site. These fields will be indicated and cannot be disabled.

Required checkout address fields in Easy Digital Downloads.

Saving and Previewing Changes

After making any changes, click the Save Changes button at the bottom of the page to apply your modifications.

Preview the checkout page to ensure everything looks good on the front end.

A preview of checkout form with custom checkout address fields created with Easy Digital Downloads in WordPress.

The default Checkout page (under Pages) contains and uses the EDD Checkout block to display the checkout form. The [download_checkout] shortcode can also be used.

Other Considerations

  • Tax Requirements: Be mindful of tax regulations in your region and ensure you collect the necessary information.
  • Payment Gateway Compatibility: These checkout field controls are compatible with all EDD-supported payment gateways.
  • User Experience: While removing fields can simplify checkout, ensure you collect enough information to process orders efficiently.

More Resources

The post Customize Checkout Address Fields first appeared on Easy Digital Downloads.

]]>
Migrating to Easy Digital Downloads from Gumroad https://easydigitaldownloads.com/docs/migrating-to-easy-digital-downloads-from-gumroad/ Wed, 21 Dec 2022 21:51:26 +0000 https://easydigitaldownloads.com/?post_type=edd_doc&p=1783052 If you are looking to migrate your existing Gumroad products to WordPress, Easy Digital Downloads is a powerful and self-hosted way to continue selling your digital products without hosting it on someone else’s platform. In this article, we’re show you where to find common features from the Gumroad platform within Easy Digital Downloads so that

The post Migrating to Easy Digital Downloads from Gumroad first appeared on Easy Digital Downloads.

]]>
If you are looking to migrate your existing Gumroad products to WordPress, Easy Digital Downloads is a powerful and self-hosted way to continue selling your digital products without hosting it on someone else’s platform.

In this article, we’re show you where to find common features from the Gumroad platform within Easy Digital Downloads so that you can easily start selling your products yourself.

Gumroad Product Types

Easy Digital Downloads is perfect for selling all forms of digital products and services. Many of the custom product types offered on Gumroad can be created as a ‘Download’ by going to the Downloads section and clicking ‘Add New’.

Some of the product types that are available in Gumroad require features only available with the Pro version of Easy Digital Downloads.

Membership

The membership product type is equivalent to a Subscription in Easy Digital Downloads and requires the Recurring Payments feature. Additionally with the Content Restriction feature can be used to restrict your site content based on a user’s purchase history.

Both Recurring Payments and Content Restriction are available in the Extended Pass.

Physical Good

While Easy Digital Downloads is designed to sell digital products, we do recognize that you may want to offer a limited number of physical products. For that we have our Simple Shipping feature, which allows you to offer flat rate domestic and international shipping for these products.

Simple Shipping is available in the Professional Pass.

Creating your product

Nearly all of the features in Gumroad have a one-to-one matching feature in Easy Digital Downloads when creating your product. Below is a visual guide of where to insert specific Gumroad product settings into your Easy Digital Download product.

Discount codes

Easy Digital Downloads offers stand-alone discount code management. Discount codes are not tied to a single product and have advanced features to allow you to offer your customers discounts on all products, specific products, and even exclude products. They can also be set with features like:

  • Starting and Expiration dates.
  • Percentage or Flat Rate
  • Included and Excluded products
  • Single user per customer
  • Max uses
  • Maximum discount amount
  • Custom name (to make it easier to manage your discounts)

To create your discounts in Easy Digital Downloads, you can head to Downloads > Discounts > Add New. You can also read our full documentation on discount codes.

Accepting Payments

Easy Digital Downloads has partnered with Stripe and PayPal to offer you multiple ways to accept payments including Credit Cards, PayPal, Apple Pay, Google Pay, PayPal Credit, and many other available options. Once installed head to Downloads > Settings > Payments, and you can take payments with Stripe and PayPal with our one-click connection.

Additional Features

While we’ve covered the basic settings needed to create your products in Easy Digital Downloads, there are additional features that Easy Digital Downloads also offers. Below we’ve outlined these features, with the Easy Digital Downloads equivalent.

Gumroad FeatureEasy Digital Downloads Feature
Limit product salesPurchase Limit
Allow customers to choose quantityCart Item Quantities
Generate unique license keysSoftware Licensing
VersionsVariable Pricing
Allow customers to pay what they wantCustom Prices

Easy Digital Downloads is a fully self-hosted eCommerce Platform that you can add to your WordPress powered site. Self-hosted means that all your data is yours, and is stored on your server. Either way, if you already have a WordPress site or are ready to get started with a new WordPress site, head over to our getting started page, and you can start selling today.

The post Migrating to Easy Digital Downloads from Gumroad first appeared on Easy Digital Downloads.

]]>
Creating a complete file customization service with EDD Upload File and EDD Custom Deliverables https://easydigitaldownloads.com/docs/creating-a-complete-file-customization-service-with-edd-upload-file-and-edd-custom-deliverables/ Mon, 24 Jan 2022 19:55:49 +0000 https://edd-site.lndo.site/docs/creating-a-complete-file-customization-service-with-edd-upload-file-and-edd-custom-deliverables/ If you want to use Easy Digital Downloads as a file modification/customization service, the best way is to use the EDD Upload File extension in conjunction with the EDD Custom Deliverables extension. For example, if you offered photo editing services, you could have the customer upload their photo while purchasing your service, and then deliver

The post Creating a complete file customization service with EDD Upload File and EDD Custom Deliverables first appeared on Easy Digital Downloads.

]]>
If you want to use Easy Digital Downloads as a file modification/customization service, the best way is to use the EDD Upload File extension in conjunction with the EDD Custom Deliverables extension. For example, if you offered photo editing services, you could have the customer upload their photo while purchasing your service, and then deliver the edited/completed version for them to download securely. 

EDD Upload File will make it possible to collect required files and data from the customer.

EDD Custom Deliverables makes it possible to deliver deliver the customized files to them.

Setting up a customizable product:

1. Make sure you have EDD Upload File and EDD Custom Deliverables installed and activated. 

2. Create/Edit a product in Easy Digital Downloads by going to
Dashboard → Downloads → Add New.  

3. Name the product something relevant, like “Video Template X”, “”Photoshop Template X”, or “Customization Service” and give it a price. 

4. Find the section called “File Uploads” and check the box called “Enable Uploads”.  This will give your customers a way to attach their required files (like text and graphics).

Then on checkout they can upload their graphics and text files. 

5. After the customer has made the purchase, find their Payment by going to
Dashboard → Downloads → Payment History. Find the payment in question and click to view it.  

6. Scroll down to the section called “Uploaded Files”. You can download the files attached by the customer there. 

7. After completing your customization, go back to the same payment from step 6 and scroll to the section called “Custom Deliverables”. Here, upload your customized version of the file. Then, use the “Notify Customer” option just below that to send them an email that their files are ready to download.  

*Note* If your custom deliverable files are large video files, you may want to consider using the AmazonS3 extension as well – which will allow you to upload your deliverable files directly to Amazon’s servers which will save space on your hosting account and allow you to deliver and store extremely large files at a very low cost. 

7. Once they have clicked to download their files, a download log will appear under
Dashboard → Downloads → Reports → Logs → File Downloads. 

The post Creating a complete file customization service with EDD Upload File and EDD Custom Deliverables first appeared on Easy Digital Downloads.

]]>
Hiding the discount code https://easydigitaldownloads.com/docs/hiding-the-discount-code/ Mon, 24 Jan 2022 19:55:38 +0000 https://edd-site.lndo.site/docs/hiding-the-discount-code/ If you want to hide the discount code from appearing on the purchase confirmation page, use this filter: add_filter( 'edd_purchase_rewards_show_discount_code', '__return_false' );

The post Hiding the discount code first appeared on Easy Digital Downloads.

]]>
If you want to hide the discount code from appearing on the purchase confirmation page, use this filter:

add_filter( 'edd_purchase_rewards_show_discount_code', '__return_false' );

The post Hiding the discount code first appeared on Easy Digital Downloads.

]]>
Fixing database errors https://easydigitaldownloads.com/docs/fixing-database-errors/ Mon, 24 Jan 2022 19:53:08 +0000 https://edd-site.lndo.site/docs/fixing-database-errors/ If you are seeing errors in your database relating to custom tables created by Easy Digital Downloads or one of its extensions, these steps are the first thing to try in order to get it fixed. For example an error like this could potentially be fixed by the steps in this document: “WordPress database error

The post Fixing database errors first appeared on Easy Digital Downloads.

]]>
If you are seeing errors in your database relating to custom tables created by Easy Digital Downloads or one of its extensions, these steps are the first thing to try in order to get it fixed. For example an error like this could potentially be fixed by the steps in this document:


“WordPress database error Duplicate entry”

To fix it, you may need to do a repair to your database, which is a simple and safe process. Follow these steps:

1. In an FTP program, browse to your WordPress root directory and open the file called “wp-config.php”

2. Add this line after the line containing “WP_DEBUG”:

define( ‘WP_ALLOW_REPAIR’, true );

3. Upon save, load your website in a browser. It will redirect you to a page which repairs your tables. Once it has completed, remove the line you added in step 2 and re-save the wp-config.php file again. 

The post Fixing database errors first appeared on Easy Digital Downloads.

]]>
Add an Email Confirmation Field https://easydigitaldownloads.com/docs/add-an-email-confirmation-field/ Mon, 24 Jan 2022 19:53:06 +0000 https://edd-site.lndo.site/docs/add-an-email-confirmation-field/ Sometimes you may find that you want to add a second email field for requiring that the buyer confirms their email address by entering it twice. This is really quite simple to do, just paste the following snippet into your functions.php or any custom plugin:

The post Add an Email Confirmation Field first appeared on Easy Digital Downloads.

]]>
Sometimes you may find that you want to add a second email field for requiring that the buyer confirms their email address by entering it twice. This is really quite simple to do, just paste the following snippet into your functions.php or any custom plugin:

function pw_edd_add_email_confirmation() {
?>
<p>
<label class="edd-label" for="edd-email-confirm"><?php _e('Confirm Your Email Address', 'edd'); ?></label>
<input class="edd-input required" type="email" name="edd_email_confirm" placeholder="<?php _e('Confirm email address', 'edd'); ?>" id="edd-emai-confirm" value=""/>
</p>
<?php
}
add_action('edd_purchase_form_after_email', 'pw_edd_add_email_confirmation');

function pw_edd_process_email_confirmation($valid_data, $data) {

if( $valid_data['need_new_user'] == false ) {
return;
}

if( !isset($data['edd_email_confirm'] ) || !is_email( $data['edd_email_confirm'] ) ) {
edd_set_error( 'email_confirmation_required', __( 'Please confirm your email', 'edd' ) );
}
if( trim( $data['edd_email_confirm'] ) != trim( $data['edd_email'] ) ) {
edd_set_error( 'email_confirmation_required', __( 'Your email addresses do not match', 'edd' ) );
}
}
add_action('edd_checkout_error_checks', 'pw_edd_process_email_confirmation', 10, 2);

The post Add an Email Confirmation Field first appeared on Easy Digital Downloads.

]]>
Limiting When Downloads Can Be Purchased https://easydigitaldownloads.com/docs/limiting-when-downloads-can-be-purchased/ Mon, 24 Jan 2022 19:53:06 +0000 https://edd-site.lndo.site/docs/limiting-when-downloads-can-be-purchased/ In certain scenarios you may wish to limit when a product is available for purchase, such as when selling event tickets or other limited-availability items. The Purchase Limit extension lets you do exactly that and this tutorial will walk you through how to set it up. First, you will need to purchase and install the Purchase

The post Limiting When Downloads Can Be Purchased first appeared on Easy Digital Downloads.

]]>
In certain scenarios you may wish to limit when a product is available for purchase, such as when selling event tickets or other limited-availability items. The Purchase Limit extension lets you do exactly that and this tutorial will walk you through how to set it up.

First, you will need to purchase and install the Purchase Limit extension.

Once the extension is installed and activated, go to Downloads > Settings > Extensions and configure the following settings:

In order to limit when Downloads can be purchased, you will need to make sure that the Enable Date Restriction option is enabled.

Once you have configured the settings to your liking, go to the Edit screen for the product you wish to limit the purchase availability for. You will have a new section added to the screen that looks like this:

To limit when the product can be purchased, simply set the Start Date and End Date options to the dates you want the Download to be available for purchase.

Customers will now only be allowed to purchase the product inside of the specified date range. When viewed outside of the date range, the purchase buttons will look something like this:

The post Limiting When Downloads Can Be Purchased first appeared on Easy Digital Downloads.

]]>
EDD WP-CLI Commands Overview https://easydigitaldownloads.com/docs/wp-cli-commands/ Mon, 24 Jan 2022 19:53:03 +0000 https://edd-site.lndo.site/docs/commands-overview/ This doc contains a list of all of the commands you can use in WP-CLI for EDD. The following commands are available: wp edd customers wp edd details wp edd discounts wp edd products wp edd sales wp edd stats Each of these commands has optional parameters that are detailed below. You can see a list of

The post EDD WP-CLI Commands Overview first appeared on Easy Digital Downloads.

]]>
This doc contains a list of all of the commands you can use in WP-CLI for EDD.

The following commands are available:

Each of these commands has optional parameters that are detailed below. You can see a list of the available commands at anytime by simply entering:

wp edd

This will display a list of all registered commands:

Screenshot from 2014-09-11 10:19:11

Customers

The edd customers command will allow you to view and create customers from the command line.

Viewing Customers

$ wp edd customers
customer-54e23021ef7b6@test.com
Customer User ID:
Username:
Display Name:
Email: customer-54e23021ef7b6@test.com


Purchases: 0
Total Spent: 0.00 USD
Total Downloads: 0


customer-54e23021ef164@test.com
Customer User ID:
Username:
Display Name:
Email: customer-54e23021ef164@test.com


Purchases: 0
Total Spent: 0.00 USD
Total Downloads: 0


customer-54e23021eeb6d@test.com
Customer User ID:
Username:
Display Name:
Email: customer-54e23021eeb6d@test.com


Purchases: 0
Total Spent: 0.00 USD
Total Downloads: 0
..

You can get the information for a specific customer by passing in 
–id=#:

$ wp edd customers --id=1
chris@chriskdesigns.com
Customer User ID: 2
Username: customer1
Display Name: Customer One
Email: chris@chriskdesigns.com


Purchases: 5
Total Spent: 28.00 USD
Total Downloads: 0

You can also pass in an email address with –email=john@test.com

$ wp edd customers --email=admin@local.dev
admin@local.dev
Customer User ID: 1
Username: admin
Display Name: Admin User
Email: admin@local.dev


Purchases: 57
Total Spent: 388.46 USD
Total Downloads: 20

Creating Customers

Creating customers can be done one at a time, or in bulk.

Creating a Single Customer

With an automatically generated email address

wp edd customers --create=1

With a specific email address

wp edd customers --create=1 --email=john@test.com
With a specific email and name
wp edd customers --create=1 --email=john@test.com --name="John Doe"
Adding in a user ID
wp edd customers --create=1 --email=john@test.com --name="John Doe" user_id=1

Creating Customers in Bulk

wp edd customers --create=1000

Details

The wp edd details command will provide a list of details about your Easy Digital Downloads install, including the version number, a few important settings, your tax rate, and more. It looks like this:

Screenshot from 2014-09-11 10:21:41

Discounts

The  wp edd discounts command provides a list of discount codes available in your store. It accepts an optional –id=# parameter to allow you to view the details of a specific discount code:

wp edd discount

Products

The  wp edd discounts command provides a list of discount codes available in your store. It accepts an optional –id=# parameter to allow you to view the details of a specific discount code:

wp edd discount

Sales

The wp edd sales command will output a list of your recent store sales. Each sale record will include the payment ID, the total, the customer email, the date, the tax, any fees, the payment gateway used, and a list of products included in the purchase:

wp edd sales
Screenshot from 2014-09-11 10:38:47

Stats

The wp edd stats command will show you sales and earnings stats for your store. Running it without any parameters will give you the stats for the current month:

It also accepts several different parameters that let you view the stats for specific dates and/or products:

  • wp edd stats –date=this_month
  • wp edd stats –start-date=01/02/2014 –end-date=02/23/2014
  • wp edd stats –date=last_year
  • wp edd stats –date=last_year –product=15

You can pass any date string to the
–date, —start-date and –end-date parameters, or you can pass one of the following pre-defined periods:

  • today
  • yesterday
  • this_week
  • last_week
  • this_month
  • last_month
  • this_quarter
  • last_quarter
  • this_year
  • last_year

If you want to get the sales and earnings for a specific product, pass in
–produxt=# where is the ID number of the product:

The post EDD WP-CLI Commands Overview first appeared on Easy Digital Downloads.

]]>
Custom Payment Method Icon https://easydigitaldownloads.com/docs/custom-payment-method-icon/ Mon, 24 Jan 2022 19:53:02 +0000 https://edd-site.lndo.site/docs/custom-payment-method-icon/ Through the EDD API you can easily setup new payment method icons. This small code snippet shows you how.

The post Custom Payment Method Icon first appeared on Easy Digital Downloads.

]]>
Through the EDD API you can easily setup new payment method icons. This small code snippet shows you how.

The post Custom Payment Method Icon first appeared on Easy Digital Downloads.

]]>
Changing Choose Payment Mode to Select Menu https://easydigitaldownloads.com/docs/changing-choose-payment-mode-to-select-menu/ Mon, 24 Jan 2022 19:53:01 +0000 https://edd-site.lndo.site/docs/changing-choose-payment-mode-to-select-menu/ Easy Digital Downloads v1.5  introduced an improved payment mode select by changing the drop down menu to radio buttons. If, however, you do not like this and what to use the old method, this doc will explain how to do it. You can place this code into your theme’s functions.php or any custom plugin.

The post Changing Choose Payment Mode to Select Menu first appeared on Easy Digital Downloads.

]]>
Easy Digital Downloads v1.5 
introduced an improved payment mode select by changing the drop down menu to radio buttons. If, however, you do not like this and what to use the old method, this doc will explain how to do it.

You can place this code into your theme’s functions.php or any custom plugin.

The post Changing Choose Payment Mode to Select Menu 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.

]]>
Checking for Variable Prices https://easydigitaldownloads.com/docs/checking-for-variable-prices/ Mon, 24 Jan 2022 19:52:56 +0000 https://edd-site.lndo.site/docs/checking-for-variable-prices/ When building themes for Easy Digital Downloads, it is sometimes necessary to check whether a download has variable prices enabled, and then display specialized markup if one does. EDD provides an easy to use function for checking for variable prices that you can use in your theme. edd_has_variable_prices() is a very useful function that will

The post Checking for Variable Prices first appeared on Easy Digital Downloads.

]]>
When building themes for Easy Digital Downloads, it is sometimes necessary to check whether a download has variable prices enabled, and then display specialized markup if one does. EDD provides an easy to use function for checking for variable prices that you can use in your theme.

edd_has_variable_prices() is a very useful function that will return a simple boolean value; true if variable prices are enabled, false otherwise.

Here is an example of what you might do:

The post Checking for Variable Prices 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.

]]>
Migrating your store from one domain to another https://easydigitaldownloads.com/docs/migrating-your-store-from-one-domain-to-another/ Mon, 24 Jan 2022 19:52:54 +0000 https://edd-site.lndo.site/docs/migrating-your-store-from-one-domain-to-another/ The process for moving your Easy Digital Downloads store from one domain to another is very involved/complex and requires a few different things to be done in a specific order. In regards to changing domains for your store/database and keeping all of your data intact, while that isn’t a service we provide, there are some

The post Migrating your store from one domain to another first appeared on Easy Digital Downloads.

]]>
The process for moving your Easy Digital Downloads store from one domain to another is very involved/complex and requires a few different things to be done in a specific order.

In regards to changing domains for your store/database and keeping all of your data intact, while that isn’t a service we provide, there are some great plugins out there to help with that. One of the best ones available is [thirstylink ids=”1723176″ href=”https://easydigitaldownloads.com/refer/duplicator-pro/”]Duplicator[/thirstylink].

While WordPress does have a built-in import/export tool, unfortunately it is not an extensive one and will miss a lot of your data. This is why plugins like WP Migrate DB Pro exist, which is extremely extensive and provides a complete version of your data after migration. 

Update your payment gateway’s settings:

Depending on your payment gateway, you may need to re-configure the setup at the gateway so that payment confirmations are sent to your new domain, instead of the old one. With Stripe, these are called “Webhooks”, with Paypal Standard this is called an IPN (Instant Payment Notification). Each payment gateway has its own system and term for this, and you may need to adjust this setting in your payment gateway itself. To be sure, go through the setup documentation for your payment gateway again, making sure all of the domain-name-related steps now point at your new domain name. 

Documentation locating tip: You can find the documentation for your gateway on the Easy Digital Downloads website. Go to the sales page for your payment gateway and click the link that says “View Setup Documentation”.

If you are using Recurring Payments:

Similarly to the above payment gateway changes, you may have to adjust additional settings in your payment gateway to account for subscriptions if you’re using the Recurring Payments extension and have existing subscriptions. It’s important to note that renewal payments are initiated by the payment gateway, and the payment gateway then passes that information along to your store. 

In order to have those renewal payments get created on your new domain name when they happen, you’ll need to adjust any webhooks, IPNs, INS, or any other type of notification system your payment gateway might use. You’ll need to change the URL the payment gateway will “ping” when a new renewal payment is processed so that it points at your new domain name. To be sure that you are adjusting the correct setting at your gateway, review the documentation for your chosen payment gateway and follow it’s setup instructions, making sure to use your new domain name this time. 

Important note for PayPal Standard and Recurring Payments:

If you use Paypal Standard: Paypal’s IPNs are set uniquely for each subscription, so updating the IPN is not the only step you need to take here. You will also need to set up a script to catch the IPN data on the old IPN URL, and pass the IPN data to the new IPN URL. So for example, if your old IPN URL was
http://youroldsite.com/?edd-listener=IPN you will need to set up a script to pass the IPN data from that URL to http://yournewsite.com/?edd-listener=IPN.

This means you need to keep your old domain name, and make sure that the IPN is properly passed to your new domain. To do that, you can use a WordPress plugin like
WordPress PayPal IPN Forwarder. Note that plugin is from a 3rd party, and is only provided as an example of how to pass your IPN data to another URL, and is not officially supported or guaranteed by Easy Digital Downloads.

If you are using Software Licensing and delivering updates:

First, you’ll need to update your “call-home” url in your software’s code to call home to the new URL. Then, you will have to serve that update from both the old site and the new site at the same time. This way, your customer’s existing software, which still “calls-home” to the old site, will get the update to the software which contains the new “call-home” url for future updates.  

You’ll have to keep serving the update from the old site for the foreseeable future, until such time as you are confident that all of your customers have updated the software. Otherwise, those old customers will never get the new “call-home” URL and be cut-off from future updates. Ideally, you would keep delivering updates from the old URL forever – but that is up to you. At some point, it would likely be alright to stop serving updates from the old domain. In most cases it is recommend that you keep the old site in-tact and serving updates for at least 1 year.  

Note: If you are hoping to move a single product from one store to another, and you wish to have existing customer’s licenses work on the new site, this is not currently something that is easily possible. The only way to accomplish this would be to migrate the entire site using WP Migrate DB Pro and then delete everything about the site except the data pertaining to that product and its licenses. Attempting this is not recommended.

If you are struggling with migration:

If you’ve already attempted all of the above and are still having difficulty, we have a consultants page of professionals available for hire who can help with migrations. You can reach out to them here:
https://easydigitaldownloads.com/customize-easy-digital-downloads/

The post Migrating your store from one domain to another first appeared on Easy Digital Downloads.

]]>
Customizing the Download History Template https://easydigitaldownloads.com/docs/customizing-the-download-history-template/ Mon, 24 Jan 2022 19:52:53 +0000 https://edd-site.lndo.site/docs/customizing-the-download-history-template/ The download history is shown on any page with the [download_history] shortcode. It will show the name and download links for every file the current user has purchased. The exact layout and display of these elements can be easily modified through a template file placed inside of your theme. The template file used to display

The post Customizing the Download History Template first appeared on Easy Digital Downloads.

]]>
The download history is shown on any page with the [download_history] shortcode. It will show the name and download links for every file the current user has purchased. The exact layout and display of these elements can be easily modified through a template file placed inside of your theme.

The template file used to display the download history is located in 
wp-content/plugins/easy-digital-downloads/templates/history-downloads.php. To modify it, do two things:

  1. Create a folder called edd_templates inside of your currently active theme’s directory.
  2. Copy history-downloads.php to the new folder created in 1.

Once you have created the 
edd_templates directory and copied the file over, you can make any change you wish to the file and your changes will be reflected in the [download_history] shortcode.

The post Customizing the Download History Template 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.

]]>
Tools https://easydigitaldownloads.com/docs/tools/ Mon, 24 Jan 2022 13:52:45 +0000 https://edd-site.lndo.site/docs/recount-stats/ General Recount Stats Recount Stats is a tool that allows you to reset cached versions EDD stats. Stats like Earnings and Sales are cached for the sake of speed. Occasionally those stats get out of sync with the actual totals and need to be reset. Easy Digital Downloads comes with a tool built in to

The post Tools first appeared on Easy Digital Downloads.

]]>
General

Recount Stats

Recount Stats is a tool that allows you to reset cached versions EDD stats. Stats like Earnings and Sales are cached for the sake of speed. Occasionally those stats get out of sync with the actual totals and need to be reset. Easy Digital Downloads comes with a tool built in to help with that.

Under Downloads → Tools → General you’ll find a form like this:

This form will allow you to:

  • Recount Store Earnings and Sales: Recalculates the total store earnings and sales.
  • Recount Earnings and Sales for a download: Recalculates the earnings and sales stats for a specific download.
  • Recount Earnings and Sales for All downloads: Recalculates the earnings and sales stats for all downloads.
  • Recount Customer Stats: Recalculates the lifetime value and purchase counts for all customers.
  • Reset Store: Deletes all payment records, customers, and related log entries.

NOTE: Reset Store really deletes ALL your store transaction data. You’ll still have products, but no more sales, customers, etc. This action is irreversible and cannot be undone, so please be careful.

API Keys

Each user may have API keys for interacting with EDD. These API keys may be generated at Downloads → Tools → API Keys. Each user gets these keys:

  • Public Key
  • Secret Key
  • Token

The keys for all users may be managed by an admin on the Downloads → Tools → API Keys page.

Each user may see their own keys on their profile page.

On the settings page at Downloads → Settings → General there’s an option to allow Users to create and revoke their own keys. If this is on the Users may do that on their profile page:

EDD has an API that is used by most users to connect their mobile app to their store. Both an iOS and Android app are available. Below are both the iOS and the Android app asking for API keys.

You may find mobile apps here:

If you’re a developer and would like more information on using the API to create new things,
please check out the documentation for that.

Beta Versions

Logs

This tab displays logs for File Downloads, Payment Errors and API Requests. Select the type of logs you want displayed then click Filter to view. From and To (optional) fields allow you to select a date range, leave blank if you want to display all.

If you’d like to disable API Logging (not turning off the API) you can simply run this code in a plugin:

	add_filter( 'edd_api_log_requests', '__return_false' );

System Info

Under Downloads → Tools → System Info you’ll be directed to the WordPress Site Health page. When providing System Info data to support, click the “Copy site info to clipboard” button and paste in the support form or email reply. It will look something like this:

This information is very useful when debugging, and the EDD support team may ask you for it at some point.

Debug Log

When debug mode is enabled (Downloads > Settings > Misc > General), specific information will be logged here. There are some situations where something could be logged without debug being enabled.

Import/Export

This tab contains options for store owners / admins to import Orders, Products and Settings and export the store Settings.

Settings

EDD provides a mechanism for both importing and exporting your EDD configuration. Note that this is different from your store data. This allows you to set up a store on one server and copy that exact configuration to another server.

For both import and export go to Downloads → Tools → Import/Export. If you press the Export button you’ll be asked to save a .json file.

The Import box will ask you to upload an .json file that was exported from another EDD system.

The post Tools first appeared on Easy Digital Downloads.

]]>
Cart Item Templates https://easydigitaldownloads.com/docs/cart-item-templates/ Mon, 24 Jan 2022 19:52:44 +0000 https://edd-site.lndo.site/docs/cart-item-templates/ With the release of EDD 1.5, you can now style the look and layout of widget cart items. The template files used to display cart items are located in  wp-content/plugins/easy-digital-downloads/includes/templates/ widget-cart-checkout.php widget-cart-empty.php widget-cart-item.php To modify them, do two things: Create a folder called edd_templates inside of your currently active theme’s directory. Copy the above files to the new

The post Cart Item Templates first appeared on Easy Digital Downloads.

]]>
With the release of EDD 1.5, you can now style the look and layout of widget cart items.

The template files used to display cart items are located in 
wp-content/plugins/easy-digital-downloads/includes/templates/

  • widget-cart-checkout.php
  • widget-cart-empty.php
  • widget-cart-item.php

To modify them, do two things:

  1. Create a folder called edd_templates inside of your currently active theme’s directory.
  2. Copy the above files to the new folder created in step 1.

Once you have created the 
edd_templates directory and copied the files over, you can make any change you wish to the file and your changes will be reflected in the cart widget.

The post Cart Item Templates first appeared on Easy Digital Downloads.

]]>
Linking Product Images in the downloads Shortcode https://easydigitaldownloads.com/docs/linking-product-images-in-the-downloads-shortcode/ Mon, 24 Jan 2022 19:52:43 +0000 https://edd-site.lndo.site/docs/linking-product-images-in-the-downloads-shortcode/ This doc shows how to link the product images shown in the [downloads] shortcode to the product pages. Create a folder called edd_templates inside of your currently active theme’s directory. Create a file called shortcode-content-image.php in the new folder created in 1. Paste the code below into the new file:

The post Linking Product Images in the downloads Shortcode first appeared on Easy Digital Downloads.

]]>
This doc shows how to link the product images shown in the [downloads] shortcode to the product pages.

  1. Create a folder called edd_templates inside of your currently active theme’s directory.
  2. Create a file called shortcode-content-image.php in the new folder created in 1.
  3. Paste the code below into the new file:
<div class="edd_download_image"><a href="<?php echo get_permalink( get_the_ID() ); ?>"> <?php echo get_the_post_thumbnail(  get_the_ID(), 'thumbnail' ); ?> </a></div>

The post Linking Product Images in the downloads Shortcode first appeared on Easy Digital Downloads.

]]>
Showing the Cart Total in Your Template https://easydigitaldownloads.com/docs/showing-the-cart-total-in-your-template/ Mon, 24 Jan 2022 19:52:42 +0000 https://edd-site.lndo.site/docs/showing-the-cart-total-in-your-template/ The edd_get_cart_total() function will let you show the total price of all items in the shopping cart anywhere in your template. This function will return the total price of all items in the shopping cart, though unformatted. Let’s say you have two items in the cart, one priced at $5 and one priced at $8;

The post Showing the Cart Total in Your Template first appeared on Easy Digital Downloads.

]]>
The edd_get_cart_total() function will let you show the total price of all items in the shopping cart anywhere in your template.

This function will return the total price of all items in the shopping cart, though unformatted.

Let’s say you have two items in the cart, one priced at $5 and one priced at $8; this code will echo out “13”:

echo edd_get_cart_total();

This function also includes any taxes, discounts, and fees applicable to the cart.

To show a fully-formatted amount, use:

edd_cart_total();

The post Showing the Cart Total in Your Template first appeared on Easy Digital Downloads.

]]>
Customizing the Purchase History Template https://easydigitaldownloads.com/docs/customizing-the-purchase-history-template/ Mon, 24 Jan 2022 19:52:41 +0000 https://edd-site.lndo.site/docs/customizing-the-purchase-history-template/ The purchase history is shown on any page with the [purchase_history] shortcode. It will show the ID, the date, and the amount of each purchase the current user has made. It will also display download links for each file associated with the product’s purchase. The exact layout and display of these elements can be easily

The post Customizing the Purchase History Template first appeared on Easy Digital Downloads.

]]>
The purchase history is shown on any page with the [purchase_history] shortcode. It will show the ID, the date, and the amount of each purchase the current user has made. It will also display download links for each file associated with the product’s purchase. The exact layout and display of these elements can be easily modified through a template file placed inside of your theme.

The template file used to display the purchase history is located in 
wp-content/plugins/easy-digital-downloads/templates/history-purchases.php. To modify it, do two things:

  1. Create a folder called edd_templates inside of your currently active theme’s directory.
  2. Copy history-purchases.php to the new folder created in 1.

Once you have created the 
edd_templates directory and copied the file over, you can make any change you wish to the file and your changes will be reflected in the [purchase_history] shortcode.

The post Customizing the Purchase History Template 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.

]]>
Custom Button Images https://easydigitaldownloads.com/docs/custom-button-images/ Mon, 24 Jan 2022 19:52:39 +0000 https://edd-site.lndo.site/docs/custom-button-images/ In order to use your own images for EDD buttons, navigate to Downloads > Settings > Styles and change Default Button Styles to Plain Text. You can then use CSS to style. Here’s an example which allows you to change the image for the “Purchase” button: .edd-submit.plain { background: url(PATH_TO_IMAGE) !important; padding: 6px 8px !important; } Adjust the

The post Custom Button Images first appeared on Easy Digital Downloads.

]]>
In order to use your own images for EDD buttons, navigate to Downloads > Settings > Styles and change Default Button Styles to Plain Text.

You can then use CSS to style.

Here’s an example which allows you to change the image for the “Purchase” button:

.edd-submit.plain {
    background: url(PATH_TO_IMAGE) !important;
    padding: 6px 8px !important;
}

Adjust the CSS as you need to.

To change individual buttons, you can prefix the CSS with “#edd_purchase_DOWNLOAD_ID”

The post Custom Button Images first appeared on Easy Digital Downloads.

]]>
Limit the number of times a product can be purchased https://easydigitaldownloads.com/docs/limit-the-number-of-times-a-product-can-be-purchased/ Mon, 24 Jan 2022 19:52:38 +0000 https://edd-site.lndo.site/docs/limit-the-number-of-times-a-product-can-be-purchased/ In general, digital products do not have a need for stock control, but on occasion, such as for users selling tickets or other “digital” items that have a limited quantity, the ability to limit the total number of times a product can be purchased, can be very helpful. The core Easy Digital Downloads plugin does

The post Limit the number of times a product can be purchased first appeared on Easy Digital Downloads.

]]>
In general, digital products do not have a need for stock control, but on occasion, such as for users selling tickets or other “digital” items that have a limited quantity, the ability to limit the total number of times a product can be purchased, can be very helpful.

The core Easy Digital Downloads plugin does not support stock tracking by default, but there is a simple extension that adds this feature.

First, you will need the Purchase Limit extension. Once you have purchased and installed the extension, go to the edit screen of the product you wish to set a purchase limit on.

There are two ways to limit the purchase count for products:

1. For the entire product when using a single price option
2. For individual price options when using variable prices

If using a single price option, you will have a new input field that looks like this:

Screenshot from 2013-10-25 15:06:12

If using variable prices, you will have an input field added to each individual price:

Screenshot from 2013-10-25 15:08:13

When you set a purchase limit, either for the entire product or for individual prices, and that limit is reached (meaning that many customers have purchased it), new customers will no longer be allowed to purchase the item.

Variable price options will display as sold out:

Screenshot from 2013-10-25 15:10:27

Single price products will have their entire purchase button changed to “Sold Out”:

Screenshot from 2013-10-25 15:11:21

If you wish to change the text that is displayed for sold out options, you can go to  Downloads > Settings > Extensions and set your own text there.

The post Limit the number of times a product can be purchased 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.

]]>
Show purchase buttons in template files with edd_get_purchase_link() https://easydigitaldownloads.com/docs/show-purchase-buttons-in-template-files-with-edd_get_purchase_link/ Mon, 24 Jan 2022 19:52:36 +0000 https://edd-site.lndo.site/docs/show-purchase-buttons-in-template-files-with-edd_get_purchase_link/ You can manually display a purchase link for any product by using the  edd_get_purchase_link() function. This will output the purchase options for the specified product. In its simplest form, the function can be used like this: echo edd_get_purchase_link( array( 'download_id' => 37 ) ); If the specified product has  variable prices enabled, the price options will

The post Show purchase buttons in template files with edd_get_purchase_link() first appeared on Easy Digital Downloads.

]]>
You can manually display a purchase link for any product by using the 
edd_get_purchase_link() function. This will output the purchase options for the specified product.

In its simplest form, the function can be used like this:

echo edd_get_purchase_link( array( 'download_id' => 37 ) );

If the specified product has 
variable prices enabled, the price options will be displayed above the purchase button.

The function takes a number of possible arguments:

  • download_id – The ID number of the product to show a purchase link for
  • price – TRUE/FALSE whether or not to show the price on the button
  • direct – TRUE/FALSE whether to create a “Buy Now” button or an “Add to Cart” button. Set to TRUE for a buy now behavior
  • text – The text to show on the button
  • style – button/plain the style of link to show
  • color – The color of the button to show
  • class – Custom class to add to the button wrapper element

The post Show purchase buttons in template files with edd_get_purchase_link() 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.

]]>
Showing the Cart Quantity in Your Templates https://easydigitaldownloads.com/docs/showing-the-cart-quantity-in-your-templates/ Mon, 24 Jan 2022 19:52:35 +0000 https://edd-site.lndo.site/docs/showing-the-cart-quantity-in-your-templates/ It is very common for store themes to include a shopping cart icon along with the number of items in the shopping cart somewhere in the header, or in a sidebar. This snippet will show you how to do that. The  edd_get_checkout_uri() function will output the URL to the checkout page. By adding the  .edd-cart-quantity class to

The post Showing the Cart Quantity in Your Templates first appeared on Easy Digital Downloads.

]]>
It is very common for store themes to include a shopping cart icon along with the number of items in the shopping cart somewhere in the header, or in a sidebar. This snippet will show you how to do that.

The 
edd_get_checkout_uri() function will output the URL to the checkout page.

By adding the 
.edd-cart-quantity class to our quantity SPAN, we make sure that our quantity will get updated via ajax, for those sites that have ajax enabled for Easy Digital Downloads.

The result will look like this:

Cart (3)

The post Showing the Cart Quantity in Your Templates first appeared on Easy Digital Downloads.

]]>
Selling Images with EDD https://easydigitaldownloads.com/docs/selling-images-with-edd/ Mon, 24 Jan 2022 19:52:34 +0000 https://edd-site.lndo.site/docs/selling-images-with-edd/ Easy Digital Downloads is designed to make it incredibly easy for you to sell digital files with WordPress. However, depending on the type of file, there are certain things to consider in order to make the process simpler for both the store owner and the customer. Selling images with EDD creates a situation where the

The post Selling Images with EDD first appeared on Easy Digital Downloads.

]]>
Easy Digital Downloads is designed to make it incredibly easy for you to sell digital files with WordPress. However, depending on the type of file, there are certain things to consider in order to make the process simpler for both the store owner and the customer.

Selling images with EDD creates a situation where the image you’re selling also needs to be displayed for the user to preview. Anyone with a little knowledge of how web browsers work can easily download your images without paying.

This documentation is designed to help you prevent such cases.

What makes images different?

The first thing to understand is that EDD protects files that are uploaded through the
Download Files meta box when creating or editing a download. They are placed inside of a special folder on your server that prevents them from being accessed by those who have not purchased them.

This protected folder restricts access to all files
except for a select few. The unprotected file types are outlined in your EDD-generated .htaccess rules.

As you can see,
.jpg, .png, and .gif are on the list of file extensions to remain unprotected by default. Reason being, restricting access to these file types will also prevent images from showing on the front-end of your site.

So while .htaccess rules can be modified to protect images, you would then face the problem where your images could not be previewed on the site. Your customers will not know what they’re purchasing.

What is the best way to sell images with EDD?

The best solution to this problem is to compress your image files first and upload them that way.
.zip files are protected by default.

If you take this approach, your images can be sold just like any other type of file without any complications.

Previewing Protected Images

Now that your images are compressed and uploaded to the protected folder, you still need a way to display them to your users. You can approach this in a more relaxed manner as the main problem has already been solved.

The first thing to consider is that for most stores that sell images, resolution is important. The higher resolution image is most like the one you’ve zipped and uploaded to be sold. The preview of your image, which would either be uploaded through the Featured Images feature or directly into your product page content, can be much smaller.

Uploading a smaller version of your image that customers can see makes this an overall two-step process but one that avoids the aforementioned issue. Likewise, chances are the smaller image is not of much value to the customers.

How can I still protect my preview images?

Of course, there are cases where you don’t want any of your images, regardless of size, to be of any use to potential customers unless they have made a purchase. Outside of simply not providing preview images, the best solution is to watermark the previews.

The
Download Image Watermark extension allows you to upload a watermark image that gets applied your download images based on the settings you choose. You can easily place a watermark image over every possible size of your preview image, including thumbnails, and still have your main image ready to sell without protection issues.

The post Selling Images with EDD 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.

]]>
Customizing the Plugin CSS https://easydigitaldownloads.com/docs/customizing-the-plugin-css/ Mon, 24 Jan 2022 19:52:33 +0000 https://edd-site.lndo.site/docs/customizing-the-plugin-css/ If you want to modify the default styling included with the plugin, you can very easily do so in an upgrade-safe manner by copying the default CSS file to a specific folder inside of your theme, and then modifying the file to suit your needs. First, create a folder inside of your theme called edd_templates, if

The post Customizing the Plugin CSS first appeared on Easy Digital Downloads.

]]>
If you want to modify the default styling included with the plugin, you can very easily do so in an upgrade-safe manner by copying the default CSS file to a specific folder inside of your theme, and then modifying the file to suit your needs.

First, create a folder inside of your theme called edd_templates, if it doesn’t already exist. The CSS files can be found as below:

  • /blob/main/assets/css/edd.min.css (minified)
  • /blob/main/assets/css/frontend/style.scss (verbose)

Second, copy the file to the new edd_templates directory.

Once you have done this, the plugin will load your custom version of the CSS, instead of the one provided by the plugin.

The post Customizing the Plugin CSS first appeared on Easy Digital Downloads.

]]>
Sample Product Grid for Your Theme https://easydigitaldownloads.com/docs/sample-product-grid-for-your-theme/ Mon, 24 Jan 2022 19:52:32 +0000 https://edd-site.lndo.site/docs/sample-product-grid-for-your-theme/ Creating a product grid, such as seen on the sample  EDD Starter theme is something that you will want to do with a lot of digital store themes. To help you out, here is a sample grid template file.

The post Sample Product Grid for Your Theme first appeared on Easy Digital Downloads.

]]>
Creating a product grid, such as seen on the sample 
EDD Starter theme is something that you will want to do with a lot of digital store themes. To help you out, here is a sample grid template file.

The post Sample Product Grid for Your Theme first appeared on Easy Digital Downloads.

]]>
How to apply Easy Digital Downloads code snippets https://easydigitaldownloads.com/docs/snippets/ Mon, 24 Jan 2022 19:52:31 +0000 https://edd-site.lndo.site/docs/theming-tutorials/ You can find a collection of code snippets on our Library page at https://library.easydigitaldownloads.com/ Install the WPCode Plugin If you are provided with a code snippet to provide a fix or add functionality the best way to apply the snippet is with WPCode. This tutorial will cover how to apply a code snippet using WPCode for

The post How to apply Easy Digital Downloads code snippets first appeared on Easy Digital Downloads.

]]>
You can find a collection of code snippets on our Library page at https://library.easydigitaldownloads.com/

Install the WPCode Plugin

If you are provided with a code snippet to provide a fix or add functionality the best way to apply the snippet is with WPCode. This tutorial will cover how to apply a code snippet using WPCode for your EDD store.

The first thing you need to do is install and activate the free WPCode plugin on your website. For more details, see this guide on how to install a WordPress plugin.

Add Snippet

Upon activation, the plugin will add a new menu item labeled Code Snippets to your WordPress admin bar. Clicking on it will show you a list of all the custom code snippets you have saved on your site.

Since you just installed the plugin, your list will be empty.

Go ahead and click on the Add New button to add your first custom code snippet in WordPress.

Click 'Add New' in WPCode to create a new custom snippet

This will bring you to the Add Snippet page. Here you can choose a code snippet from the pre-made library or add your custom code.

To add custom code, click on the Use snippet button underneath the ‘Add Your Custom Code (New Snippet)’ option.

Add custom code in WPCode

You need to start by entering a title for your custom code snippet. This could be anything that helps you identify the code.

After that, you can copy and paste your code snippet into the code box. Be sure to set the Code Type to PHP Snippet for any EDD code snippet that you are adding.

In the Insertion section, confirm Auto Insert and Run Everywhere is seclected.

Save & set Code Snippet to Active.

Your snippet is now active on your site.

The post How to apply Easy Digital Downloads code snippets first appeared on Easy Digital Downloads.

]]>
Showing the Price for a Download https://easydigitaldownloads.com/docs/showing-the-price-for-a-download/ Mon, 24 Jan 2022 19:52:31 +0000 https://edd-site.lndo.site/docs/showing-the-price-for-a-download/ Showing the price of a digital product can be done with the edd_price() function. This function can be placed anywhere in your theme files and only requires the ID number of the download whose price you want to show. By default the function will echo (not return) a nicely formatted price amount; this includes currency

The post Showing the Price for a Download first appeared on Easy Digital Downloads.

]]>
Showing the price of a digital product can be done with the edd_price() function. This function can be placed anywhere in your theme files and only requires the ID number of the download whose price you want to show. By default the function will echo (not return) a nicely formatted price amount; this includes currency sign and position.

Example:

If you wish to show the price range for a variably priced product you can use the
edd_price_range() function, like so:

echo edd_price_range( $download_id );

This will output a price range like this:

$15 - $35

Other Options

edd_price() can also option return the output (not echo) and also show the prices of specific variations. For more details please read the edd_price() docs.

The post Showing the Price for a Download 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.

]]>
Shop User Roles https://easydigitaldownloads.com/docs/shop-user-roles/ Mon, 24 Jan 2022 19:52:29 +0000 https://edd-site.lndo.site/docs/shop-user-roles/ Easy Digital Downloads includes Shop User Roles, designed to give shop owners much greater control over who can do what, and also make it easier for shops to bring on additional workers without having to worry about them having access to sensitive information. Note: the WordPress role called Administrator has full access to all areas

The post Shop User Roles first appeared on Easy Digital Downloads.

]]>
Easy Digital Downloads includes Shop User Roles, designed to give shop owners much greater control over who can do what, and also make it easier for shops to bring on additional workers without having to worry about them having access to sensitive information.

Note: the WordPress role called Administrator has full access to all areas of the store.

Shop Manager

The Shop Manager role has full access to all Easy Digital Downloads features, as well as all the capabilities of the built-in WordPress Editor role.

Shop Accountant

Shop Accountants can see Order history, Earnings, reports, Downloads, and Customers.

Shop Worker

This role will allow the user or employee to edit and create products, categories, and tags. However, they will not have access to statistics or reports for the products. Shop workers can also access order history.

Shop Vendor

The Shop Vendor role will allow a user to edit and create products specific to their user, but will not have access to anything else, including not being able to delete their own items. This is great for extending product management to multiple vendors within the site. Please note, that this option does not transfer actual funds to these users.

Also, it is important to note that the Shop Vendor user role is not the same as a Vendor in the Frontend Submissions extension. Vendors created as a part of Frontend Submissions will have the user role of “Subscriber”, and their permissions are only on the front-end of your WordPress website, where they are permitted to submit products using the Frontend Submissions form.

Assigning Shop User Roles
To assign a Shop User Role to a specific user, navigate to Users in your WordPress dashboard and select User(s). Specify the role via the roles menu and click “Change”.

The post Shop User Roles 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.

]]>
Customizing the Checkout Cart Template https://easydigitaldownloads.com/docs/customizing-the-checkout-cart-template/ Mon, 24 Jan 2022 19:52:27 +0000 https://edd-site.lndo.site/docs/customizing-the-checkout-cart-template/ The shopping cart shown on the checkout page, illustrated in the image below, can be very easily customized, thanks to the template system in Easy Digital Downloads. The checkout shopping cart is highlighted above.  The change is using the word “Download” in the column headers instead of “Item”. There are two different methods for changing the

The post Customizing the Checkout Cart Template first appeared on Easy Digital Downloads.

]]>
The shopping cart shown on the checkout page, illustrated in the image below, can be very easily customized, thanks to the template system in Easy Digital Downloads.

The checkout shopping cart is highlighted above.  The change is using the word “Download” in the column headers instead of “Item”.

There are two different methods for changing the output of the Checkout template.

  1. Writing code that changes the template based on hooks
  2. Copying the original template to your theme and editing it there.

Using Hooks

The Checkout template has many hooks you can tie into with your own code.  You can
read more about this general process in the WordPress Codex.

Here’s a list of the existing hooks:

  • edd_checkout_table_header_first
  • edd_checkout_table_header_last
  • edd_cart_items_before
  • edd_checkout_table_body_first
  • edd_checkout_table_body_last
  • edd_cart_items_middle
  • edd_cart_items_after
  • edd_cart_footer_buttons
  • edd_checkout_table_subtotal_first
  • edd_checkout_table_subtotal_last
  • edd_checkout_table_discount_first
  • edd_checkout_table_discount_last
  • edd_checkout_table_tax_first
  • edd_checkout_table_tax_last
  • edd_checkout_table_footer_first
  • edd_checkout_table_footer_last

Editing a template file

In order to directly change this template we can copy the template from the EDD templates folder into a folder in your theme.

First, let’s create a new folder called
edd_templates inside of your currently active theme’s folder.

Next, locate the
checkout_cart.php file inside of easy-digital-downloads/templates and copy (not move) it to the newly created edd_templates folder in your theme.

Once you have the file copied to your theme’s folder, you can safely modify it as much as you want.

The
checkout_cart.php file used to render the changed cart above looks like this:

The post Customizing the Checkout Cart Template first appeared on Easy Digital Downloads.

]]>
Admin Ajax Blocked https://easydigitaldownloads.com/docs/admin-ajax-blocked/ Mon, 24 Jan 2022 19:52:27 +0000 https://edd-site.lndo.site/docs/admin-ajax-blocked/ If you receive the following message, it is likely that your store will not function properly: Your site appears to be blocking the WordPress ajax interface. This may causes issues with your store. The admin-ajax.php file is used by Easy Digital Downloads, and many other plugins, to perform common actions in your store, such as applying

The post Admin Ajax Blocked first appeared on Easy Digital Downloads.

]]>
If you receive the following message, it is likely that your store will not function properly:

Your site appears to be blocking the WordPress ajax interface. This may causes issues with your store.

The
admin-ajax.php file is used by Easy Digital Downloads, and many other plugins, to perform common actions in your store, such as applying a discount code, validating the checkout, completing a purchase. It is a very important file. If it is inaccessible, it is very likely that your store will not behave as expected.

Use the suggestions below to help track down the problem and get it resolved.

Plugin Conflicts

Some plugins are known to intentionally block access to
admin-ajax.php. The following types of plugin are often responsible:

  • Security plugins. These plugins often have a setting that disables admin-ajax.php, or a similar setting for blocking access to admin files.
  • Plugins that disable /wp-admin/ access for non-administrators.
  • Minification plugins. These plugins boast performance improvements by shrinking the size of javascript (and other) files. This process often times breaks the javascript in Easy Digital Downloads that is responsible for communicating with admin-ajax.php
  • Caching plugins. Occasionally caching plugins can cause problems with admin-ajax.php by either breaking the javascript that creates the ajax requests or by simply making admin-ajax.php inaccessible

If ajax is not working on your site and you have any plugin that matches the descriptions above, try deactivating the plugins and then testing to see if
admin-ajax.php becomes accessible again. If it does, then you may still be able to use the plugin, you will just need to find the problematic setting in the plugin and disable it.

Host Firewalls

Occasionally, hosting companies will setup a firewall on your site that is intended to protect your site but that also has the adverse affect of blocking access to
admin-ajax.php. If you are having trouble with ajax, check if your host has a firewall and disable if it so. If ajax begins working after disabling the firewall, you have found the culprit. If ajax is still inaccessible after disabling the firewall, you can usually safely re-enable it.

Rules in Your .htaccess File

The
.htaccess file used on apache servers can sometimes include special rules that are designed to protect your site from attacks. Occasionally these rules are applied a little too generally and unintentionally disable access to admin-ajax.php. If your ajax is not working, check to see what rules your .htaccess file contain. If there are any rules beyond those shown below, remove them and see if ajax begins working again.

Your
.htaccessfile will usually contain rules that look like this (these are perfectly safe and normal):

# BEGIN WordPress

RewriteEngine On
RewriteBase /
RewriteRule ^index.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
# END WordPress

Cross Domain Issues

admin-ajax.php must be run on the same domain from which it’s called. Example: if your site is
http://www.example.com and you try to call http://example.com/wp-admin/admin-ajax.php it won’t work. Note the www in the first url, and no www in the second url.

This also applies to an SSL mismatch. https://www.example.com/wp-admin/admin-ajax.php cannot call http://www.example.com/wp-admin/admin-ajax.php. Note the https in the first URL, and no https in the second.

The post Admin Ajax Blocked first appeared on Easy Digital Downloads.

]]>
Template Files for Download Product Pages https://easydigitaldownloads.com/docs/template-files-for-download-product-pages/ Mon, 24 Jan 2022 19:52:26 +0000 https://edd-site.lndo.site/docs/template-files-for-download-product-pages/ Easy Digital Downloads is designed to work right out of the box with most WordPress themes. It does this by using a template hierarchy system in the same way WordPress does. When you create a new product in EDD and view the front-end page, chances are it will display just like a single blog post

The post Template Files for Download Product Pages first appeared on Easy Digital Downloads.

]]>
Easy Digital Downloads is designed to work right out of the box with most WordPress themes. It does this by using a template hierarchy system in the same way WordPress does.

When you create a new product in EDD and view the front-end page, chances are it will display just like a single blog post in your theme. That’s because EDD will use the 
single.php template file in your theme to display the download page.

For many themes, that is perfectly fine. For others, not so much. The good news is you’re not stuck with it. You can create a template file used only by EDD’s single downloads.

EDD only uses the 
single.php template because it can’t find the one it’s looking for: single-download.php. If that template file exists, EDD will use it to display single downloads instead of the template for blog posts.

To create your 
single-download.php template, copy the single.php from the root of your parent them into the root of you active [child] theme. Then rename the file single-download.php.

Note: Just like that, this template is now in use for your single download pages. To confirm, make a small edit to that file, save, and view a download page on the front end of your site to see the change.

The reason you want to copy the template for blog posts is because it gives you a starting point that you can tweak to your needs.

Common Adjustments for Download Templates

* To prevent being locked out of your site because of a code error, please consider making the following edits through FTP and a file editor instead of your WordPress dashboard.

Remove Sidebar

The 
single.php template will oftentimes include a call to the sidebar which can easily be removed if you’d like to limit distractions on your product pages. Most sidebars are called using the get_sidebar() function.

Display Download Categories & Tags

It’s very common for themes to display category and tag information on single blog posts. Unfortunately, the code used to display that information is not the same for single downloads.

If you’d like to display categories and tags on single downloads, remove any category/tag code left over for single posts and use the following code (tweak to your needs):

Categories:

// display download categories
the_terms( $post->ID, 'download_category', 'Categories: ', ', ', '' );

Tags:

// display download tags
the_terms( $post->ID, 'download_tag', 'Tags: ', ', ', '' );

Template Parts (advanced)

It’s very possible that your WordPress theme uses the 
get_template_part() function inside of template files for better file organization. This function allows theme developers to take a portion of a template file and place it in another file.

If the 
single.php file you copied uses get_template_part() to remove part of the single post HTML into another file, your new single-download.php file will do the same. Use the parameters in the function to find which file holds this HTML.

Ex. 
get_template_part( 'content', 'single' ) refers to content-single.php.

The code in this file (typically just the HTML, not the opening PHP tag at the top of the file) can be copied and pasted in place of the 
 call from your single-download.php file. That way you have all of the template to play with as you design your single download page.

Frameworks & Special Themes

There’s always a chance your WordPress theme does not use the standard structure which makes this process a bit complicated.

Many frameworks do not use a 
single.php template file at all. Instead, they use maybe just one template file that follows a chain of code through multiple files to build a template structure.

If that’s the case with your framework, first understand that if your framework supports child themes, you can still create a 
single-download.php file in the root of your child theme and EDD will use it. However, you just won’t have much of a structure to start with unless you understand the framework well enough to mimic its structure.

If your framework or special theme does not support child themes, your best bet is to see if the theme support community has already created a solution for integrating with EDD.

Chances are your single downloads will display just fine as they will use whatever structure is already created for single blog posts. It’s creating a custom single download page where things get complicated.

The post Template Files for Download Product Pages first appeared on Easy Digital Downloads.

]]>
Creating Custom Add to Cart Links https://easydigitaldownloads.com/docs/creating-custom-add-to-cart-links/ Mon, 24 Jan 2022 19:52:25 +0000 https://edd-site.lndo.site/docs/creating-custom-add-to-cart-links/ Many times when building a site or theme with Easy Digital Downloads, you will want to create custom purchase/add-to-cart buttons that allow your users to purchase a digital product. Sometimes the button options that come with EDD are not quite suited to your application. Luckily, there is a very simple way to turn any hyperlink

The post Creating Custom Add to Cart Links first appeared on Easy Digital Downloads.

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

Creating the link

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

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

This

ID_OF_THE_DOWNLOAD

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

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

Redirect to checkout

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

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

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

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

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

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

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

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

Sending customers straight to PayPal

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

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

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

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

Including an item quantity

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

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

Including a discount code

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

http://example.com/?edd_action=add_to_cart&download_id=ID_OF_THE_DOWNLOAD&discount=CODE
where CODE is the discount code you wish to use.

The post Creating Custom Add to Cart Links first appeared on Easy Digital Downloads.

]]>
Moving EDD Templates To Your Theme https://easydigitaldownloads.com/docs/moving-edd-templates-to-your-theme/ Mon, 24 Jan 2022 19:52:25 +0000 https://edd-site.lndo.site/docs/moving-edd-templates-to-your-theme/ Occasionally you may wish to edit one of the templates that come with Easy Digital Downloads. Instead of editing the templates right in the plugin you should move them to your theme, so that your changes aren’t lost when you update the Easy Digital Downloads plugin. This document will show you how to safely move

The post Moving EDD Templates To Your Theme first appeared on Easy Digital Downloads.

]]>
Occasionally you may wish to edit one of the templates that come with Easy Digital Downloads. Instead of editing the templates right in the plugin you should move them to your theme, so that your changes aren’t lost when you update the Easy Digital Downloads plugin. This document will show you how to safely move template files to your theme.

Creating the Theme Location

First in your theme’s folder create a folder called edd_templates/. Then go to the plugin folder for Easy Digital Downloads and find the templates/ folder. Simply copy any file you wish from the templates/ folder into your new edd_templates/ folder and WordPress will automatically begin using your new copy.  You may then safely make any changes you wish.

Note: please use a child theme whenever possible to avoid a theme update from deleting your custom template files.

Available Template Files

Any template file in the list below may be moved to your edd_templates/ folder. If a file is in a sub-folder in the EDD template folder then you need to make that same sub-folder in your edd_templates/ folder. Example: edd_templates/emails/

Note: you should only move template files that you’re actually going to change. That way all the files you do not change will continue to get updates from EDD.

CSS Files can be found under:

  • /assets/css/edd.min.css (minified)
  • /assets/css/frontend/style.scss (verbose)

PHP Files

  • account-pending.php
  • checkout_cart.php
  • Emails
    • body-default.php
    • body.php
    • footer-default.php
    • footer.php
    • header-default.php
    • header.php
  • history-downloads.php
  • history-purchases.php
  • payment-processing.php
  • shortcode-download.php
  • shortcode-content-cart-button.php
  • shortcode-content-excerpt.php
  • shortcode-content-full.php
  • shortcode-content-image.php
  • shortcode-content-price.php
  • shortcode-content-title.php
  • shortcode-login.php
  • shortcode-profile-editor.php
  • shortcode-receipt.php
  • shortcode-register.php
  • widget-cart-checkout.php
  • widget-cart-empty.php
  • widget-cart-item.php
  • widget-cart.php

Images

  • Icons
    • amazon.gif
    • americanexpress.gif
    • discover.gif
    • iphone.png
    • mastercard.gif
    • paypal.gif
    • visa.gif
  • loading.gif
  • tick.png
  • xit.gif

Fonts

  • EDD-Icons.dev.svg
  • EDD-Icons.eot
  • EDD-Icons.json
  • EDD-Icons.svg
  • EDD-Icons.ttf
  • EDD-Icons.woff
  • padlock.eot
  • padlock.svg
  • padlock.ttf
  • padlock.woff

The post Moving EDD Templates To Your Theme first appeared on Easy Digital Downloads.

]]>
How do I get beta versions of extensions? https://easydigitaldownloads.com/docs/how-do-i-get-beta-versions-of-extensions/ Mon, 24 Jan 2022 19:52:04 +0000 https://edd-site.lndo.site/docs/how-do-i-get-beta-versions-of-extensions/ The Easy Digital Downloads development team often releases beta versions of extensions for large updates to help ensure the upgrade process goes smoothly. If you would like to receive plugin update notifications anytime a beta version of an extension you’re using is available, follow the steps below to opt into beta updates. First, navigate to

The post How do I get beta versions of extensions? first appeared on Easy Digital Downloads.

]]>
The Easy Digital Downloads development team often releases beta versions of extensions for large updates to help ensure the upgrade process goes smoothly.

If you would like to receive plugin update notifications anytime a beta version of an extension you’re using is available, follow the steps below to opt into beta updates.

First, navigate to
Downloads > Tools > Beta Versions. Here you will be presented with a list of checkboxes, one for each premium extension used on your site.

Second, check the box next to each extension you would like to receive update notifications for pre-release beta versions.

After choosing the extensions you wish to opt-in for, click
Save Changes. Anytime a new beta version is available, an update notification will be shown in your Plugins page, just like any other plugin update.

Important notes:

  • Beta updates are only available to valid license key holders.
  • Beta versions are intended to be stable and fully functional but due to their beta nature, they may sometimes introduce unexpected behavior.
  • It is not advised that beta versions be installed on live sites. Please use a test site.
  • Beta version releases are announced on our development blog.
  • Beta version update notifications may not show up on your Plugins page for several hours after opting in. If you are attempting to install a beta but do not see the update notification, wait a few hours and check again.

The post How do I get beta versions of extensions? first appeared on Easy Digital Downloads.

]]>
How do I setup an affiliate program with EDD? https://easydigitaldownloads.com/docs/how-do-i-setup-an-affiliate-program-with-edd/ Mon, 24 Jan 2022 19:52:01 +0000 https://edd-site.lndo.site/docs/how-do-i-setup-an-affiliate-program-with-edd/ Affiliate programs can be a powerful way to increase the number of sales in your online store. People are more likely to promote your product if the process is comfortable and familiar. Below are a number of options that are compatible with Easy Digital Downloads, choose the one that works best for your affiliates. AffiliateWP

The post How do I setup an affiliate program with EDD? first appeared on Easy Digital Downloads.

]]>
Affiliate programs can be a powerful way to increase the number of sales in your online store. People are more likely to promote your product if the process is comfortable and familiar. Below are a number of options that are compatible with Easy Digital Downloads, choose the one that works best for your affiliates.

AffiliateWP

Created by some of the same people that created EDD, AffiliateWP has excellent integration with EDD. Offering several pricing options and a wide variety of add-ons, AffiliateWP is a flexible option for your affiliate program.

Additionally, there are a variety of other affiliate platforms that are compatible with Easy Digital Downloads.

The post How do I setup an affiliate program with EDD? first appeared on Easy Digital Downloads.

]]>
Modify text strings using Say What? plugin https://easydigitaldownloads.com/docs/modify-text-strings-using-say-what-plugin/ Mon, 24 Jan 2022 19:51:24 +0000 https://edd-site.lndo.site/docs/modify-text-strings-using-say-what-plugin/ WordPress plugins and themes are tools that allow you to customize the functionality and look of your WordPress website. Many of them include settings and configuration options that allow you to tweak things to your needs. For example, Easy Digital Downloads gives you the ability to control the email subject and heading of the Purchase

The post Modify text strings using Say What? plugin first appeared on Easy Digital Downloads.

]]>
WordPress plugins and themes are tools that allow you to customize the functionality and look of your WordPress website. Many of them include settings and configuration options that allow you to tweak things to your needs. For example, Easy Digital Downloads gives you the ability to control the email subject and heading of the Purchase Receipt email sent to customers after a purchase:

While these types of settings are convenient when you need to modify text that is included in a plugin or theme, it isn’t feasible to include such settings for
all text strings. Some text strings, whether displayed to users, or only displaying in the WordPress admin, are assumed to be sufficient for viewers and cannot be easily modified.

This is where the
Say What? WordPress plugin comes in handy. Say What? takes advantage of a WordPress standard that encourages plugin and theme developers to make all text strings “translation-ready.” When a text string is translation-ready, that means with the proper WordPress configuration, the plugin or theme can be translated to a different language.

Say What? has the ability target those translation-ready text strings individually and modify them as needed.

Using Say What? to modify a text string

Let’s look at a simple example for how to modify a text string using the
Say What? plugin.

When a product is added to the cart in Easy Digital Downloads, and the customer proceeds to the checkout page, the checkout cart is displayed with a list of products that the customer has added to the cart.

Notice the “Item Name,” “Item Price,” and “Actions” headings that display above the columns in the checkout cart. Those are text strings included in Easy Digital Downloads. However, there are no settings to change that text. So we’ll use
Say What? to modify the “Item Name” text using the following steps.

1. Install and activate
Say What?. If you are not familiar with how to install a WordPress plugin, view this article from WP Beginners.

2. Once activated, go to
Tools -> Text changes in your WordPress dashboard and click the Add New button at the top of the page.

3. You will be presented with four text fields:
Original string, Text domain, Text context, and Replacement string.

  • Original string – This field is for the text you are attempting to change. In this case, we want to change the “Item Name” text string, so that is exactly what you would enter into the field. Note: This field is case-sensitive. That means you must enter the text exact as it is displayed. “Item Name” and “item name” are not the same text string.
  • Text domain – This field requires a unique identifier that each plugin or theme must have. For Easy Digital Downloads, the text domain is easy-digital-downloads. If you need assistance finding the text domain for another plugin or theme, please contact the developer.
  • Text context – This field isn’t always required. Sometimes, two or more text strings in a single plugin or theme are exactly the same. When this happens, developers will typically provide context for each text string that helps identify where each particular string is used. In most cases, this field can be left blank.
  • Replacement string – This field is your playground. The text you place in the Original string field will be replaced by whatever you put in this field.

4. Save your new Text change and check the results.

Here’s a look at a text change the fits our example work:

With that text change added, we can expect “Item Name” to be replaced by “My Custom Text” on the checkout cart.

Success!

Troubleshooting & common issues

There are times when using
Say What? is a little more complicated than the example above. If you’ve created a new text change and it is not working properly, there are a few different things to check for.

Case-sensitivity

Make sure your
Original string value uses the same case pattern as the text string you are trying to modify. My Text String is not the same as my text string.

Placeholders

Translation-ready strings in WordPress may be wrapped in PHP code that allows parts of the text to be replaced by placeholders.

For example, Easy Digital Downloads displays an error on the checkout page if a customer tries to complete a purchase using an email address that belongs to another customer. The following message will be displayed:

The email address test@email.com is already in use.

While that looks like a normal text string to the customer, the actual text string uses a PHP placeholder to allow the email address to hold a different value based on the email address the customer is attempting to use. So the actual text string looks like this:

The email address %s is already in use.

As you can see,
%s is the placeholder for the email address. When you create your text change in Say What?, the Original string field requires that you include the text string as-is, meaning your value may include one or more PHP placeholders.

Text context required

It’s not uncommon for two different text strings to be exactly the same. When this occurs, developers are encouraged to provide a context that explains where each text string is used in order to differentiate one from the other.

If you were to search a plugin or theme’s code base for a specific text string, for example, the text string “Save” in a particular plugin, you may find that this exact text string is used in three different places. That means without context, modifying the text string will cause changes in all three locations. To avoid that, you may notice a translation-ready text string in the code base that looks like this:

__( 'Save', 'the button for saving plugin settings', 'text-domain');

This text string provides a context of
the button for saving plugin settings. When you create your text change in Say What?, make sure you enter that exact value into the Text context field.

Notes & tips

Sometimes it will take a bit of work to track down a text string. The text string itself may not always be the same as the text you see displayed on your website.

A quick way to find the exact text string you are looking for is to look in the plugin or themes root folder for a
languages directory, and then search that directory for a file ending with .pot. This file should include a complete list of translation-ready strings provided by the plugin or theme. Strategically search the list for your string. For example, you may want to search “already in use” when looking for the string from our Placeholders example.

If you cannot find a text string, contact support for the plugin or theme and ask for help tracking it down. It could be that you simply overlooked it, or that the text string isn’t translation-ready.

The post Modify text strings using Say What? plugin first appeared on Easy Digital Downloads.

]]>
Updating Easy Digital Downloads & Extensions https://easydigitaldownloads.com/docs/updating-easy-digital-downloads-extensions/ Mon, 24 Jan 2022 19:50:51 +0000 https://edd-site.lndo.site/docs/before-you-update/ When installing updates there are a variety of steps that should be taken first.  Properly preparing for the updates can relieve both immediate and long term stress and help keep your site running smoothly. For information about updating Easy Digital Downloads extensions, you can use this guide. Staging Before you update you should absolutely test the

The post Updating Easy Digital Downloads & Extensions first appeared on Easy Digital Downloads.

]]>
When installing updates there are a variety of steps that should be taken first.  Properly preparing for the updates can relieve both immediate and long term stress and help keep your site running smoothly.

For information about updating Easy Digital Downloads extensions, you can use this guide.

Staging

Before you update you should absolutely test the new software on a staging server.  A staging server is built exactly the same way as your live server, but no-one uses it for real business, so you can test new plugins, and new versions of plugins without worrying about crashing your live site.

Please read this document on
how to create and maintain a staging server.

Backups

Before updating plugins a production server you should make a backup of your entire site.  There are a wide variety of options here. You could simply grab a backup of your database and FTP your files to a backup location.  A better option is to use a backup plugin or service. These make it much easier and faster to make a backup, which makes it much more likely that you’ll actually do it.

Free Options

WordPress.org has many many backup plugins available.  They have a variety of options and tools, feel free to experiment and find one that fits you.

Paid Options

BackupBuddy is a plugin with an optional storage service that has a great many options and comes with paid support.

VaultPress is both a plugin and a storage service and is owned by Automattic.

Regardless of method, please be sure to always make a backup of your entire site before updating any plugins.

Updating via WordPress Dashboard

On your WordPress Plugins admin panel you should see Easy Digital Downloads.  When there is an update available on WordPress.org the EDD section will turn pale orange, and have a red bar on the left edge.

There will be a link to update, like in the screenshot below.

Once you click it, a small updating spinner will appear, and then it will say “Updated!”.

Then your update is finished.

Installing updates Manually

First go to the WordPress plugins repository at
https://wordpress.org/plugins/ and search for Easy Digital Downloads. Then click on the Easy Digital Downloads link.

Then when you’re on the Easy Digital Downloads page, click on the download link.

Once you have the zip file, open it (typically by double clicking it) and inside you’ll file a folder called easy-digital-downloads. Use your favorite file transfer tool to copy that FOLDER (not merely its contents) to your server, and place it in /wp-content/plugins/

Then go to the plugins page in your WordPress site and you should see Easy Digital Downloads in the plugin list. Click the Activate link and you’ll be ready to use the plugin.

The post Updating Easy Digital Downloads & Extensions first appeared on Easy Digital Downloads.

]]>
Creating a Customer Account Page https://easydigitaldownloads.com/docs/customer-account-page/ Mon, 24 Jan 2022 19:50:21 +0000 https://edd-site.lndo.site/docs/creating-a-customer-account-page/ By default, an Order History page is created for you when EDD is activated to provide customers access to purchase receipts and downloads. You can edit this page to create a fully customized customer account page. 1. Rename the page (Optional Step) Many stores prefer “Your Account” or just “Account” but this is entirely up to

The post Creating a Customer Account Page first appeared on Easy Digital Downloads.

]]>
By default, an Order History page is created for you when EDD is activated to provide customers access to purchase receipts and downloads. You can edit this page to create a fully customized customer account page.

1. Rename the page (Optional Step)

Many stores prefer “Your Account” or just “Account” but this is entirely up to you.

2. Add the Profile Editor (Optional Step)

Below the Order History block (or shortcode), you can add the [edd_profile_editor] shortcode to give your customers the option to edit their account information, such as name, email, and password.

Once your page is published, customers will be able to view their order history and edit their profile details. If a logged-out user accesses the page, they will be presented with a login form.

If desired, you can create a new page for a customer account page.

  1. Either create a new page or edit an existing page
  2. In the content area put in the EDD Order History block or the shortcode [purchase_history]] if your site doesn’t support blocks.
  3. Save your page
  4. In the Admin area go to Downloads > Settings > General > Pages and at the top, use the dropdown box labeled “Order History Page” to select the page you just created.
  5. Save your settings

3. Add Custom fields (Optional Step)

If you are using the Recurring Payments extension or perhaps Software Licensing, you can further add the corresponding Block or Shortcode from those extensions on the same page to create an all in one area for all of the customer’s history on your website.

NOTE: This information is only visible to logged-in users, and they may only see their own account information.

The post Creating a Customer Account Page first appeared on Easy Digital Downloads.

]]>