使用 PHP 获取当前文件的 URL

Dar*_*ney 1 php url wordpress dirname

我有一个为在 WordPress 主题或插件中使用而编写的 PHP 类,它在类初始化时使用enqueue_script和加载一些 JS 和 CSS。enqueue_style

\n\n

我需要动态获取正在加载类的目录的 URL(不是绝对路径),以便我可以将此 URL 传递给enqueue_script资产enqueue_style加载。

\n\n

目录结构\n \nwp-content\n\xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80 themes\n\xe2\x94\x82 \xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80 theme_name\n\xe2\x94\x82 \xe2\x94\x82 \xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80 my_class\n\xe2\x94\x82 \xe2\x94\x82 \xe2\x94\x82 \xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80 my_class.php\n\xe2\x94\x82 \xe2\x94\x82 \xe2\x94\x82 \xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80 js (need URL)\n\xe2\x94\x82 \xe2\x94\x82 \xe2\x94\x82 \xe2\x94\x82 \xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80 file.js*\n\xe2\x94\x82 \xe2\x94\x82 \xe2\x94\x82 \xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80 css\n\xe2\x94\x82 \xe2\x94\x82 \xe2\x94\x82 \xe2\x94\x82 \xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80 file.css*\n
\n是否有一个 PHP 函数,其工作原理类似于[dirname][1]但返回文件 URL 而不是路径?

\n\n

编辑
\n该my_class目录应该能够放置在主题或插件中的任何位置,因此我不能依赖 WordPress 核心功能来获取类目录的 URL。

\n

Rya*_*sto 5

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

$file_path = __DIR__;
$url_path = str_replace($_SERVER['DOCUMENT_ROOT'], '', $file_path);
Run Code Online (Sandbox Code Playgroud)