2017-05-05 225 views
0

我有一个PHP类,用于在WordPress主题或插件中使用,这些类在初始化类时使用enqueue_scriptenqueue_style加载一些JS和CSS。用PHP获取当前文件的URL

我需要动态获取URL的类型(不是绝对路径)到类正在加载,所以我可以通过此URL到enqueue_scriptenqueue_style资产加载。

目录结构 wp-content ├── themes │ ├── theme_name │ │ ├── my_class │ │ │ ├── my_class.php │ │ │ ├── js (need URL) │ │ │ │ ├── file.js* │ │ │ ├── css │ │ │ │ ├── file.css*
是否有类似的工作,但[dirname][1]返回一个文件URL不是一个路径的PHP函数?

编辑
my_class目录应该能够在任何地方下降,在一个主题或插件,所以我不能依靠WordPress的核心功能得到的URL类目录。

+0

你想得到什么样的例子?你有什么尝试?你可能想要检查[get_site_url()](https://developer.wordpress.org/reference/functions/get_site_url/)...像'$ file_relative_path =“...”; $ url = get_site_url(null,$ file_relative_path,'https');'? –

+0

这可以用在主题或插件中,所以get_site_url不起作用。班级目录应该可以放在任何地方,所以我不能依靠WordPress的核心功能。 –

回答

2

__DIR__将为您提供当前脚本文件夹的文件路径,然后您可以简单地移除文档根目录(您的文件托管的路径),然后留下url路径:

$file_path = __DIR__; 
$url_path = str_replace($_SERVER['DOCUMENT_ROOT'], '', $file_path); 
+0

谢谢,这工作。 –