- สถานะ
- เปิด
- รายงานสำหรับ
- WPML Multilingual CMS 4.6.0
- แท็กหัวข้อ
- Compatibility, Feature request
ภาพรวมของปัญหา
หากคุณกำลังแปลฟิลด์ที่กำหนดเองดั้งเดิมของ WordPress คุณอาจต้องปรับเปลี่ยนการตั้งค่าการแปลเมื่อโปรเจกต์ของคุณมีการเปลี่ยนแปลง อย่างไรก็ตาม คุณจะต้องอัปเดตเนื้อหาของคุณเพื่อให้ฟิลด์ที่กำหนดเองเหล่านั้นพร้อมสำหรับการแปลในตัวแก้ไขการแปลขั้นสูง
แม้ว่าจะเป็นสิ่งที่คาดไว้แล้ว แต่เราเข้าใจเป็นอย่างยิ่งว่าอาจไม่ใช่สิ่งที่คุณต้องการ โดยเฉพาะอย่างยิ่งหากคุณมีไซต์ขนาดใหญ่และการแปลของคุณอยู่ในขั้นสูงแล้ว
หมายเหตุ: ตั้งแต่ Advanced Custom Field Multilingual 2.0 เป็นต้นมา กรณีนี้จะไม่เกิดขึ้นกับฟิลด์ ACF อีกต่อไป เนื่องจากระบบจะคำนวณลายเซ็นเนื้อหาใหม่สำหรับโพสต์ทั้งหมดและบังคับให้สร้างงานแปลใหม่
วิธีแก้ปัญหาชั่วคราว
โปรดตรวจสอบให้แน่ใจว่าได้สำรองข้อมูลทั้งหมดของเว็บไซต์ของคุณก่อนดำเนินการต่อ
หมายเหตุ: โปรดทราบว่าหากคุณใช้คุณลักษณะ แปลทุกอย่าง ของเรา ฟิลด์ที่กำหนดเองเหล่านั้นจะได้รับการแปลโดยอัตโนมัติ
- เพิ่มข้อมูลโค้ดต่อไปนี้ลงในไฟล์ functions.php ของคุณ โดยอย่าลืมแก้ไขค่าสองค่านี้ให้เป็นค่าของคุณ
- ชื่อประเภทโพสต์: post
- ชื่อฟิลด์ที่กำหนดเอง: simple_field
add_action('wp', function(){ $config = [ 'post_type' => 'post', //Post type slug 'meta_key_name' => 'simple_field' //Custom field key ]; if (!isset($_GET['wpml_sync'])) { return; } set_time_limit(0); do_action('wpml_switch_language', apply_filters( 'wpml_default_language', null )); $all_posts = get_posts([ 'post_type' => $config['post_type'], 'posts_per_page' => -1, 'suppress_filters' => false ]); if (empty($all_posts)) { return; } foreach ($all_posts as $post) { do_action( 'wpml_sync_custom_field', $post->ID, $config['meta_key_name'] ); } wp_die('Done!'); });
- ไปที่เว็บไซต์ของคุณและเพิ่มสิ่งนี้ลงใน URL ของคุณ: /?wpml_sync (เช่น
https://example.com/?wpml_sync) - ลบโค้ดออกจากไฟล์ของคุณ