หากต้องการใช้ WPML จะต้องเตรียมสิ่งต่อไปนี้:
- WordPress 4.7 wpcodeself > หรือสูงกว่า
- PHP 7.0 หรือสูงกว่าที่หน่วยความจำขั้นต่ำอย่างน้อย 128MB ในขณะที่แนะนำให้ใช้หน่วยความจำขนาด 256MB (ดูวิธีเพิ่มหน่วยความจำ WP ) โปรดทราบว่าหน่วยความจำที่จำเป็นสำหรับเว็บไซต์ของคุณขึ้นอยู่กับเนื้อหา ธีม และปลั๊กอินทั้งหมดของคุณ
- MySQL 5.6 หรือสูงกว่า หรือคุณสามารถใช้ MariaDB 10.1 หรือสูงกว่าได้
- คุณสามารถสร้างตารางในฐานข้อมูลของคุณได้
- ต้องเปิดใช้งาน WordPress REST API เพื่อให้ WPML ทำงานได้อย่างถูกต้อง
- ต้องเปิดใช้งานส่วนขยาย Multibyte String เพื่อให้ WPML ทำงานได้อย่างถูกต้อง
- ส่วนขยาย SimpleXML สำหรับการใช้ไฟล์ XLIFF ใน WPML
- eval() PHP ต้องเปิดใช้งานฟังก์ชันนี้ ดูข้อมูลเพิ่มเติมเกี่ยวกับเรื่องนี้ได้จากส่วนที่เกี่ยวกับ eval()
- โมดูล libxml PHP 2.7.8 หรือสูงกว่า
วิธีตรวจสอบเวอร์ชันของ PHP ที่คุณใช้อยู่
หากต้องการตรวจสอบเวอร์ชัน PHP ของเซิร์ฟเวอร์ของคุณ ให้เข้าสู่ระบบผู้ดูแล WordPress ไปที่ เครื่องมือ → ความสมบูรณ์ของไซต์ แล้วคลิกแท็บ ข้อมูล คุณจะพบเวอร์ชัน PHP ของคุณในส่วน เซิร์ฟเวอร์
โครงสร้างลิงก์ถาวร
WPML เพิ่มข้อมูลภาษาให้กับ URL ซึ่งได้รับการทดสอบด้วยโครงสร้างลิงก์ถาวรต่อไปนี้:
- ค่าเริ่มต้น
- /%year%/%monthnum%/%postname%/
คำอธิบาย:
โครงสร้างลิงก์ถาวรอื่นๆ อาจใช้ได้ผลเช่นกัน แต่อาจทำให้เกิดปัญหากับการกำหนดค่าที่แตกต่างกันได้ เราใช้ / %year% / %monthnum% / %postname% / ในเว็บไซต์ทั้งหมดของเรา แต่สำหรับหน้าเพจ คุณจะได้รับ URL เดียวกันกับ / %postname% / อย่างไรก็ตาม ด้วยโครงสร้างลิงก์ถาวรนี้ WordPress จะไม่เกิดความสับสนระหว่างหน้าเพจและโพสต์ จนเป็นสาเหตุให้เกิดปัญหากับการแก้ไขภาษาโดยเด็ดขาด
การใช้ฟังก์ชัน eval()
ต้องเปิดใช้งานฟังก์ชัน eval() เนื่องจาก WPML ใช้เฟรมเวิร์ก TWIG สำหรับโครงสร้างและเทมเพลต ซึ่งทำให้ WPML ต้องพึ่งพาฟังก์ชันนี้ได้ เอ็นจิ้นการสร้างเทมเพลตที่ได้รับความนิยมส่วนใหญ่ เช่น Smarty และ TWIG พบว่าการเขียนโค้ด PHP ลงในไฟล์ทำได้เร็วกว่า ด้วยวิธีนี้ จึงสามารถใช้ประโยชน์จากการแคช OPcode และหลีกเลี่ยงการต้องสร้างโค้ดเทมเพลตแบบรันไทม์ได้ TWIG ดำเนินการตรวจสอบและจัดการหลายครั้งเพื่อหลีกเลี่ยงการโจมตีที่อาจเกิดขึ้นได้ และสามารถใช้กับ WPML ได้อย่างปลอดภัย อย่างไรก็ตาม เราไม่สามารถรับรองได้ว่านักพัฒนารายอื่นได้ทำการตรวจสอบแบบเดียวกับที่เราทำในกระบวนการประกันคุณภาพของเรา เรายังคงตรวจสอบวิธีแก้ปัญหาที่เป็นไปได้ซึ่งไม่จำเป็นต้องรวบรวมเทมเพลตทันที และจะทำให้ไม่จำเป็นต้องใช้ฟังก์ชัน eval() อย่างไรก็ตาม ณ เวลานี้ นี่คือทางออกที่ดีที่สุด โปรดทราบว่าโดยปกติแล้ว ฟังก์ชัน eval() ไม่สามารถปิดใช้งานได้ใน PHP แต่ส่วนขยายบางอย่าง เช่น Suhosin สามารถปิดใช้งานได้ ซึ่งส่วนขยายเหล่านี้อาจได้รับการติดตั้งและกำหนดค่าโดยผู้ให้บริการโฮสติ้งของคุณ