plugin_dir_path() WP 2.8.0

Отримує повний шлях до папки, в якій лежить вказаний файл – __FILE__ . Зі слешем на кінці.

Може використовуватися для отримання повного системного шляху до каталогу будь-якого файлу. Це не обов’язково має бути файл плагіна.

Функція призначена для зручного використання конструкції:

trailingslashit( __DIR__ );

Використовуйте константу WP_PLUGIN_DIR , щоб отримати шлях до папки з усіма плагінами.

plugin_dir_url(__FILE__) — аналогічна функція отримання URL папки плагіна.

1 раз – 0.000024 сек
(дуже швидко) | 50000 разів – 0.08 сек
(швидкість світла)

Хуків немає.

Повертає

Строку. Повний шлях у системі до директорії у якій лежить зазначений файл.

Використання

plugin_dir_path($file);
$file
(рядок) (обов’язковий)
Повний шлях до файлу. Зазвичай використовується чарівна константа
__FILE__.

Приклади

0

#1 Отримаємо директорію поточного файлу

Передбачається, що функція викликається з файлу плагіна, який називається my-plugin:

$dir = plugin_dir_path(__FILE__);
echo $dir;

// Отримаємо:
// /home/user/var/www/wordpress/wp-content/plugins/my-plugin/
0

#2 Підключимо всі PHP файли з під-директорії плагіна

Підключення всіх файлів PHP з папки subfolder, яка знаходиться в плагіні.

foreach( glob( plugin_dir_path( __FILE__ )."subfolder/*.php" ) as $file ){
	include_once $file;
}
0

#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/
0

#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.
0

#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() WP 6.0.2

function plugin_dir_path( $file ) {
	return trailingslashit( dirname( $file ) );
}

Залишити відповідь

Ваша e-mail адреса не оприлюднюватиметься. Обов’язкові поля позначені *