使用PHP获取当前文件的URL

时间:2017-05-05 00:21:33

标签: php wordpress url dirname

我有一个PHP类编写用于WordPress主题或插件,在初始化Class时使用enqueue_scriptenqueue_style加载一些JS和CSS。

我需要动态获取加载Class的目录的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]那样工作的PHP函数但返回文件URL而不是路径?

修改
my_class目录应该可以放在任何地方,主题或插件中,因此我不能依赖WordPress核心函数来获取类目录的URL。

3 个答案:

答案 0 :(得分:3)

__DIR__将为您提供当前脚本文件夹的文件路径,然后您只需删除文档根目录(文件所在文件夹的路径),然后您将离开网址:

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

答案 1 :(得分:0)

从此网址尝试此解决方案:

PHP: How to get URL of relative file

但不是使用preg_replace尝试使用str_replace

答案 2 :(得分:0)

由于您使用的是 WordPress,因此特定于 WordPress 的方法是使用 get_stylesheet_directory_uri()。它将返回当前主题(或子主题)的 URL。有关完整详情,请参阅 https://developer.wordpress.org/reference/functions/get_stylesheet_directory_uri/