- สถานะ
- แก้ไขแล้ว
- รายงานสำหรับ
- WPML Multilingual CMS 3.3.5
- แก้ไขใน
- 3.4
ภาพรวมของปัญหา
ข้อผิดพลาด 404:
“Failed to load resource: the server responded with a status of 404 (Not Found)”
เมื่อเรียกใช้ admin_url( ‘admin-ajax.php’ )
ปัญหานี้จะปรากฏขึ้นเมื่อคุณใช้การตั้งค่า “โดเมนที่แตกต่างกันในแต่ละภาษา”
เมื่อคุณเรียกใช้ admin_url( ‘admin-ajax.php’ ) คุณจะเห็นลักษณะดังนี้:
http://secondary-language-domain.com/secondary-lang-code/wp-admin/admin-ajax.php
แทนที่จะเป็น:
http://secondary-language-domain.com/wp-admin/admin-ajax.php
สิ่งนี้ส่งผลให้เกิดข้อผิดพลาด 404:
“Failed to load resource: the server responded with a status of 404 (Not Found)”
ปัญหานี้จะได้รับการแก้ไขในเวอร์ชันที่เผยแพร่ถัดไป
วิธีแก้ปัญหาชั่วคราว
เข้าสู่ระบบ FTP ของคุณและค้นหาไฟล์ wpml-url-converter.class.php ที่อยู่ใน wp-content/plugins/sitepress-multilingual-cms/inc/url-handling/wpml-url-converter.class.php
ค้นหาฟังก์ชัน admin_url_filter (ประมาณบรรทัดที่ 39) และเปลี่ยนโค้ดต่อไปนี้:
public function admin_url_filter( $url, $path ) {
if ( 'admin-ajax.php' === $path ) {
$url = $this->get_admin_ajax_url( $url );
}
return $url;
}เป็น:
public function admin_url_filter( $url, $path ) { if ( ( strpos( $url, 'http://' ) === 0 || strpos( $url, 'https://' ) === 0 ) && 'admin-ajax.php' === $path && $this->wpml_wp_api->is_front_end() ) { global $sitepress; $url = $this->convert_url( $url, $sitepress->get_current_language() ); } return $url; }
อย่าลืมสำรองข้อมูลก่อนเสมอ ก่อนที่คุณจะทำการเปลี่ยนแปลงใด ๆ ในไฟล์ของคุณ