WordPress как на ладони
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.1

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

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

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

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

plugin_dir_path 3 комментария
  • campusboy1951 cайт: www.youtube.com/c/wpplus

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

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

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

      Ответить2 месяца назад #
    • Kama4697

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

      Ответить2 месяца назад #

Здравствуйте, !

Ваш комментарий
Предпросмотр