Practical WordPress guide

Rename My Account Menu for WooCommerce: safe setup, failure cases, and rollback

A plain-language guide for nontechnical site owners. It separates what the parent plugin really knows from what a helper plugin should never guess.

Reviewed July 17, 2026Official-source links includedNo invented performance claims

Direct answer

To rename WooCommerce My Account menu items safely, filter the array supplied through woocommerce_account_menu_items, replace only the visible value for a native key that is already present, and return every key and destination unchanged.

Do not change endpoint keys, register routes, create pages, redirect customers, replace the account template, or query customer and order data just to change words.

StoreFixKit's Rename My Account Menu for WooCommerce follows that boundary. Free supplies optional store-wide labels. Pro adds bounded ordering of existing native items and one local role's words while Free remains independent of billing.

The visible label is not the destination

WooCommerce builds an associative menu array. Its keys identify account endpoints such as orders, downloads, or edit-account; its values are the words shown to the customer.

WooCommerce's current wc_get_account_menu_items() implementation applies woocommerce_account_menu_items to that array. The same core file uses endpoint keys to build account URLs. That separation is the reason a label-only plugin can stay narrow: change the value, preserve the key.

The native My Account template also separates navigation from endpoint content. Renaming navigation should not imply ownership of the dashboard, orders, downloads, addresses, payment methods, or account details screens.

Public questions reveal an ownership problem

Merchants ask how to rename My Account tabbed menu items, report conflicts around the woocommerce_account_menu_items filter, and encounter account-page failures when wishlist or dashboard plugins take over part of the experience.

These reports do not establish one universal bug. They show why support must distinguish four separate owners:

  • the visible menu label;
  • the array key and endpoint slug;
  • the generated destination URL;
  • the page or plugin that renders endpoint content.

A label plugin should own only the first.

Never rename the endpoint key to rename the words

Changing orders to purchases as an array key is not a label change. It can break URL generation, query variables, endpoint callbacks, active-menu state, rewrite rules, and integrations that expect the native key.

The safe transformation is:

  1. receive the existing array;
  2. confirm the feature is enabled;
  3. accept only known native keys;
  4. limit labels to bounded plain text;
  5. replace a value only when that key already exists;
  6. preserve unknown items and the complete key order;
  7. otherwise return the incoming array unchanged.

If WooCommerce or another provider removed an item before the filter runs, a rename helper should not recreate it.

Keep labels short and literal

My Account navigation needs scannable words, especially on mobile. Plain text up to 60 characters covers ordinary changes such as:

  • Home instead of Dashboard
  • Purchases instead of Orders
  • Files instead of Downloads
  • Shipping details instead of Addresses
  • Saved cards instead of Payment methods
  • Profile instead of Account details

HTML, icons, notification counts, customer names, order counts, conditional formulas, and shortcodes turn a wording helper into a personalized account-dashboard system. They introduce personal-data access, caching, accessibility, and authorization responsibilities that this job does not need.

An empty field should preserve WooCommerce's incoming words rather than render a blank menu item.

Test destinations, not just labels

Use a disposable customer account and this matrix:

Case Expected result
Configured native item exists Visible words change
Configured native item is absent No item or route is created
Third-party menu item Key, label, destination, and relative slot remain unchanged
Empty label Incoming WooCommerce label remains
Logout Remains the same key, destination, and action
Feature disabled or plugin deactivated Original menu array returns

Select every renamed item and record the final URL and content. Then test Logout, browser back, password reset, and a second user role. A wording plugin should not change any authentication or account behavior.

Page assignment and endpoint settings still matter

WooCommerce needs the correct page assigned under its advanced page setup. Permalink and endpoint settings still control routes. A multilingual plugin, membership suite, subscriptions plugin, wishlist extension, or page builder may add its own account items or replace the navigation entirely.

If a click opens the wrong destination, changing the visible words again will not fix the route. Check:

  • the assigned My Account page;
  • WooCommerce endpoint settings;
  • permalink rewrite state;
  • translation routing;
  • the provider that owns the affected key;
  • filter priorities and later mutations.

StoreFixKit does not edit any of those systems.

Bounded ordering can preserve third-party items

Reordering sounds simple, but rebuilding the complete menu from a hard-coded list can silently delete items added by subscriptions, memberships, downloads, support, or wishlist plugins.

A safer Pro rule works only with native keys that already exist. It sorts those native keys by bounded numeric values and places them back into the native slots already present in the incoming array. Unknown items retain their relative slot. Logout stays last when WooCommerce supplied it.

This is intentionally less powerful than a drag-and-drop account builder. The limitation protects destinations the plugin does not own.

Role-specific words do not require customer queries

WordPress already supplies the current user's role slugs during an authenticated account request. Pro can compare those local slugs with one selected installed role and overlay non-empty labels.

It does not need to read orders, addresses, payment methods, downloads, memberships, or profile fields. It does not create a role or change capabilities. If the selected role no longer exists, the role-specific layer should remain inactive and Free should continue.

Resource and failure boundary

Free receives the menu array WooCommerce already built and reads one small option. Pro reads one owned option and local role slugs. It needs no:

  • customer or order query;
  • endpoint or page write;
  • role or capability mutation;
  • frontend CSS or JavaScript;
  • custom database table;
  • cron or background job;
  • customer cookie;
  • telemetry;
  • StoreFixKit request from the account page.

Missing WooCommerce, malformed labels, an absent key, a builder that bypasses the filter, an inactive Pro plugin, an expired license, or an unavailable license service preserves the previous menu behavior. Free remains local.

The Rename My Account Menu documentation includes real screenshots, exact setup, compatibility limits, troubleshooting, rollback, uninstall ownership, and support evidence.

Beginner launch checklist

Record the existing menu

Sign in as a disposable customer and record every visible item, destination URL, third-party item, and Logout behavior.

Change one label first

Save one short word, clear caches, and prove the destination is identical. Then add the remaining labels.

Test every real role

Use disposable users rather than impersonating live customers. Check the default customer role and any membership or wholesale role used by the store.

Test plugin-owned additions

Subscriptions, memberships, wishlist, support, downloads, and return plugins may add items. Confirm they remain visible, clickable, and in an acceptable relative position.

Test the off path and rollback

Disable Free, deactivate Pro, downgrade from 0.1.3 to 0.1.2, and return to 0.1.3. The prior menu and every destination should remain usable.

Security, privacy, and support evidence

Only a user allowed to manage WooCommerce should save labels or ordering. Every write needs a nonce and capability check. Role input must match an installed local role. Output must be escaped even when text was sanitized on write.

Useful support evidence includes the My Account page URL, affected key, expected and actual words, resulting destination URL, test role, Free and Pro versions, WordPress and WooCommerce versions, theme/builder, account-related plugins, endpoint and permalink state, cache/CDN, and screenshots. Remove names, addresses, orders, payment details, credentials, cookies, and full license keys.

FAQ

Does renaming Orders change the /orders/ endpoint?

No. The visible value changes; the endpoint key and generated destination remain unchanged.

Can it hide or create account items?

No. Those actions require ownership of routes, callbacks, permissions, and page content.

Why does an account builder still show the old words?

That builder may render its own navigation and bypass WooCommerce's native account-menu filter.

What happens when Pro expires?

The Free store-wide labels continue locally. Ordering and role-specific labels require an active product-bound license.

Focused plugin

Use the one-job implementation.

Rename the visible words in WooCommerce's existing My Account menu without changing endpoint keys, links, permissions, page content, customer data, Logout, or account behavior.