- สถานะ
- แก้ไขแล้ว
- แก้ไขใน
- 3.3.8
ภาพรวมของปัญหา
เมื่อคุณเข้าชมโพสต์หรือหน้าที่มีอักขระที่ไม่ใช่ ASCII ใน slug และใน URL ตามลำดับ จะเกิดการเปลี่ยนเส้นทางอย่างต่อเนื่อง
สิ่งนี้เกิดขึ้นเนื่องจากวิธีการจัดการอักขระดังกล่าว อักขระเหล่านี้จำเป็นต้องได้รับการแปลงและ escape อย่างถูกต้องเพื่อให้สามารถใช้เป็น URL ได้
เพื่อดำเนินการดังกล่าว จะมีการใช้ฟังก์ชัน urlencode และ urldecode
คุณสามารถอ่านเพิ่มเติมเกี่ยวกับหัวข้อนี้ได้จากสองลิงก์ต่อไปนี้:
- ทำไมฉันจึงควรใช้ urlencode (Stack Overflow)
- Uniform Resource Identifiers (URI) (Internet Engineering Task Force)
วิธีแก้ปัญหาชั่วคราว
- ไปที่ wp-content/sitepress-multilingual-cms/classes/query-filtering/class-wpml-query-parser.php ในบรรทัดที่ 421
- ใน is_permalink_part_of_request() ให้แทนที่
return substr( trailingslashit( $request_uri ), 0, strlen( $permalink_path ) ) === $permalink_path;
ด้วยสิ่งนี้:
return substr( trailingslashit( urldecode( $request_uri ) ), 0, strlen( $permalink_path ) ) === $permalink_path;