我尝试了所有可以在这里找到并进行谷歌搜索的过程。包括路径, 外部库, 解释器设置…
每当我尝试运行主题的index.php文件时:
C:\XAMPP\php\php.exe "C:\path\to\project\wp-content\themes\MYTHEME\index.php"
Fatal error: Call to undefined function get_header() in C:\path\to\project\wp-content\themes\MYTHEME\index.php on line 1
Process finished with exit code 255
所以是的, 在第1行, 我只是在调用我的标头。
事实证明, 它试图像独立文件一样运行index.php, 但忽略了整个Wordpress安装(我从不同角度进行了介绍)。现在肯定是get_header()所在的位置, 因为我可以控制单击它, 它将把我带到声明它的文件中, 没有问题。
它也可以正确检测XAMP的PHP解释器。
如果我只是在浏览器中输入我的本地主机URL来访问该站点, 它也将很好地工作。只是无法在Phpstorm中使用。
#1
你正在直接调用主题索引文件, 这是不正确的方式, 因为你的主题必须使用WordPress的某些默认功能, 例如get_header()。
因此, 你需要确保已加载wp-load.php才能使所有WP函数可用。有两种方法:
1)调用root index.php, 以便默认情况下将加载所有内容。
2)调用主题的index.php, 但在其中添加以下代码:
if(!function_exists('get_header')) {
require_once( '/wp-load.php' );
}
但这不是一个好方法:)
评论前必须登录!
注册