0

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

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

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

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

4

3 回答 3

4

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

$file_path = __DIR__;
$url_path = str_replace($_SERVER['DOCUMENT_ROOT'], '', $file_path);
于 2017-05-05T01:07:53.340 回答
0

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

PHP:如何获取相关文件的 URL

但不要使用preg_replace尝试使用str_replace.

于 2017-05-05T00:56:01.137 回答
0

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

于 2021-05-07T07:18:50.430 回答