Функция plugin_basename()
в WordPress возвращает имя плагина, отображаемое в админке, и может быть использована для получения относительного пути от папки плагинов до файла плагина.
plugin_basename( string $file ): string
Функция принимает абсолютный путь к файлу плагина и возвращает его относительный путь от папки плагинов WordPress, без начального и конечного слэшей.
Параметры
$file
(строка, обязательный)
Полный путь к файлу плагина. Обычно используется__FILE__
.
Возвращаемое значение
Функция возвращает строку, представляющую относительный путь к файлу плагина.
Пример 1: Получение пути к файлу плагина
Предположим, плагин расположен в файле my-plugin/my-plugin.php
:
$file_path = plugin_basename(__FILE__);
echo $file_path;
Этот код выведет:
my-plugin/my-plugin.php
Таким образом, мы получаем относительный путь к файлу плагина.
Пример 2: Использование в фильтре plugin_action_links
Часто plugin_basename()
используют для добавления пользовательской ссылки настроек рядом с плагином в списке плагинов. Определим константу с базовым именем плагина:
if (!defined('MY_PLUGIN_BASE')) {
define('MY_PLUGIN_BASE', plugin_basename(__FILE__));
}
add_filter('plugin_action_links_' . MY_PLUGIN_BASE, 'my_plugin_settings_link');
function my_plugin_settings_link($links) {
$settings_link = '<a href="' . esc_url(admin_url('admin.php?page=my-plugin-settings')) . '">' . __('Settings') . '</a>';
array_push($links, $settings_link);
return $links;
}
Теперь у плагина в списке появится ссылка на страницу настроек.
Пример 3: Подключение файлов из поддиректории
Если нужно подключить файл из поддиректории плагина, можно использовать plugin_basename()
вместе с dirname()
:
$class_dir = trailingslashit(dirname(plugin_basename(__FILE__))) . 'includes';
include_once $class_dir . '/helper-functions.php';
Такой подход позволяет динамически создавать пути к файлам в плагине, делая код более гибким.
Пример 4: Создание константы для упрощенного доступа
Создадим константу с путем к файлу плагина для повторного использования:
define('MY_PLUGIN_MAIN', plugin_basename(__FILE__));
// Пример использования константы
add_filter('plugin_action_links_' . MY_PLUGIN_MAIN, 'add_custom_link');
function add_custom_link($links) {
$custom_link = '<a href="https://example.com/docs">' . __('Documentation') . '</a>';
array_unshift($links, $custom_link);
return $links;
}
Здесь мы добавляем ссылку на документацию, которая будет отображаться рядом с плагином.
Когда использовать plugin_basename()
- Для добавления пользовательских ссылок рядом с плагином в списке плагинов.
- При необходимости получения относительного пути к файлу плагина.
- Для создания констант, представляющих путь к файлу плагина.
Заключение
Функция plugin_basename()
— удобный инструмент для работы с относительными путями плагинов в WordPress.