- สถานะ
- รอผู้พัฒนา
- ปลั๊กอิน/ธีมที่เกี่ยวข้อง
- Custom Permalinks
- แท็กหัวข้อ
- Compatibility
ภาพรวมของปัญหา
เมื่อใช้ Custom Permalinks ร่วมกับ WPML ลิงก์ภายในที่ไปยังหน้าที่แปลอาจชี้ไปยังหน้าภาษาต้นฉบับแทนที่จะเป็นหน้าที่แปล เมื่อหน้าปลายทางใช้ลิงก์ถาวรแบบกำหนดเอง
วิธีแก้ปัญหาชั่วคราว
โปรดตรวจสอบให้แน่ใจว่าได้สำรองข้อมูลไซต์ทั้งหมดก่อนดำเนินการต่อ
วิธีแก้ปัญหาชั่วคราว – ส่วนที่ 1
- เปิดไฟล์ …/wp-content/plugins/custom-permalinks/includes/class-custom-permalinks-frontend.php
- ค้นหาบรรทัดที่ 165
- แทนที่:
public function wpml_permalink_filter( $permalink, $language_code ) { $custom_permalink = $permalink;
- ด้วย:
public function wpml_permalink_filter( $permalink, $language_code ) { $custom_permalink = $permalink; $language_code = apply_filters( 'wpml_current_language', NULL );
วิธีแก้ปัญหาชั่วคราว – ส่วนที่ 2
- ในไฟล์เดียวกัน (class-custom-permalinks-frontend.php)
- ค้นหาบรรทัดที่ 913
- แทนที่:
public function custom_page_link( $permalink, $page ) { $custom_permalink = get_post_meta( $page, 'custom_permalink', true ); if ( $custom_permalink ) { $language_code = apply_filters( 'wpml_element_language_code', null, array( 'element_id' => $page, 'element_type' => 'page', ) ); $permalink = $this->wpml_permalink_filter( $custom_permalink, $language_code );
- ด้วย:
public function custom_page_link( $permalink, $page ) { $custom_permalink = get_post_meta( $page, 'custom_permalink', true ); if ( $custom_permalink ) { $language_code = apply_filters( 'wpml_element_language_code', null, array( 'element_id' => $page, 'element_type' => 'page', ) ); $page_translated = apply_filters( 'wpml_object_id', $page, 'page', $language_code ); $custom_translated_permalink = get_post_meta( $page_translated, 'custom_permalink', true ); if ( $custom_translated_permalink ) { $custom_permalink = $custom_translated_permalink; } $permalink = $this->wpml_permalink_filter( $custom_permalink, $language_code );