WordPress函数 plugin_basename() 用来获取基于当前插件目录的文件路径。

原型

1
plugin_basename( string $file )

参数

文件路劲,典型应用:__FILE__

返回

基于当前插件目录的文件路径。

源码

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
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 );
 
    // Get relative path from plugins directory.
    $file = preg_replace( '#^' . preg_quote( $plugin_dir, '#' ) . '/|^' . preg_quote( $mu_plugin_dir, '#' ) . '/#', '', $file );
    $file = trim( $file, '/' );
    return $file;
}

应用举例

例子1

如果您的插件文件位于/home/www/wp-content/plugins/wpdocs-plugin/wpdocs-plugin.php,并且您调用:

1
$x = plugin_basename( __FILE__ );

该$x变量将等于“wpdocs-plugin/wpdocs-plugin.php”。

例子2

如果您需要访问真棒插件中的目录,例如类目录,您可以通过以下方式访问它:

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

$lang_dir 变量现在将是“your-awesome-plugin/class”,您现在可以使用它来引用类目录中的文件。

版权声明:部分文章、图片等内容为用户发布或互联网整理而来,仅供学习参考。如有侵犯您的版权,请联系我们,将立刻删除。