- ステータス
- 解決済み
- 報告対象
- 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;
}