我有一个PHP类编写用于WordPress主题或插件,在初始化Class时使用enqueue_script
和enqueue_style
加载一些JS和CSS。
我需要动态获取加载Class的目录的URL(不是绝对路径),这样我就可以将此URL传递给enqueue_script
和enqueue_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。
答案 0 :(得分:3)
__DIR__
将为您提供当前脚本文件夹的文件路径,然后您只需删除文档根目录(文件所在文件夹的路径),然后您将离开网址:
$file_path = __DIR__;
$url_path = str_replace($_SERVER['DOCUMENT_ROOT'], '', $file_path);
答案 1 :(得分:0)
答案 2 :(得分:0)
由于您使用的是 WordPress,因此特定于 WordPress 的方法是使用 get_stylesheet_directory_uri()
。它将返回当前主题(或子主题)的 URL。有关完整详情,请参阅 https://developer.wordpress.org/reference/functions/get_stylesheet_directory_uri/。