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 Media Translationをインストールして有効化します。

  • WPML > メディア翻訳に移動します。

  • 問題のある画像の1つを見つけます。

  • 翻訳の1つを編集します。

  • 翻訳された画像の説明に小さな変更を加えます。

  • 変更を保存します。

方法2:


  • WPML > 設定に移動します。

  • 「Translate Link Target」セクションまで下にスクロールします。

  • 「適用」ボタンをクリックします。

  • プロセスが完了するまで待ちます。

すべての既知の問題 →