This thread is resolved. Here is a description of the problem and solution.
Problem:
The
WPMLSuperGlobalsServer::getServerName
function relies on the
$_SERVER
superglobal for HTTP host information, which is not available in the CLI environment. Consequently, the
WPML_URL_Converter_Domain_Strategy::convertRestUrlToCurrentDomain
function fails to retrieve the correct host name, rendering REST URLs generated in the CLI environment invalid.
Solution:
We tested the scenario using WPML version 4.5.15 with no other plugins active. We used the following code to simulate the environment and did not encounter the issue:
if (defined('WP_CLI') && WP_CLI) {<br /> class ExampleCommand extends \WP_CLI_Command {<br /> /**<br /> * @subcommand wpml-rest-api<br /> */<br /> public function wpmlRestApi() {<br /> echo get_rest_url(path: 'wp/v2') . "\n";<br /> }<br /> }<br /><br /> WP_CLI::add_command('example', ExampleCommand::class);<br />}
We recommend you provide more details or a screen recording of the issue to help us better understand and address the problem.
If this solution does not apply to your case, or if it seems outdated, please check the related known issues and confirm that you have installed the latest versions of themes and plugins. If the issue persists, we highly recommend opening a new support ticket at WPML support forum.
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.