plugin_dir_path()
Отримує повний шлях до папки, в якій лежить вказаний файл – __FILE__ . Зі слешем на кінці.
Може використовуватися для отримання повного системного шляху до каталогу будь-якого файлу. Це не обов’язково має бути файл плагіна.
Функція призначена для зручного використання конструкції:
trailingslashit( __DIR__ );
Використовуйте константу WP_PLUGIN_DIR , щоб отримати шлях до папки з усіма плагінами.
plugin_dir_url(__FILE__) — аналогічна функція отримання URL папки плагіна.
(дуже швидко) | 50000 разів – 0.08 сек
(швидкість світла)
Хуків немає.
Повертає
Строку
. Повний шлях у системі до директорії у якій лежить зазначений файл.
Використання
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 з папки subfolder
, яка знаходиться в плагіні.
foreach( glob( plugin_dir_path( __FILE__ )."subfolder/*.php" ) as $file ){ include_once $file; }
#3 Отримаємо системний шлях до каталогу всіх плагінів
Взагалі шлях до каталогу плагінів знаходиться в константі WP_PLUGIN_DIR , але його також можна отримати за допомогою цієї функції:
//current path: /home/www/site.com/wp-content/plugins/my-plugin/ $dir = plugin_dir_path(__DIR__); //$dir is set to /home/www/site.com/wp-content/plugins/
#4 Створимо константу для плагіна
Часто зручно створити константу для плагіна, в якій буде шлях плагіна і потім використовувати цю константу скрізь у коді плагіна.
Таку константу прийнято створювати у головному файлі плагіна.
// Шлях до папки плагіна зі слешем на кінці 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'; // etc.
#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 | Введено. |
Код plugin_dir_path() plugin dir path WP 6.0.2
function plugin_dir_path( $file ) { return trailingslashit( dirname( $file ) ); }