WPML
ステータス
解決済み
報告対象
WPML Multilingual CMS 4.6.4
解決されたバージョン
WPML 4.6.5

問題の概要

WPMLのクラシック翻訳エディタを使用して以前に翻訳したページを編集すると、以前の翻訳が元のコンテンツに置き換わってしまう場合があります。

回避策

次のファイルを見つけて開いてください: \wp-content\plugins\sitepress-multilingual-cms\addons\wpml-page-builders\classes\Shared\st\class-wpml-pb-string-translation.php

次を検索します:

	public function get_package_strings( array $package_data ) {
		$strings    = array();
		$package_id = $this->get_package_id( $package_data );

		if ( $package_id ) {
			$getPackageStrings = Cache::memorize(
				self::CACHE_GROUP_KEY,
				HOUR_IN_SECONDS,
				function( $packageId ) {
					return $this->getPackageStringsFromDb( $packageId );
				}
			);

			$strings = $getPackageStrings( $package_id );
		}

		return $strings;
	}


これを次のように変更します。
public function get_package_strings( array $package_data ) {
		$strings    = array();
		$package_id = $this->get_package_id( $package_data );

		if ( $package_id ) {
			$getPackageStrings =
				function( $packageId ) {
					return $this->getPackageStringsFromDb( $packageId );
				};


			$strings = $getPackageStrings( $package_id );
		}

		return $strings;
	}

すべての既知の問題 →