# Функция PLUGIN_DIR_PATH() в WordPress
Функция PLUGIN_DIR_PATH() появилась в версии WordPress 2.8.0 и позволяет получить путь к папке плагина. Это особенно полезно для разработки плагинов, так как дает доступ к файловой структуре.
## Что делает эта функция?
Функция plugin_dir_path( $file ) возвращает путь к директории плагина, используя переданный файл. Путь заканчивается на прямую косую черту /.
### Пример работы функции
Функция работает быстро, и вот ее важные показатели:
- **1 раз** — 0.000024 секунды (очень быстро)
- **50,000 раз** — 0.08 секунды (практически моментально)
### Возвращаемое значение
Функция возвращает строку — путь к директории плагина.
## Как использовать функцию
Для вызова функции нужно передать имя файла плагина:
```php
$dir = plugin_dir_path( __FILE__ );
Параметры
$file(строка, требуется) — имя файла плагина. Используется__FILE__для получения пути к текущему файлу.
Примеры использования
Пример 1: Получение директории текущего файла
Предположим, что функция вызывается из файла плагина, названного my-plugin:
$dir = plugin_dir_path( __FILE__ );
echo $dir;
Вывод:
/home/user/var/www/wordpress/wp-content/plugins/my-plugin/
Пример 2: Подключение всех PHP файлов из подпапки
Если вам нужно подключить все PHP файлы из подпапки плагина, вы можете сделать следующее:
foreach( glob( plugin_dir_path( __FILE__ )."subfolder/*.php" ) as $file ){
include_once $file;
}
Пример 3: Получение системного пути к директории всех плагинов
Хотя путь к директории плагинов можно получить с помощью константы WP_PLUGIN_DIR, вы также можете сделать это с помощью функции:
$dir = plugin_dir_path( __DIR__ );
Пример 4: Создание константы для пути и URL плагина
Создание константы для пути плагина упрощает его использование в любом месте кода:
// Путь к папке плагина с косой чертой в конце
define( 'MY_PLUGIN_PATH', plugin_dir_path( __FILE__ ) );
// Использование константы в коде
require_once MY_PLUGIN_PATH . 'includes/admin-page.php';
require_once MY_PLUGIN_PATH . 'includes/classes.php';
Создайте константу для URL:
define( 'MY_PLUGIN_URL', plugins_url( '', __FILE__ ) );
// Использование в коде
wp_register_style( 'some-lib', MY_PLUGIN_URL . '/dir/lib.css' );
Пример 5: Подключение файлов в зависимости от условий
Если вам нужно подключить разные файлы в зависимости от того, находитесь ли вы в режиме администратора или на фронтенде, используйте условие:
if ( is_admin() ) {
include_once plugin_dir_path( __FILE__ ) . 'includes/admin-functions.php';
} else {
include_once plugin_dir_path( __FILE__ ) . 'includes/front-end-functions.php';
}
Изменения
- С версии 2.8.0 — Функция внедрена.
Как работает функция
Функция определена в файле wp-includes/plugin.php следующим образом:
function plugin_dir_path( $file ) {
return trailingslashit( dirname( $file ) );
}
Это позволяет получить путь к директории, которая содержит указанный файл, добавляя косую черту в конце.
Похожие функции
Вот некоторые функции, которые могут быть интересны для работы с директориями и файлами:
get_attached_file()get_home_path()get_parent_theme_file_path()get_temp_dir()get_template()
Эти функции также помогут вам работать с путями и файлами в WordPress.