【已解决】将【主题选项→文章设置→显示文章左侧阅读目录】打开后出现报错

1.错误发生:

网站为document主题,将【主题选项→文章设置→显示文章左侧阅读目录】打开后出现报错

Warning: Undefined array key "h2" in
.../wp-content/themes/theme-document-master/include/functions/common.php

img

2.报错原因:

PHP版本8.0.26需要更严格的语法,不能直接访问未定义的数组键

3.解决方案:

在common.php中,在生成 HTML 标签的data-parent属性时,使用 PHP 的 空合并运算符(??) 来提供默认值,避免未定义的数组键访问。

  1. h2分支处理(data-parent="$parent['h1']"
// 原代码
$replace .= '<li data-pid="h3' . $h2_number . '" data-parent="' . $parent['h1'] . '">';
// 修改后
$replace .= '<li data-pid="h3' . $h2_number . '" data-parent="' . ($parent['h1'] ?? '') . '">';
  1. h3分支处理(data-parent="$parent['h2']"
// 原代码
$replace .= '<li data-pid="h4' . $h3_number . '" data-parent="' . $parent['h2'] . '">';
// 修改后
$replace .= '<li data-pid="h4' . $h3_number . '" data-parent="' . ($parent['h2'] ?? '') . '">';