我正在编写一个需要大量html的插件。现在,它的设置方式正在发挥作用。
return <<<EOT <html> EOT;
但我想将该文件拆分为可以包含的不同php文件。现在我尝试了这个,但它不起作用:
ob_start();
include(plugin_dir_url( __FILE__ ).\'file.php\');
return ob_get_clean();
知道怎么做吗?
============================
EDIT
好的,谢谢Chris Carson,我发现了小错误,我将代码更改为:
ob_start();
include(plugin_dir_path( __FILE__ ).\'/file.php\');
return ob_get_clean();
除了一个小问题外,现在一切正常。
在前面的代码中,我使用了如下内容:
$variable = \'Hello!\';
return <<<EOT
<span>{$variable}</span>
EOT;
这将在html中生成以下内容:
<span>Hello!</span>
但现在:
$variable = \'Hello!\';
ob_start();
include(plugin_dir_path( __FILE__ ).\'/file.php\');
return ob_get_clean();
这只是打印
<span>{$variable}</span>
任何让代码处理变量的方法。
最合适的回答,由SO网友:Chris Carson 整理而成
当包含文件时,您不需要URL,而是需要文件系统路径。所以
include(dirname(__FILE__) . "/path/to/myfile.php");
记住将第一个正斜杠插入
/path/to/myfile.php
, 自从
dirname
不包括尾部斜杠。