此解决方法只针对和我同样主题插件的,并且只是不显示报错,不影响前端显示,并没有解决根本问题,需要等待作者修复
主题:Neve 3.7.2
插件:WP Super Cache 1.10.0
编辑文章页面 Warning: Trying to access array offset on value of type bool in /www/wwwroot/xxx.xxx.net/wp-content/themes/neve/inc/views/template_parts.php on line 432
这是一段 PHP 错误报告,说的是在 template_parts.php 文件的第 432 行,你试图在布尔值类型的变量上访问数组偏移量,这是不允许的。
在编程中,布尔值(boolean)只有两种值:真(true)或假(false),它们并不能像数组那样存储多个值。因此,尝试在布尔值上访问数组偏移量会导致错误。
从
$markup = '';
$markup .= '’;
改为
if (is_array($read_more_args) && isset($read_more_args['classes'], $read_more_args['text'])) {
$markup = '';
$markup .= '';
} else {
// Handle the error case here.
}
编辑文章页面 Warning: Undefined variable $markup in /www/wwwroot/xxx.net/wp-content/themes/neve/inc/views/template_parts.php on line 453
从
if ( ! empty( $read_more_args['classes'] ) ) {
$markup = '' . $markup . '';
}
$new_moretag .= $markup;
return $new_moretag;
改为
$markup = isset($markup) ? $markup : '';
if ( ! empty( $read_more_args['classes'] ) ) {
$markup = '' . $markup . '';
}
$new_moretag .= $markup;
return $new_moretag;
页面显示 Deprecated: str_replace(): Passing null to parameter #3 ($subject) of type array|string is deprecated in /www/wwwroot/xxx.net/wp-content/plugins/wp-super-cache/wp-cache-phase2.php on line 54
从
return do_cacheaction(
'wp_cache_key',
// phpcs:ignore WordPress.NamingConventions.ValidVariableName.VariableNotSnakeCase
wp_cache_check_mobile( $WPSC_HTTP_HOST . $server_port . preg_replace( '/#.*$/', '', str_replace( '/index.php', '/', $url ) ) . $wp_cache_gzip_encoding . wp_cache_get_cookies_values() . '-' . wpsc_get_accept_header() . $accept_tag )
);
改为
$url = $url ?? '';
return do_cacheaction(
'wp_cache_key',
wp_cache_check_mobile( $WPSC_HTTP_HOST . $server_port . preg_replace( '/#.*$/', '', str_replace( '/index.php', '/', $url ) ) . $wp_cache_gzip_encoding . wp_cache_get_cookies_values() . '-' . wpsc_get_accept_header() . $accept_tag )
);
页面展示 Deprecated: parse_str(): Passing null to parameter #1 ($string) of type string is deprecated in /www/wwwroot/xxx.net/wp-content/themes/neve/inc/views/pluggable/pagination.php on line 198
从
parse_str( wp_parse_url( get_pagenum_link(), PHP_URL_QUERY ), $url_query_args );
改为
$query_str = wp_parse_url( get_pagenum_link(), PHP_URL_QUERY );
$query_str = $query_str ?? '';
parse_str($query_str, $url_query_args);
评论区