WPML
สถานะ
แก้ไขแล้ว
แก้ไขใน
WP Rocket lastest version

ภาพรวมของปัญหา

ฟังก์ชัน rocket_clean_domain รับพารามิเตอร์หนึ่งตัว: $lang

โดยปกติจะถูกเรียกใช้โดยไม่มีพารามิเตอร์ แต่มีกรณีหนึ่งที่มีการส่งพารามิเตอร์ผิดไป:

wp-rocket/inc/common/purge.php บรรทัดที่ 22

add_action( 'update_option_theme_mods_' . get_option( 'stylesheet' ), 'rocket_clean_domain' ); // When location of a menu is updated

ฟิลเตอร์นี้ส่งพารามิเตอร์ที่ไม่ถูกต้องไปยัง rocket_clean_domain (เป็น array แทนที่จะเป็น string)

วิธีแก้ปัญหาชั่วคราว

ในไดเรกทอรีธีมของคุณ ให้ไปตามเส้นทางนี้และเปิดไฟล์นี้ (wp-rocket/inc/functions/files.php)
ค้นหาโค้ดด้านล่าง:

function rocket_clean_domain( $lang = '' ) {
    $urls = ( ! $lang || is_object( $lang ) ) ? get_rocket_i18n_uri() : get_rocket_i18n_home_url( $lang );

วิธีแก้ปัญหาหนึ่งคือการเพิ่ม is_array() ลงในเงื่อนไขนั้น ดูโค้ดด้านล่าง:

function rocket_clean_domain( $lang = '' ) {
    $urls = ( ! $lang || is_object( $lang ) || is_array( $lang ) ) ? get_rocket_i18n_uri() : get_rocket_i18n_home_url( $lang );

ด้วยวิธีนี้ เราจะไม่ส่งอาร์เรย์เป็นพารามิเตอร์ และทุกอย่างจะทำงานได้ตามที่คาดไว้

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