Функция PLUGIN_BASENAME() │ WP 1.5.0
Функция PLUGIN_BASENAME() позволяет получить базовое имя плагина. Эта функция извлекает название плагина из его имени файла.
Выполнение функции занимает очень мало времени:
- 1 раз — 0.0000212 сек (очень быстро)
- 50000 раз — 0.17 сек (тоже очень быстро)
Без хуков
Возвращаемое значение
Функция возвращает строку с названием плагина.
Использование
plugin_basename( $file );
- $file (строка) (обязательно): имя файла плагина.
Примеры
Пример 1: Получение базового имени плагина
Предположим, что файл плагина находится по следующему пути:
/home/www/wp-content/plugins/my-plugin/my-plugin.php
При вызове функции plugin_basename мы получим следующий результат:
$plug_basename = plugin_basename( __FILE__ ); // my-plugin/my-plugin.php
Обратите внимание, если плагин состоит из одного файла и находится прямо в папке плагинов.
Для плагина, который состоит всего из одного PHP файла (например, wp-content/plugin.php) или для плагина, который должен быть использован (must-use plugin) (например, wp-content/mu-plugins/plugin.php), функция plugin_basename( __FILE__ ) вернет plugin.php.
Добавьте свой собственный пример
Замечания
- Глобальная переменная: массив
$wp_plugin_paths
Журнал изменений
- С версии 1.5.0 — функция была введена.
Код функции PLUGIN_BASENAME() для WP 6.7.2
Следующий код показывает, как реализована функция plugin_basename:
function plugin_basename( $file ) {
global $wp_plugin_paths;
// $wp_plugin_paths содержит нормализованные пути.
$file = wp_normalize_path( $file );
arsort( $wp_plugin_paths );
foreach ( $wp_plugin_paths as $dir => $realdir ) {
if ( str_starts_with( $file, $realdir ) ) {
$file = $dir . substr( $file, strlen( $realdir ) );
}
}
$plugin_dir = wp_normalize_path( WP_PLUGIN_DIR );
$mu_plugin_dir = wp_normalize_path( WPMU_PLUGIN_DIR );
// Получаем относительный путь из директории с плагинами.
$file = preg_replace( '#^' . preg_quote( $plugin_dir, '#' ) . '/|^' . preg_quote( $mu_plugin_dir, '#' ) . '/#', '', $file );
$file = trim( $file, '/' );
return $file;
}
Связанные функции
activate_plugins()deactivate_plugins()get_plugin_data()get_plugins()is_plugin_active()validate_plugin_requirements()wp_get_active_and_valid_plugins()
Плагины и хуки
add_screen_option()content_url()get_file_data()plugin_dir_path()plugin_dir_url()plugins_url()register_activation_hook()register_deactivation_hook()register_uninstall_hook()
Таким образом, вы получили полное представление о функции PLUGIN_BASENAME(). Если у вас есть дополнительные вопросы или примеры, не стесняйтесь добавлять их!