У меня есть PHP класс, написанный для использования в темах WordPress или плагинах, которые загружают некоторые JS и CSS, используя enqueue_script
а также enqueue_style
когда класс инициализируется.
Мне нужно динамически получить URL-адрес (не абсолютный путь) к каталогу, в который загружается класс, чтобы я мог передать этот URL-адрес enqueue_script
а также enqueue_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-адреса класса dir.
__DIR__
даст вам путь к файлу к папке текущего скрипта, а затем вы можете просто удалить корневой каталог вашего документа (путь к папке, в которой хранятся ваши файлы), а затем у вас останется путь URL:
$file_path = __DIR__;
$url_path = str_replace($_SERVER['DOCUMENT_ROOT'], '', $file_path);
Попробуйте это решение из этого URL:
PHP: Как получить URL относительного файла
Но вместо того, чтобы использовать preg_replace
попробуйте использовать str_replace
,