斜杠“ /”是这两者之间的唯一区别吗?如果可以,我可以使用trailingslashit(__DIR__)吗?
Raj*_*our 11
plugin_dir_url(__FILE__)此函数为您提供文件目录的url。
plugin_dir_url(__DIR__)此功能为您提供url插件文件夹。
__FILE__这个神奇的常量会给你文件所在文件的路径。
__DIR__这个神奇的常量会给你文件所在目录的路径。
trailingslashit(__DIR__)该函数将返回路径目录的路径后的目录,并添加词shash的。
plugin_dir_path(__FILE__). 会给你相同的结果trailingslashit(__DIR__)。我建议使用插件目录路径,因为它是一种 wordpress 方式。
让我们来了解一下正在发生的事情:
wordpress 的功能就这么简单:
function plugin_dir_path( $file ) {
return trailingslashit( dirname( $file ) );
}
Run Code Online (Sandbox Code Playgroud)
所以,
include plugin_dir_path(__FILE__) . 'xx.php';
Run Code Online (Sandbox Code Playgroud)
等于
include trailingslashit( dirname( __FILE__ ) ) . 'xx.php';
Run Code Online (Sandbox Code Playgroud)
在 PHP 5.3 中,__DIR__引入它作为dirname( __FILE__ ). 如果你不需要支持 PHP < 5.3(你不需要),它可以简化为:
include trailingslashit( __DIR__ ) . 'xx.php';
Run Code Online (Sandbox Code Playgroud)
(另请参阅:Is there any Difference between __DIR__ and dirname(__FILE__) in PHP?)
由于__DIR__不返回带有尾部斜杠的内容,因此无需执行此trailingslashit操作。所以我们可以进一步简化为:
include __DIR__ . '/xx.php';
Run Code Online (Sandbox Code Playgroud)
因此,总而言之,以下几行都执行完全相同的操作(在 PHP >= 5.3 上):
include plugin_dir_path(__FILE__) . 'xx.php';
include trailingslashit( dirname( __FILE__ ) ) . 'xx.php';
include trailingslashit( __DIR__ ) . 'xx.php';
include __DIR__ . '/xx.php';
Run Code Online (Sandbox Code Playgroud)
哪个最好?我更喜欢最后一张。您不必输入太多内容,噪音也更少,而且您不必担心该plugin_dir_path函数内部有什么魔力。这就是通常在 PHP 中包含文件的方式。有些牧师可能会说你应该用 WordPress 的方式来做。做一个叛逆者!
/ home / www / your_site / wp-content / plugins / your-plugin / includes /
这可用于加载PHP文件。
更多信息:https : //developer.wordpress.org/reference/functions/plugin_dir_path/
http://example.com/wp-content/plugins
更多信息:https : //codex.wordpress.org/Function_Reference/plugins_url
http://example.com/wp-content/plugins/
后两个对加载图像,样式表和JS非常有用。
更多信息:https : //codex.wordpress.org/Function_Reference/plugin_dir_url
| 归档时间: |
|
| 查看次数: |
3651 次 |
| 最近记录: |