WPML

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

เมื่อใช้ฟีเจอร์การทำซ้ำของ WPML กับเทมเพลต Bricks คุณจะพบว่าการเปลี่ยนแปลงในภาษาเริ่มต้นจะไม่แสดงผลในภาษาอื่น ๆ เมื่อเปิดใช้งานปลั๊กอิน WPML Media Translation

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

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

อัปเดตเป็น WPML 5.0 หรือใหม่กว่า ตอนนี้เทมเพลต Bricks ที่ทำสำเนาไว้จะทำตามการเปลี่ยนแปลงที่คุณทำในภาษาเริ่มต้น แม้ว่าจะเปิดใช้งาน WPML Media Translation อยู่ก็ตาม

หากคุณยังไม่สามารถอัปเดตได้:

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

ส่วนที่ 1

  • เปิดไฟล์ …/wp-content/plugins/wpml-media-translation/classes/media-translation/class-wpml-media-custom-field-images-translation.php
  • ค้นหาบรรทัดที่ 56
  • ต่อจาก:
    $setting          = $settings_factory->post_meta_setting( $meta_key );
  • เพิ่ม:
    // Workaround part 1
    $bricks_meta_keys = array(
    	'_bricks_template_type',
    	'_bricks_page_content_2',
    	'_bricks_editor_mode',
    	'_bricks_template_settings',
    );
    
    if ( strpos( $meta_key, 'bricks' ) !== false ) {
    	return;
    }

ส่วนที่ 2

  • เปิดไฟล์ …/wp-content/plugins/wpml-media-translation/classes/media-translation/class-wpml-media-set-posts-media-flag.php
  • ค้นหาบรรทัดที่ 128
  • ต่อจาก:
    $post_with_media_files = $this->post_with_media_files_factory->create( $post_id );
  • คอมเมนต์ส่วนต่อไปนี้:
    // Workaround part 2
    /*if ( $post_with_media_files->get_media_ids() ) { // it seems that this line is causing this issue
    	update_post_meta( $post_id, self::HAS_MEDIA_POST_FLAG, 1 );
    } else {
    	delete_post_meta( $post_id, self::HAS_MEDIA_POST_FLAG );
    }*/

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

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

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