WPML
สถานะ
แก้ไขแล้ว
รายงานสำหรับ
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;
} );

ปัญหาที่ทราบแล้วทั้งหมด →