Undefined index错误排查及Genesis主题锚点菜单配置求助
问题1:Undefined index: content 错误解决
错误提示:Notice: Undefined index: content in onboarding.php on line 43
原因
你删除了onboarding-shared.php中的content相关配置,但onboarding.php的第43行仍在尝试调用$genesis_sample_shared_content['content'],由于该索引已不存在,触发了未定义索引的提示。
修复方案
有两种可选方式:
- 方式一:如果不需要共享的content配置,修改
onboarding.php中的array_merge部分,给$genesis_sample_shared_content['content']兜底一个空数组:
'content' => array_merge( [ 'homepage' => [ // 原homepage配置保持不变 ], ], $genesis_sample_shared_content['content'] ?? [] // 添加空数组兜底 ),
- 方式二:如果后续可能用到共享content,在
onboarding-shared.php中添加空的content键,避免索引不存在:
return [ 'plugins' => [...], // 保留原plugins配置 'content' => [], // 添加空的content数组 'navigation_menus' => [...], // 保留原导航配置 'widgets' => [...], // 保留原widgets配置 ];
问题2:导航菜单项设置首页锚点
要让导航项指向首页的滚动锚点,只需在onboarding-shared.php的导航配置中为每个菜单项添加url字段,值为锚点链接(以#开头,对应页面中锚点的ID):
修改后的导航配置代码:
'navigation_menus' => [ 'primary' => [ 'get-started' => [ 'title' => 'Get Started', 'url' => '#get-started' // 添加锚点URL ], 'testimonials' => [ 'title' => 'Testimonials', 'url' => '#testimonials' ], 'contact' => [ 'title' => 'Contact Us', 'url' => '#contact' ], ], ],
这样生成的菜单项会直接链接到首页对应ID的锚点位置。
内容的提问来源于stack exchange,提问作者user2589071
相关产品推荐
相关产品推荐

