WPML
状态
已解决
报告针对
WPML Multilingual CMS 4.4.4
解决于
4.4.9
相关插件/主题
Elementor

问题概述

在使用最新版本的 WPML 的某些语言配置中,Elementor 编辑器无法加载,并在浏览器控制台中提示以下错误:

/en/wp-json/elementor/v1/globals:1 Failed to load resource: the server responded with a status of 404 (Not Found)

当使用“语言 URL 格式:不同语言在不同目录”时,某些其他插件或主题也可能在浏览器控制台中遇到 404 或 500 错误代码

临时解决方法

我们的开发团队已修复该问题,修复程序将随即将发布的 WPML 版本一起提供。

在此期间,您可以使用以下临时解决方法来修复您站点上的问题:


  1. 备份您的 WordPress 站点文件和数据库。

  2. 使用 FTP,导航至wp-content/plugins/sitepress-multilingual-cms/classes/url-handling/converter/strategy/class-wpml-url-converter-subdir-strategy.php

  3. 将此代码片段:
    private function get_language_of_current_dir( $language_code, $value_if_default_language = null ) {
    		if ( ! $this->use_directory_for_default_lang && $language_code === $this->default_language ) {
    			return $value_if_default_language;
    		}
    
    		return $language_code;
    	}

    替换为:

    private function get_language_of_current_dir( $language_code, $value_if_default_language = null ) {
    		/** @var SitePress $sitepress */
    		global $sitepress;
    		$defaultLang = $sitepress->get_default_language();
    
    		if ( ! $this->use_directory_for_default_lang && $language_code === $defaultLang ) {
    			return $value_if_default_language;
    		}
    
    		return $language_code;
    	}

请注意:虽然此临时解决方法修复了 Elementor 编辑器无法正确加载的问题,但一些用户可能会遇到由其他插件引起的相同错误。在这种情况下,请联系支持团队并提及此已知问题。

所有已知问题 →