Quick follow-up — we traced the root cause of the menu admin UI issue we hit after running WPML's WP Menus Sync. Sharing in case it helps your team.
After using WP Menus Sync to propagate a new English menu item across our 10 language menus, the Appearance → Menus admin page started redirecting to ?menu=0 and showing "Create your first menu below" — even though all 11 menus existed in the DB and the frontend rendered correctly across all languages. Direct URLs like nav-menus.php?action=edit&menu=4439 also redirected.
The sync transaction created a phantom nav_menu term (ID 4440) that was written into `wpmu_usermeta.nav_menu_recently_edited` for my admin user. The transaction then partially rolled back — the phantom term was removed from `wpmu_term_taxonomy`, but the user_meta reference remained. WordPress's nav-menus.php reads this user_meta value on load, fails to find the term, and silently redirects.
The fix: wp user meta delete 590 nav_menu_recently_edited
Admin UI worked immediately on next load.
5 of 6 menu items in the Danish menu (term 4439) lost their `wpmu_term_relationships` entries while the nav_menu_item posts remained intact as orphans. Recovered via direct INSERT.
Flagging in case the WP Menus Sync transaction handling could be hardened to:
1. Clean up `nav_menu_recently_edited` references when phantom terms are removed during rollback
2. Ensure term_relationships changes are atomic with the rest of the sync
Not a blocker for us — we're recovered — but worth your team knowing for future support cases. Happy to share full diagnostic queries or DB dumps if useful for reproduction.
Languages: English (English )Vietnamese (Vietnamese )
Timezone: Asia/Ho_Chi_Minh (GMT+07:00)
Hi Shanto,
Thanks for the details.
I only see the issue with the translation menu when enabling the LiteSpeed Cache plugin on your staging site. After deleting the cache, the translation menu works properly. Here is the screen record hidden link
Without LiteSpeed Cache, I can sync menu without any issues, screen record hidden link
Can you please follow my suggestion to clear the LiteSpeed Cache and recheck the issue?