- סטטוס
- נפתר
- נפתר בגרסה
- 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 (מערך במקום מחרוזת).
פתרון עוקף
בספריית ערכת העיצוב שלך, עקוב אחר נתיב זה ופתח את הקובץ (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 );
בדרך זו, לא נשלח את המערך כפרמטר והכל יעבוד כמצופה.