WordPress как на ладони
WordPress темы и плагины за 250 рублей wordpress jino

plugin_dir_path() WP 2.8

Получает системный путь до директории, где находится указанный файл (со слэшем на конце).

Функция создана для удобного использования конструкции:

trailingslashit( dirname( $file ) );

Может быть использована для получения полного системного пути до каталога любого файла. Это не обязательно это должен быть файл плагина.

plugin_dir_url(__FILE__) — аналогичная функция для получения не пути, а URL на папку плагина.

✈ 1 раз = 0.000024с = очень быстро | 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 файлы из поддиректории плагина

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

Заметка

С помощью этой функции можно надежно определить путь до каталога плагинов, удалив основную директорию плагина из строки (эквивалент не существующей функции plugins_dir_path()).

Код plugin dir path: wp-includes/plugin.php VER 4.9.6

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

Cвязанные функции

Из метки: path directory (путь папка)

Еще из раздела: Плагины, хуки

3 коммента
  • campusboy2801 cайт: www.youtube.com/c/wpplus

    Хм, а просто использовать __DIR__ не вариант или dirname()? smile

    Ответить1.8 год назад #
    • Alex

      я согласен, почему в вордпрессе так редко используют стандарт PHP.

    • Kama5395

      Разные сервера, могут по-разному возвращать видимо. Обернули, в WP все такие функции обернуты... unknw

Здравствуйте, !     Войти . Зарегистрироваться