Skip to content
Gaurav TiwariDocs

Set Up the Customer Account Page

Version 1.0.0-beta.1 Updated October 28, 2026

Easy Digital Downloads gives you separate shortcodes for purchase history, download history and the profile editor. Once you add subscriptions, licenses and invoices, customers need one place to find all of it, and you don’t want to build that page by hand.

Free in Lite: the account page is also in Stackless Lite for EDD, the free edition, with the tabs of the Lite modules you switch on.

Stackless for EDD adds a single account page. It shows EDD’s own orders, downloads and profile in tabs, and every module you switch on adds its own tab next to them.

Find the Account Page

When you activate Stackless for EDD, it creates a published page called Account (slug account) that holds one shortcode:

[stackless_edd_account]

In Pages → All Pages, that page carries the label “Stackless Account Page”. Add it to your menu so customers can reach it.

Stackless remembers this page in the stackless_edd_account_page_id option, and every tab link points to it. There’s no setting to pick another page. If the page is deleted, Stackless creates a new one the next time the plugin is activated or updated.

Keep the shortcode on the page Stackless created. If you put it on a different page, the tabs still render, but their links go back to the recorded page.

What Customers See

A customer who isn’t logged in sees the Easy Digital Downloads login form. After logging in, they come back to the account page.

A logged-in customer sees a menu of tabs on the left and the open tab on the right. The first tab, Orders, opens by default. A Log out link sits at the bottom of the menu.

The Stackless for EDD account page for a logged-in customer, with the Orders tab open listing three orders and a menu of Saved carts, Downloads, Subscriptions, Invoices, Quotes, My courses, Refer & Earn, Wishlist, Profile and Log out.

Messages from Stackless, such as a confirmation after an action, show at the top of the page.

The Account Tabs

Three tabs are always there. They show Easy Digital Downloads’ own screens:

  • Orders: EDD’s purchase history, from the [purchase_history] shortcode. Each order links to its receipt.
  • Downloads: EDD’s download history, from [download_history].
  • Profile: EDD’s profile editor, from [edd_profile_editor].

Modules add the rest. Here’s every tab in the order customers see it:

TabAdded byWhen it shows
OrdersStackless coreAlways
Saved cartsSaved Carts & Order AgainWhile the module’s Account page setting is on (default)
DownloadsStackless coreAlways
LicensesSoftware LicensingWhen the customer has at least one license
SubscriptionsSubscriptionsAlways, while the module is on
InvoicesCustom InvoicesAlways, while the module is on
QuotesRequest a QuoteAlways, while the module is on
My pagesPage AccessWhen the My pages tab setting is on (default) and the customer has unlocked pages or links
Payment methodsStripe and PayPalWhen Stripe is set up, PayPal is on with credentials or the customer has a saved PayPal account
Refer & EarnCoupon AffiliatesWhen the customer is an affiliate, or has a qualifying paid order and Joining isn’t limited to accounts you add
WishlistWishlistWhile the module’s Account page setting is on (default)
ProfileStackless coreAlways

Stripe and PayPal share one Payment methods tab, so a customer with both sees their saved cards and PayPal accounts in the same place.

The Licenses tab on the Stackless for EDD account page, showing two active license keys with Copy key and Download latest version buttons, the site count, expiry date, latest version and a list of activated sites with Deactivate buttons.

Rename or Hide a Tab

A few tabs have settings under Stackless → Settings:

  • Page Access → My pages tab: list unlocked pages and links on the account page. On by default. The [stackless_edd_my_pages] shortcode works either way.
  • Page Access → Tab label: rename My pages, for example to My courses.
  • Coupon Affiliates → Tab label: rename Refer & Earn.
  • Saved Carts & Order Again → Account page: show the Saved carts tab. On by default. The shortcode still works without it.
  • Wishlist → Account page: show the Wishlist tab. On by default.

Switching a module off removes its tab.

Each tab has its own address. Add ?account-tab= and the tab’s ID to the account page URL:

TabID
Ordersorders
Saved cartssaved-carts
Downloadsdownloads
Licenseslicenses
Subscriptionssubscriptions
Invoicesinvoices
Quotesquotes
My pagespages
Payment methodspayment-methods
Refer & Earnrefer-and-earn
Wishlistwishlist
Profileprofile

For example, https://example.com/account/?account-tab=subscriptions opens the Subscriptions tab. An unknown or hidden tab ID opens the first tab instead. In code, stackless_edd_account_url( 'subscriptions' ) returns the same link.

Change the Layout or Add a Tab

The page layout comes from templates/account/account.php in the plugin. To change it, copy it to your theme as stackless-edd/account/account.php. The account styles load only on the account page.

Developers can add a tab with the stackless_edd_account_tabs filter. Lower priority numbers show first, so 35 lands between My pages and Payment methods:

add_filter( 'stackless_edd_account_tabs', function ( $tabs ) {
    $tabs['support'] = [
        'title'    => 'Support',
        'icon'     => 'mail',
        'priority' => 35,
        'callback' => function ( array $query ) {
            echo '<p>Need help? Reply to any receipt email.</p>';
        },
    ];
    return $tabs;
} );

The callback prints the tab’s content and receives the page’s other query args, such as ['id' => 42] for a detail view. A tab without a working callback is skipped.

Good to Know

  • Hide Price Until Login can send guests to this page to log in. Its Login page setting defaults to Stackless account page.
  • The account page doesn’t replace EDD’s shortcodes. You can still use [purchase_history], [download_history] and [edd_profile_editor] on other pages.
  • Developers can point Stackless at a different page with the stackless_edd_account_page_id filter.
  • Tab icons come from the plugin’s assets/icons/ folder, such as mail or heart. A custom tab with no icon gets sparkles, and a name that isn’t in the folder shows no icon.
Share

Was this helpful?

Still stuck? Open a support ticket