How to Hide or Rename a My Account Tab in WooCommerce

How to Hide or Rename a My Account Tab in WooCommerce
On this page
  1. Why Customize the My Account Menu
  2. Step 1: Find the Tab's Key
  3. Step 2: Hide a Tab
  4. Step 3: Rename a Tab
  5. Troubleshooting
  6. Frequently Asked Questions
  7. Conclusion

You can hide or rename a My Account tab in WooCommerce by filtering the account menu items array, either unsetting the tab’s key entirely to remove it or reassigning its label to change the displayed text — both work for default tabs and custom tabs added by other plugins.

Why Customize the My Account Menu

  • Hide tabs your store doesn’t use, like Downloads on a physical-goods-only store
  • Rename generic labels (“Addresses”) to something more specific to your business (“Delivery Address”)
  • Simplify the account dashboard for a cleaner customer experience

Step 1: Find the Tab’s Key

Every My Account tab has an internal key visible in its URL, such as edit-address, orders, or downloads. The default keys are:

PHP
$items = array(
    'dashboard'       => 'Dashboard',
    'orders'          => 'Orders',
    'downloads'       => 'Downloads',
    'edit-address'    => 'Addresses',
    'payment-methods' => 'Payment methods',
    'edit-account'    => 'Account details',
    'customer-logout' => 'Log out',
);

Custom tabs added by other plugins (like a Subscriptions or Wishlist tab) will have their own keys, visible the same way in the account page URL.

Step 2: Hide a Tab

PHP
/** Remove the Downloads tab from My Account */
add_filter( 'woocommerce_account_menu_items', 'remove_downloads_account_tab', 9999 );

function remove_downloads_account_tab( $items ) {
    unset( $items['downloads'] );
    return $items;
}

Step 3: Rename a Tab

PHP
/** Rename "Addresses" to "Delivery Address" in My Account */
add_filter( 'woocommerce_account_menu_items', 'rename_addresses_account_tab', 9999 );

function rename_addresses_account_tab( $items ) {
    $items['edit-address'] = 'Delivery Address';
    return $items;
}
Hide or rename a my account tab in WooCommerce: the page before adding the code
Before
Hide or rename a my account tab in WooCommerce: the page after adding the code
After

Troubleshooting

Hiding a Tab Doesn’t Actually Restrict Access to Its Page

Removing a tab from the menu only hides it visually — the underlying endpoint URL is typically still reachable directly unless you also add logic to redirect away from it.

A Plugin-Added Tab’s Key Isn’t Obvious

Visit that tab while logged into your account and check the URL — the endpoint slug shown there is the exact key to use in the filter.

Renamed Tab Reverts After a Plugin Update

Confirm your snippet is running at a late enough priority (9999 in the examples above) so it applies after the tab is originally registered by WooCommerce or the relevant plugin.

Frequently Asked Questions

Can I reorder the tabs instead of just hiding or renaming them?

Yes — rebuild the array in your desired order inside the same filter function, since the array’s order determines the menu’s display order.

Does hiding a tab delete the associated data?

No — hiding a tab only affects its visibility in the menu; underlying data (orders, addresses, payment methods) remains fully intact.

Can I hide a tab for only certain user roles?

Yes — wrap the unset logic in a current_user_can() check so the tab only disappears for specific roles.

Conclusion

Hiding or renaming a My Account tab in WooCommerce is a single filter on the account menu items array. If you need the underlying page fully inaccessible rather than just hidden from the menu, pair this with an additional access-restriction check.

See also How to Add a New Tab to the WooCommerce My Account Page.

Prefer no code? All-in-One Utilities Woo Add-on handles this kind of change from a settings screen. Its My Account menu and tabs guide also shows how.

Leave a Reply

Schedule a call