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 发送了不正确的参数(是数组而不是字符串)。

临时解决方法

在您的主题目录中,按照此路径并打开此文件 (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 );

这样就不会将数组作为参数发送,一切都将按预期运行。

所有已知问题 →