WPML

ภาพรวมของปัญหา

หากคุณกำลังใช้งาน WPML 4.6.7 และคุณพยายามยกเลิกการเชื่อมต่อการแปลออกจากโพสต์ต้นฉบับ เมื่อคุณเลือก ไม่มี ในเมนูดรอปดาวน์ นี่คือคำแปลของ ในตัวแก้ไข WordPress การยกเลิกการเชื่อมต่อจะไม่มีผล แต่ WPML จะย้อนกลับการเปลี่ยนแปลงโดยอัตโนมัติ โดยเชื่อมโยงการแปลกลับไปยังโพสต์ต้นฉบับอีกครั้งเมื่อคุณอัปเดตการแปล

วิธีแก้ปัญหาชั่วคราว

ปัญหานี้ได้รับการแก้ไขแล้วใน WPML 4.6.8 การอัปเดตจะแก้ปัญหานี้บนไซต์ของคุณ ดังนั้นคุณจึงต้องใช้วิธีแก้ปัญหาชั่วคราวนี้เฉพาะเมื่อคุณยังไม่สามารถอัปเดตได้

โปรดตรวจสอบให้แน่ใจว่าได้สำรองข้อมูลแบบเต็มสำหรับไซต์ของคุณก่อนดำเนินการต่อ

  • เปิดไฟล์ …/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(

ปัญหาที่ทราบแล้วทั้งหมด

ยังคงพบปัญหานี้อยู่หรือไม่

หากการอัปเดตไม่สามารถแก้ไขปัญหานี้ได้ ส่งคำถามถึงฝ่ายสนับสนุน และเราจะตรวจสอบร่วมกับคุณ