Функция PLUGIN_BASENAME() в WordPress 1.5.0: описание, использование, примеры

Функция 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(). Если у вас есть дополнительные вопросы или примеры, не стесняйтесь добавлять их!

Leave a Reply

Ваш адрес email не будет опубликован. Обязательные поля помечены *