WPML
ステータス
解決済み
解決されたバージョン
WP Rocket lastest version

問題の概要

関数rocket_clean_domainは1つのパラメーターを受け取ります: $lang

通常はパラメーターなしで呼び出されますが、間違ったパラメーターが送信されるケースが1つあります:

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 );

解決策の1つは、その条件に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 );

これにより、配列がパラメータとして送信されなくなり、すべてが期待どおりに機能します。

すべての既知の問題 →