WordPress中get_header()函数未定义错误排查求助
解决WordPress中get_header()函数未定义的错误
问题根源
你直接访问自己新建的feedback.php这类页面时,WordPress的核心函数库根本没被加载——只有WordPress默认的入口文件(比如index.php)会自动触发整个WP环境的初始化流程,所以get_header()这类核心函数只在WP初始化后才存在,直接访问独立PHP文件自然会报错。
正确解决步骤
1. 用WordPress官方页面机制(推荐)
不要自己新建独立PHP文件,按以下流程操作:
- 登录WordPress后台,进入「页面」→「新建页面」,创建名为“反馈”的页面并发布。
- 在主题文件夹下新建模板文件,命名为
page-feedback.php(命名规则:page-页面slug.php,slug是页面的别名,可在后台编辑页面时查看)。 - 在
page-feedback.php顶部添加模板声明,然后编写页面内容,示例代码:<?php /* Template Name: 反馈页面模板 */ get_header(); // 现在就能正常调用了 ?> <title> 反馈页面 </title> <link href="https://fonts.googleapis.com/css2?family=Notable&display=swap" rel="stylesheet"> <body> <h2> Hello World </h2> </body> <?php get_footer(); ?> - 回到后台编辑“反馈”页面,在右侧「模板」选项中选择你刚创建的“反馈页面模板”,更新页面后,通过WordPress生成的 permalink(比如
yourdomain.com/feedback/)访问即可。
2. 强行加载WP核心(不推荐)
如果非要直接访问自己的PHP文件,必须在文件最开头添加代码加载WP核心环境,示例:
<?php // 根据你的WordPress安装路径调整,比如WP根目录在网站根目录就用下面的代码 require($_SERVER['DOCUMENT_ROOT'] . '/wp-load.php'); ?> <!DOCTYPE html> <html> <head> <?php get_header() ?> <title> Home </title> <link href="https://fonts.googleapis.com/css2?family=Notable&display=swap" rel="stylesheet"> </head> <body> <h2> Hello World </h2> </body> </html>
这种方法可能引发安全风险和兼容性问题,不建议在正式环境使用。
内容的提问来源于stack exchange,提问作者north.48
相关产品推荐
相关产品推荐

