Phpstorm不知道如何运行Wordpress

Car*_*lea -6 php wordpress wordpress-theming phpstorm

我已经尝试了所有我在这里找到的和google搜索.包括路径,外部库,解释器设置......

每当我尝试运行我的主题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
Run Code Online (Sandbox Code Playgroud)

所以在第1行是的,我只是在调用我的标题.

原来它试图index.php像独立文件一样运行,但忽略了整个Wordpress安装(我从不同的角度包括).当然它在哪里get_header(),因为我可以控制点击它,它会把我带到它声明的文件,没有问题.

它也正确检测XAMP的PHP解释器.

如果我只是访问在浏览器中键入我的localhost URL的站点,它也可以正常工作.它不会通过Phpstorm工作.

PHP*_*eam 5

你是直接调用主题的索引文件,这是不正确的方式,因为你的主题必须使用WordPress的一些默认功能,就像get_header()在这种情况下.

因此,您需要确保wp-load.php加载以使所有WP功能可用.你有两种方法:

1)调用root,index.php以便默认加载所有内容.

2)调用主题index.php但添加下面的代码:

if(!function_exists('get_header')) {
    require_once( '/wp-load.php' );
}
Run Code Online (Sandbox Code Playgroud)

不过这不是好方法:)