ภาพรวมของปัญหา
หากคุณสร้างตารางด้วยปลั๊กอิน TablePress คุณจะไม่สามารถแปลด้วย WPML ได้ WPML ไม่แสดงเซลล์ของตารางเป็นข้อความแยกต่างหากในตัวแก้ไขการแปล
วิธีแก้ปัญหาชั่วคราว
มีสามวิธีในการแสดงตาราง TablePress ในมากกว่าหนึ่งภาษา เลือกหนึ่งในวิธีเหล่านี้
ทางเลือกที่ 1: หนึ่งตารางต่อภาษา (แนะนำ)
สร้างหนึ่งตารางสำหรับแต่ละภาษา จากนั้นเพิ่มแต่ละตารางลงในหน้าในภาษานั้น ๆ ผู้พัฒนา TablePress แนะนำ (เปิดในแท็บใหม่)วิธีแก้ปัญหานี้เช่นกัน- ไปที่ TablePressAll Tables
- วางเมาส์เหนือตารางต้นฉบับและคลิก Copy
- แก้ไขสำเนาและแปลเซลล์ใน TablePress
- เพิ่มสำเนาลงในหน้าที่แปลแล้ว ใช้บล็อก TablePress table หรือ shortcode ของสำเนา
ทางเลือกที่ 2: การกรองแถว (TablePress Premium)
ใช้โมดูล Row Filtering (เปิดในแท็บใหม่) ของ TablePress Premium คัดลอกแต่ละแถวสำหรับแต่ละภาษา ใช้รหัสภาษาเป็นคำตัวกรอง เช่น ในคอลัมน์แรกที่เพิ่มเข้ามาแต่ถูกซ่อนไว้ทางเลือกที่ 3: แปลตารางด้วย WPML (ขั้นสูง)
ใช้ทางเลือกนี้เฉพาะในกรณีที่ทางเลือกที่ 1 และ 2 ไม่ตอบโจทย์สำหรับคุณ โปรดสำรองข้อมูลเว็บไซต์ของคุณอย่างครบถ้วนก่อนที่จะเริ่มต้นข้อจำกัด: TablePress บันทึกเซลล์ทั้งหมดของตารางเป็นโค้ดหนึ่งบล็อก WPML จะส่งบล็อกนี้ไปยังตัวแก้ไขการแปลเป็นหนึ่งฟิลด์
- คุณไม่สามารถแปลเซลล์ในตัวแก้ไขการแปลขั้นสูง
- ในตัวแก้ไขการแปลแบบคลาสสิก คุณสามารถแก้ไขเซลล์เป็นโค้ดดิบเท่านั้น ตัวอย่างเช่น
[["Tour","Days","Price"],["Coastal Loop","2","240 EUR"]]แปลเฉพาะคำที่อยู่ในเครื่องหมายคำพูด เก็บวงเล็บ เครื่องหมายคำพูด และเครื่องหมายจุลภาคทุกตัวไว้ ข้อผิดพลาดเพียงจุดเดียวจะทำให้ตารางพังได้
- ไปที่ WPMLการตั้งค่าตัวแก้ไขการแปล ภายใต้ ตัวแก้ไขการแปลแบบคลาสสิก ให้คลิก เลือก
- ไปที่ WPMLการตั้งค่าการแปลประเภทโพสต์ ตั้งค่า TablePress Tables เป็น แปลได้ – แสดงเฉพาะรายการที่แปลแล้วเท่านั้น และคลิก บันทึก

การทำให้ประเภทโพสต์ TablePress Tables แปลได้ - ไปที่ WPMLการตั้งค่าการแปลฟิลด์ที่กำหนดเอง คลิก แสดงฟิลด์ระบบ ตั้งค่าฟิลด์เหล่านี้เป็น คัดลอก และคลิก บันทึก:
- _tablepress_table_options
- _tablepress_table_visibility
- ไปที่ WPMLการแปล ในแท็บ แดชบอร์ด ในส่วน TablePress Tables ให้เลือกตาราง คลิก แปลเนื้อหาของคุณ เลือก แปลด้วยตัวเอง และคลิก แปลเนื้อหา
- ไปที่แท็บ งานที่ต้องแปล และคลิก แปล ในแถวของตาราง
- ในฟิลด์ Body ให้คลิกแท็บ Code แปลเซลล์ที่นั่นตามที่อธิบายไว้ด้านบน อย่าใช้แท็บ Visual เลือก การแปลเสร็จสมบูรณ์ สำหรับแต่ละฟิลด์และคลิก บันทึกและปิด
- รับ ID ของตารางที่แปลแล้ว:
- ในแท็บ งานที่ต้องแปล ให้ค้นหาแถวของตาราง หากไม่มีแถวนี้ แสดงว่างานถูกมอบหมายให้นักแปลคนอื่น ให้รับงานก่อน
- คลิก ดู
- เบราว์เซอร์จะเปิดที่อยู่เช่น
example.com/fr/?post_type=tablepress_table&p=8ตัวเลขหลังp=คือ ID ของตารางที่แปลแล้ว หน้าเว็บจะแสดง “Page not found” ซึ่งเป็นเรื่องปกติ เนื่องจากตาราง TablePress ไม่ใช่หน้าสาธารณะ
- ไปที่แท็บ สตริง ในส่วน ยูทิลิตี้ ภายใต้ ไม่พบสตริงที่คุณกำลังค้นหาใช่ไหม? ให้คลิก การแปลข้อความผู้ดูแลระบบ
- ค้นหา tablepress_tables เลือกผลลัพธ์และคลิก เพิ่มไปยังการแปลสตริง
- กลับไปที่แท็บ สตริง ในเมนูดรอปดาวน์ของโดเมน ให้เลือก admin_texts_tablepress_tables และคลิก ตัวกรอง
- ค้นหา ID ของตารางต้นฉบับ สตริงประกอบด้วยคู่เช่น
"table_post":{"1":5}ตัวเลขแรกคือ ID ตารางที่ TablePressAll Tables แสดง ตัวเลขที่สองคือ ID ของตารางต้นฉบับ - คลิกไอคอนดินสอเพื่อแปลสตริง คัดลอกต้นฉบับลงในคำแปล จากนั้นแทนที่ ID ของตารางต้นฉบับ (5 ในตัวอย่างนี้) ด้วย ID ของตารางที่แปลแล้ว (8 ในตัวอย่างนี้) กด Enter เพื่อบันทึก

การแทนที่ ID ตารางต้นฉบับด้วย ID ตารางที่แปลแล้ว - แปลหน้าที่แสดงตารางตามปกติ บล็อกตารางหรือ shortcode จะเก็บ ID ตารางเดียวกันไว้ ในหน้าที่แปลแล้ว ตอนนี้จะแสดงตารางที่แปลแล้ว






