In This Article
2. Why your account tabs are worth the effort
3. The manual route: adding a custom tab with code
3.1. Step 1 — Register a new endpoint
3.2. Step 2 — Add the tab to the account menu
3.3. Step 3 — Output the tab’s content
3.4. Bonus: show a tab only to certain users
3.5. Where the manual route runs out of road
4. The easy way (free): rename, reorder, and organize your tabs
5. The powerful way (Pro): custom tabs built entirely in Divi
6. Pulling it together
Same five or six links on every WooCommerce store in the world.
It works, but it’s generic. You can’t easily rename those tabs, reorder them, add your own, or put anything genuinely useful inside them. And that’s a shame, because this is one of the most valuable pages on your whole site.
Why your account tabs are worth the effort
That makes those tabs prime real estate. A well-thought-out account menu can hold a getting-started guide, support and contact info, loyalty rewards, recommended products, downloads, license keys, or anything else that keeps people engaged and coming back. Left on the default, it does none of that.
So customizing your tabs isn’t decoration. It’s turning a generic utility page into something that actually works for your business.
The same logic applies to the account page as a whole, and it’s worth understanding what it costs you when it’s left on the default: Your WooCommerce My Account Page Is Quietly Costing You Repeat Sales.
Let’s look at how to do it — first with code, then the easier way.
The manual route: adding a custom tab with code
Step 1 — Register a new endpoint
function pt_add_custom_endpoint() {
add_rewrite_endpoint( 'my-tab', EP_ROOT | EP_PAGES );
}
add_action( 'init', 'pt_add_custom_endpoint' );
Step 2 — Add the tab to the account menu
function pt_add_custom_menu_item( $items ) {
// Remove logout so we can re-add it at the end
$logout = $items['customer-logout'];
unset( $items['customer-logout'] );
// Add your custom tab
$items['my-tab'] = __( 'My Tab', 'your-textdomain' );
// Put logout back at the bottom
$items['customer-logout'] = $logout;
return $items;
}
add_filter( 'woocommerce_account_menu_items', 'pt_add_custom_menu_item' );
Step 3 — Output the tab’s content
function pt_custom_tab_content() {
echo 'Welcome
';
echo 'This is my custom account tab.
';
}
add_action( 'woocommerce_account_my-tab_endpoint', 'pt_custom_tab_content' );
Bonus: show a tab only to certain users
function pt_role_based_tab( $items ) {
if ( current_user_can( 'administrator' ) ) {
$items['admin-tools'] = __( 'Admin Tools', 'your-textdomain' );
}
return $items;
}
add_filter( 'woocommerce_account_menu_items', 'pt_role_based_tab' );
Where the manual route runs out of road
But look at what you can’t easily do here. The content of your tab is raw PHP echo statements. Want a nicely designed layout with columns, images, buttons, and your brand styling? You’re now hand-writing HTML and CSS inside PHP. Want to drop your actual Divi-designed sections in there? That’s not something this approach handles at all. And want to mix in WooCommerce’s own dynamic content — like the customer’s orders table or downloads — inside your custom layout? That’s a serious amount of extra code.
So the code route gets you a tab. It doesn’t easily get you a beautifully designed tab. For that, there’s a much simpler path.
The easy way (free): rename, reorder, and organize your tabs
- Rename any tab to match your language and brand
- Reorder the tabs into the sequence that makes sense for your store
- Add icons to each tab so the menu looks intentional, not default
- Set a custom landing tab, so customers see the page you choose first instead of the default dashboard
🎉 Thank You — Your Download Is Ready!
Your Free Divi My Account Layout Pack is ready to download.
We’ve also sent the download link to your email, so you can access it anytime.
What to do next
These layouts work together with our free Divi My Account Page Lite plugin — if you haven’t installed it yet, you can get it from the WordPress repository.
New to importing Divi layouts? This guide walks you through the whole thing in a few minutes: How to Import the Free Divi My Account Layout Pack.
The powerful way (Pro): custom tabs built entirely in Divi
With Divi My Account Page Pro, you can add your own custom tabs and design their content entirely in the Divi Builder. Not PHP. Not hand-written HTML. Actual Divi layouts, with everything you already know how to build.
That means a custom tab can contain:
- Any Divi layout you want — sections, columns, images, buttons, calls to action, your full design toolkit
- WooCommerce’s own dynamic content, placed inside your design — you can drop the orders table, the downloads table, and other default endpoint content in between your own Divi elements. So you could have a welcome banner, then the customer’s orders, then a promo section, then their downloads, all in one designed tab
- Role-based visibility — show specific tabs only to the user roles you choose
You get all the tab basics from the free version too — rename, reorder, icons, custom landing tab — plus the ability to build the tabs themselves like any other Divi page.
Pulling it together
And tabs are only one half of the account area — the dashboard they lead to is the other, and it’s usually just as neglected: How to Customize the WooCommerce Account Dashboard in Divi.


