The plugin_basename() WordPress PHP function retrieves the basename of a plugin.
Usage
plugin_basename( $file )
Example:
Input: plugin_basename('/home/www/wp-content/plugins/wpdocs-plugin/wpdocs-plugin.php')
Output: wpdocs-plugin/wpdocs-plugin.php
Parameters
$file
(string) - The filename of the plugin.
More information
See WordPress Developer Resources: plugin_basename
Examples
Get plugin basename
Retrieve the basename of the current plugin file.
$plugin_basename = plugin_basename(__FILE__); echo $plugin_basename; // Outputs: "wpdocs-plugin/wpdocs-plugin.php"
Access plugin subdirectory
Access a subdirectory within the plugin, such as a "class" directory.
$class_dir = trailingslashit(dirname(plugin_basename(__FILE__))) . '/class'; echo $class_dir; // Outputs: "your-awesome-plugin/class"
Create a plugin action link
Add a plugin action link using the callback action from another file or class.
In main plugin file:
if (!defined('WPDOCS_PLUGIN_BASE')) { define('WPDOCS_PLUGIN_BASE', plugin_basename(__FILE__)); }
In another file:
add_filter('plugin_action_links_' . WPDOCS_PLUGIN_BASE, 'wpdocs_plugin_settings_link'); function wpdocs_plugin_settings_link($links) { $row_meta = array( 'settings' => '<a href="' . esc_attr(get_admin_url(null, 'admin.php?page=wpdocs-settings')) . '">' . __('Settings') . '</a>', ); return array_merge($links, $row_meta); }
Compare plugin_basename() and basename()
Compare the output of plugin_basename() and basename() for a plugin file.
$plugin_basename = plugin_basename(__FILE__); $base_name = basename(__FILE__); echo "plugin_basename: " . $plugin_basename . "\n"; // Outputs: "wpdocs-plugin/wpdocs-plugin.php" echo "basename: " . $base_name; // Outputs: "wpdocs-plugin.php"
Get plugin directory
Retrieve the plugin directory name using plugin_basename().
$plugin_dir = dirname(plugin_basename(__FILE__)); echo $plugin_dir; // Outputs: "wpdocs-plugin"