WPML
状态
未解决
报告针对
WPML Multilingual CMS 4.5.11
主题标签
Bug

问题概述

您会注意到,您的其中一种语言的主 URL 也被用于已翻译语言的图像上。

图像在所有语言中仍会正确显示。

但是,在某些情况下您可能会遇到 CORS 问题,这会导致图像无法显示。

仅当您每种语言使用不同的域名时才会发生此问题。

 

临时解决方法

请在继续操作之前对您的网站进行完整备份


  1. 找到并编辑以下文件:wp-content/plugins/wpml-media-translation/classes/media-translation/class-wpml-media-image-translate.php

  2. 找到以下代码:
    	public function get_translated_image( $attachment_id, $language, $size = null ) {
    		$image_url              = '';
    		$attachment             = new WPML_Post_Element( $attachment_id, $this->sitepress );
    		$attachment_translation = $attachment->get_translation( $language );
    
    		if ( $attachment_translation ) {


  3. if ( $attachment_translation ) { 之后立即添加以下代码:
    do_action( 'wpml_switch_language', $language );


  4. 保存更改。

  5. 请按照以下方法之一进行操作:

 

方法 1:


  • 安装并激活 WPML 媒体翻译

  • 前往 WPML > 媒体翻译

  • 找到其中一个有问题的图像

  • 编辑其中一个翻译

  • 对翻译图像的说明进行少量编辑

  • 保存更改

方法 2:


  • 前往 WPML > 设置

  • 向下滚动直到“Translate Link Target”部分

  • 单击“应用”按钮

  • 等待过程完成。

所有已知问题 →