- สถานะ
- แก้ไขแล้ว
- รายงานสำหรับ
- WPML Multilingual CMS 3.3.3
- แก้ไขใน
- 3.3.5
ภาพรวมของปัญหา
เกิดขึ้นเฉพาะกับ WordPress 4.4: เมื่อการแปลของโพสต์มี slug เดียวกับโพสต์ต้นฉบับ (เช่น http://domain.tld/hello-world และ http://domain.tld/fr/hellp-world) และจากนั้น slug ได้รับการอัปเดตให้ตรงกับการแปล (http://domain.tld/fr/bonjour-le-monde) slug เก่าจะถูกบันทึกเป็น _wp_old_slug ซึ่งทำให้เกิดการเปลี่ยนเส้นทางแบบวนซ้ำ
การแก้ไข slug การแปลของโพสต์ที่เคยเหมือนกับโพสต์ต้นฉบับ (หรือโพสต์ใด ๆ ที่มีอยู่) อาจทำให้เกิดการเปลี่ยนเส้นทางแบบวนซ้ำ
วิธีแก้ปัญหาชั่วคราว
ปัญหานี้สามารถแก้ไขได้โดยการอัปเกรดเป็น WordPress 4.4.1 (หรือใหม่กว่า)
นี่คือปัญหาที่ทราบแล้วใน WordPress: https://core.trac.wordpress.org/ticket/35012
สำหรับ WordPress 4.4 มีการเสนอวิธีแก้ปัญหาชั่วคราวที่ได้รับการยืนยันแล้วว่าใช้งานได้ โดยจำเป็นต้องเพิ่มโค้ดต่อไปนี้ลงในไฟล์ function.php ของธีมปัจจุบันของคุณ:
add_filter( 'old_slug_redirect_url', function ( $link ) {
if ( $link === get_the_permalink() ) {
return '';
};
return $link;
} );