Skip to content Skip to sidebar

This thread is resolved. Here is a description of the problem and solution.

Problem:
You might be facing two separate issues with WPML on your site. First, when WPML is enabled, no menus are visible in WP-Admin under Appearance → Menus, and the WPML Menu Sync hangs indefinitely. Second, enabling WPML and switching the language to /en/ causes WordPress to rewrite .htaccess with 'RewriteBase /en/' and route requests to /en/index.php, leading to broken REST API endpoints and intermittent 404 errors.

Solution:
For the menu visibility issue, it appears to be related to the User Registration & Membership plugin, which includes flawed WPML compatibility code. You can resolve this by disabling a part of that plugin's code. Add the following to your site's functions.php or via a code snippet plugin:

add_action( 'init', function(){<br />    remove_filter( 'user_registration_get_endpoint_url', 'ur_filter_get_endpoint_url', 10 );<br />});

This modification might affect the User Registration & Membership plugin, so it's advisable to contact their support for a more permanent solution. They should use the WPML developer API, specifically the wpml_permalink filter.

For the .htaccess rewrite issue, please provide more details by describing the problem again, so we can create a new support ticket to address it specifically.

Please note that the solutions provided might become outdated or may not directly apply to your case. If these steps do not resolve your issues, we highly recommend checking related known issues at https://wpml.org/known-issues/, verifying the version of the permanent fix, and confirming that you have installed the latest versions of themes and plugins. If the problem persists, please open a new support ticket.

This is the technical support forum for WPML - the multilingual WordPress plugin.

Everyone can read, but only WPML clients can post here. WPML team is replying on the forum 6 days per week, 22 hours per day.

Tagged: 

This topic contains 4 replies, has 0 voices.

Last updated by Maria Papaefstathiou 4 weeks ago.

Assisted by: Lucas Vidal de Andrade.

Author Posts
February 11, 2026 at 8:29 am #17811651

Maria Papaefstathiou

Hello,

We are facing two separate but critical issues related to WPML on a long-running production site (santimassage.gr)

────────────────────────
1) WPML MENUS NOT VISIBLE IN WP-ADMIN
────────────────────────

Problem:
- When WPML is enabled, Appearance → Menus shows no menus at all.
- When WPML is disabled, all menus immediately appear and function correctly.
- This behaviour existed BEFORE any .htaccess locking or server-side changes.
- WPML Menu Sync hangs indefinitely and never completes.

Important facts:
- Menus clearly exist in the database (verified via wp-cli: wp menu list).
- The issue is not theme-related (Avada) and not server-related.
- This site has been using WPML for years with multiple menus and locations.

Conclusion:
WPML is preventing existing menus from being exposed in the wp-admin UI.
We suspect corrupted WPML menu translation data or a broken synchronization state.

We need:
- Guidance on how to safely repair or reset WPML menu translation data
- WITHOUT losing menu structure or rebuilding menus from scratch.

────────────────────────
2) WPML REWRITE BASE / 404 ISSUE (SERVER-LEVEL EFFECT)
────────────────────────

Problem:
- When WPML is enabled and a visitor switches language to /en/,
WordPress rewrites .htaccess with:
RewriteBase /en/
and routes requests to /en/index.php
- There is NO physical /en/ directory (language URLs are virtual).
- This causes REST API endpoints (/wp-json/, /wp-json/wp/v2/) to break
and results in intermittent server-level 404 errors.

Observations:
- Disabling WPML immediately stops this behaviour.
- Locking .htaccess (permissions 444) prevents the rewrite and stabilizes the site,
but this is only a workaround, not a proper fix.

We need:
- Confirmation whether this is a known WPML issue with
“Different languages in directories”
- Proper guidance on preventing RewriteBase from being rewritten to /en/
while keeping directory-based language URLs.

────────────────────────

Summary:
- Issue #1 (Menus) is independent and existed before any server workaround.
- Issue #2 (RewriteBase / 404) is triggered by WPML language switching.
- We need WPML-side solutions for both.

────────────────────────

- The site has been running WPML for years without issues.
- The problems started immediately after updating WPML Multilingual CMS (currently 4.8.6).
- No structural changes were made to WordPress installation, theme structure, or server configuration prior to the issue.
- WordPress version: 6.9.1
- PHP: 7.4.33
- Theme: Avada 7.14.2 + Child Theme

Thank you for your assistance.

February 11, 2026 at 9:40 am #17811950

Lucas Vidal de Andrade
WPML Supporter since 11/2023

Languages: English (English ) Spanish (Español ) German (Deutsch ) Portuguese (Brazil) (Português )

Timezone: Europe/Vienna (GMT+01:00)

Hey there,

Thank you for waiting.

Regarding the menus:

The problem lies with the User Registration & Membership plugin, which includes some flawed WPML compatibility code.

Please ensure to have a full website backup before proceeding.

You can fix this issue by disabling the relevant part of that plugin code by adding this code to your site (functions.php or via some code snippet plugin):

add_action( 'init', function(){
    remove_filter( 'user_registration_get_endpoint_url', 'ur_filter_get_endpoint_url', 10 );
});

This could have some unwanted side effects on the User Registration & Membership plugin, though. It's best that you contact them and explain the situation. The problem is with this code in the file plugins/user-registration-pro/includes/functions-ur-core.php

They unnecessarily create a new instance of the SitePress class (which is what leads to the double hooking issue mentioned above). They should be using our developer API; I think they are looking for the wpml_permalink filter: https://wpml.org/documentation/support/wpml-coding-api/wpml-hooks-reference/#hook-662194

Let me know if that fixes it.

Regarding the htaccess, can you please send a message describing it again? You can copy/paste what you've already shared. With that I can create a new ticket 🙂

February 11, 2026 at 11:01 am #17812485
Maria Papaefstathiou

Thank you! This resolved the issue.

I am sending you the message below for the Rewrite base issue / 404 server-level effect to open a new ticket.

WPML REWRITE BASE / 404 ISSUE (SERVER-LEVEL EFFECT)
────────────────────────

Problem:
- When WPML is enabled and a visitor switches language to /en/,
WordPress rewrites .htaccess with:
RewriteBase /en/
and routes requests to /en/index.php
- There is NO physical /en/ directory (language URLs are virtual).
- This causes REST API endpoints (/wp-json/, /wp-json/wp/v2/) to break
and results in intermittent server-level 404 errors.

Observations:
- Disabling WPML immediately stops this behaviour.
- Locking .htaccess (permissions 444) prevents the rewrite and stabilizes the site,
but this is only a workaround, not a proper fix. (For now, I kept it locked so the website can run)

We need:
- Confirmation whether this is a known WPML issue with
“Different languages in directories”
- Proper guidance on preventing RewriteBase from being rewritten to /en/
while keeping directory-based language URLs.

New threads created by Lucas Vidal de Andrade and linked to this one are listed below:

https://wpml.org/forums/topic/split-wpml-rewrite-base-404-issue-server-level-effect/

February 11, 2026 at 1:30 pm #17812877

Lucas Vidal de Andrade
WPML Supporter since 11/2023

Languages: English (English ) Spanish (Español ) German (Deutsch ) Portuguese (Brazil) (Português )

Timezone: Europe/Vienna (GMT+01:00)

I'm glad it worked.

As for the rewrite issue, I've created a new ticket and have answered you there:
https://wpml.org/forums/topic/split-wpml-rewrite-base-404-issue-server-level-effect/

Regards,

February 11, 2026 at 3:02 pm #17813395

Maria Papaefstathiou

Thank you! This worked as well.