plugin_basename( string $file )

Gets the basename of a plugin.


Description Description

This method extracts the name of a plugin from its filename.


Parameters Parameters

$file

(string) (Required) The filename of plugin.


Top ↑

Return Return

(string) The name of a plugin.


Top ↑

Source Source

File: wp-includes/plugin.php

666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
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 );
 
    $file = preg_replace( '#^' . preg_quote( $plugin_dir, '#' ) . '/|^' . preg_quote( $mu_plugin_dir, '#' ) . '/#', '', $file ); // get relative path from plugins dir
    $file = trim( $file, '/' );
    return $file;
}

Top ↑

Changelog Changelog

Changelog
Version Description
1.5.0 Introduced.


Top ↑

User Contributed Notes User Contributed Notes

  1. Skip to note 2 content
    Contributed by Brad Davis

    If you need to access a directory within your awesome plugin, eg, a class directory, you can access it by:

    1
    $class_dir = trailingslashit( dirname( plugin_basename( __FILE__ ) ) ) . 'class';

    $lang_dir variable will now be “your-awesome-plugin/class”, you can now use this to reference files within the class directory.

You must log in before being able to contribute a note or feedback.