plugin_basename() WP 1.5
Получает имя плагина - относительный путь до файла плагина (от каталога плагинов, MU плагинов) по переданному пути на файл.
Отрезает путь до папки плагинов из указанного пути до папки/файла плагина. Оставляет путь от папки плагина до указанного файла плагина включительно.
Путь получается без начального слэша: my-plugin/my-plugin.php
.
Использует константы: WP_PLUGIN_DIR и WPMU_PLUGIN_DIR. Использовать эти константы напрямую не рекомендуется.
1 раз — 0.000039 сек (очень быстро) | 50000 раз — 0.63 сек (очень быстро)
Хуков нет.
Возвращает
Строку. Путь от папки плагина до файла плагина без слэшей на концах.
Использование
plugin_basename( $file );
- $file(строка) (обязательный)
- Абсолютный путь до файла или папки плагина.
По умолчанию: нет
Примеры
#1. Предположим что файл плагина находится по такому пути:
/home/www/wp-content/plugins/my-plugin/my-plugin.php
тогда вызвав plugin_basename мы получим следующее:
$x = plugin_basename(__FILE__); // my-plugin/my-plugin.php
Заметки
- Global. Массив. $wp_plugin_paths
Список изменений
С версии 1.5.0 | Введена. |
Код plugin_basename() plugin basename WP 5.6.2
function plugin_basename( $file ) {
global $wp_plugin_paths;
// $wp_plugin_paths contains normalized paths.
$file = wp_normalize_path( $file );
arsort( $wp_plugin_paths );
foreach ( $wp_plugin_paths as $dir => $realdir ) {
if ( strpos( $file, $realdir ) === 0 ) {
$file = $dir . substr( $file, strlen( $realdir ) );
}
}
$plugin_dir = wp_normalize_path( WP_PLUGIN_DIR );
$mu_plugin_dir = wp_normalize_path( WPMU_PLUGIN_DIR );
// Get relative path from plugins directory.
$file = preg_replace( '#^' . preg_quote( $plugin_dir, '#' ) . '/|^' . preg_quote( $mu_plugin_dir, '#' ) . '/#', '', $file );
$file = trim( $file, '/' );
return $file;
}