我一直收到这些PHP错误警告。
警告:第96行/home/customer/www/website.com/public_html/wp-admin/includes/class-wp-privacy-policy-content.php中的非法字符串偏移“plugin_name”警告:第97行的/home/customer/www/website.com/public_html/wp-admin/includes/class-wp-privacy-policy-content.php中的非法字符串偏移“policy_text”
守则如下:
foreach ( $old as $key => $data ) {
if ( ! empty( $data['removed'] ) ) {
unset( $old[ $key ] );
continue;
}
$old[ $key ] = array(
'plugin_name' => $data['plugin_name'],
'policy_text' => $data['policy_text'],
);
}我该怎么解决这个问题?提前谢谢你!
发布于 2020-10-31 18:12:07
这可能是你下载的WP插件中的一个bug。依次关闭一个插件,看看哪个插件会阻止错误出现,从而发现哪个WP插件是导致错误的原因。这个问题看起来像是在将一个非数组值传递到一个$var中,这个数组就是一个数组。
作为Ro陈述,看起来代码试图将字符串作为数组处理。在本例中,如果代码不是数组,则可以将其放入代码中以忽略。
虽然这将直接解决您的问题,但是我强烈建议找到$data值的来源,并在那个时候纠正这个问题(正如前面提到的,可能是在插件中)。
foreach ( $old as $key => $data ) {
if(!is_array($data)){
continue; // if data is not an array then
// carry on to the next iteration.
}
if ( ! empty( $data['removed'] ) ) {
unset( $old[ $key ] );
continue;
}
$old[ $key ] = array(
'plugin_name' => $data['plugin_name'],
'policy_text' => $data['policy_text'],
);
}发布于 2020-10-31 18:08:51
我猜想$data实际上是一个字符串,而不是一个数组。以这样的方式访问字符串将导致PHP版本在8.0.0beta之前出现“警告:非法字符串偏移”。
见这个时代。
https://stackoverflow.com/questions/64624766
复制相似问题