我的WordPress支持的网站一直运行良好,但在最新升级到5.6.2和5.7之后,我遇到了一个重大问题,实际上破坏了网站的一个重要部分,我查看了日志,发现了以下错误:
[14-Mar-2021 00:29:32 UTC] PHP Notice: Undefined offset: 0 in /var/www/html/wp-content/plugins/tours/includes/class-tours-tour-post-type.php on line 1709
[14-Mar-2021 00:29:32 UTC] selected_original_tours:
问题代码如下: if($show_filter) {
$selected_destinations = isset($_GET[\'destinations\']) ? explode(\',\', $_GET[\'destinations\']) : [];
$selected_tourstyles = isset($_GET[\'tourstyles\']) ? explode(\',\', $_GET[\'tourstyles\']) : [];
write_log(\'selected_original_tours: \' . $selected_tourstyles[0]);
for($i = 0; $i < count($selected_tourstyles); $i++) {
$selected_tourstyles[$i] = str_replace(\'and\', \'&\', $selected_tourstyles[$i]);
$selected_tourstyles[$i] = str_replace(\'_\', \' \', $selected_tourstyles[$i]);
write_log(\'Selected_tourstyles:\' . $selected_tourstyles[$i]);
}
$selected_dates = isset($_GET[\'dates\']) ? explode(\',\', $_GET[\'dates\']) : [];
}
因此,所讨论的行必须是: write_log(\'selected_original_tours: \' . $selected_tourstyles[0]);
升级总是天衣无缝的,但是从5.6.2和5.7开始,WordPress内部一定发生了一些变化。由于我不再与原始开发人员联系,如果有人能帮助我解决这个问题或更改受影响的代码以使我的函数再次工作,那将是一件好事?请提供一些专家建议。