WPML
ステータス
解決済み
報告対象
WPML Multilingual CMS 4.6.7
解決されたバージョン
WPML 4.6.8
トピックタグ
Bug

問題の概要

WPML 4.6.7を使用しており、翻訳を元の投稿から切り離そうとする場合、WordPress エディタのこれは次の翻訳ですドロップダウンでなしを選択しても、切り離しは維持されません。代わりに、翻訳を更新すると、WPMLは自動的に変更を元に戻し、翻訳を元の投稿に再リンクします。

回避策

作業を進める前に、必ずサイトの完全なバックアップを作成してください。


  • …/wp-content/plugins/sitepress-multilingual-cms/classes/core-abstract-classes/class-wpml-set-language.phpファイルを開きます。

  • 169行目を探します。

  • 変更前:
    	private function change_translation_of( $trid, $el_id, $el_type, $language_code, $src_language_code ) {
    		$src_language_code = empty( $src_language_code )
    			? $this->sitepress->get_source_language_by_trid( $trid ) : $src_language_code;
    		if ( $src_language_code !== $language_code ) {
    			$this->wpdb->update(

  • 変更後:
    	private function change_translation_of( $trid, $el_id, $el_type, $language_code, $src_language_code ) {
    		$src_language_code = empty( $src_language_code ) && !is_null($src_language_code)
    			? $this->sitepress->get_source_language_by_trid( $trid ) : $src_language_code;
    		if ( $src_language_code !== $language_code ) {
    			if ($src_language_code == NULL) {
    				$trid = $this->wpdb->get_var("SELECT MAX(trid) FROM " . $this->wpdb->prefix . "icl_translations") + 1;
    			}
    			$this->wpdb->update(

すべての既知の問題 →