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;
	}

Все известные проблемы →