我需要获取当前的插件目录,如
[wordpress_install_dir]/wp-content/plugins/plugin_name
(如果从插件中调用getcwd()
,它将返回[wordpress_install_dir]
,即安装的根目录)
感谢您的帮助
答案 0 :(得分:67)
为什么不使用专门为此目的设计的WordPress核心功能?
<?php plugin_dir_path( __FILE__ ); ?>
请参阅食典文件here。
你也有
<?php plugin_dir_url( __FILE__ ); ?>
如果您要查找的是URI而不是服务器路径。
请参阅食典文件here。
IMO总是最好使用核心中可用的最高级别方法,就是这样。它使您的代码更具前瞻性。
答案 1 :(得分:36)
看看你自己的答案@Bog,我想你想要;
$plugin_dir_path = dirname(__FILE__);
答案 2 :(得分:14)
这实际上会得到你想要的结果:
<?php plugin_dir_url(__FILE__); ?>
http://codex.wordpress.org/Function_Reference/plugin_dir_url
答案 3 :(得分:8)
要获取插件目录,您可以使用Wordpress函数plugin_basename($file)
。所以你会使用如下来提取插件的文件夹和文件名:
$plugin_directory = plugin_basename(__FILE__);
您可以将其与插件目录的URL或服务器路径结合使用。因此,您可以使用常量WP_PLUGIN_URL
来获取插件目录URL或WP_PLUGIN_DIR
以获取服务器路径。但正如下面评论中提到的Mark Jaquith一样,只有插件位于Wordpress插件目录中才有效。
在Wordpress codex中了解更多相关信息。
答案 4 :(得分:3)
$full_path = WP_PLUGIN_URL . '/'. str_replace( basename( __FILE__ ), "", plugin_basename(__FILE__) );
此链接可能会有所帮助: http://codex.wordpress.org/Determining_Plugin_and_Content_Directories
答案 5 :(得分:2)
试试这个:
function PluginUrl() {
//Try to use WP API if possible, introduced in WP 2.6
if (function_exists('plugins_url')) return trailingslashit(plugins_url(basename(dirname(__FILE__))));
//Try to find manually... can't work if wp-content was renamed or is redirected
$path = dirname(__FILE__);
$path = str_replace("\\","/",$path);
$path = trailingslashit(get_bloginfo('wpurl')) . trailingslashit(substr($path,strpos($path,"wp-content/")));
return $path;
}
echo PluginUrl();将返回当前的插件网址。
答案 6 :(得分:1)
自WP 2.6.0起,您可以使用plugins_url()
方法。
答案 7 :(得分:1)
当我需要获取目录时,不仅是插件( plugin_dir_path ),而是更通用的插件,您可以使用__DIR__
,它会为您提供路径调用文件的目录。现在您可以使用 functions.php 或其他文件!
<强>描述强>:
文件的目录。如果在include中使用,则目录为 包含的文件被返回。这相当于 目录名(
__FILE__
)。此目录名称没有尾部斜杠 除非它是根目录。 1
答案 8 :(得分:0)
如果您想在文件中获取当前目录路径,则可以将__FILE__
和__DIR__
与plugin_dir_path()
作为一起运行:
$dir_path = plugin_dir_path( __FILE__ );
CurrentDirectory路径:
/home/user/var/www/wordpress_site/wp-content/plugins/custom-plugin/
__FILE__
magic constant返回当前目录路径。
如果你想从当前目录升级一级。你应该使用__DIR__
魔法常数:
当前路径:
/home/user/var/www/wordpress_site/wp-content/plugins/custom-plugin/
$dir = plugin_dir_path( __DIR__ );
一级上升路径:
/home/user/var/www/wordpress_site/wp-content/plugins/
__DIR__
magic constant返回一个级别的目录路径。
答案 9 :(得分:0)
在插件的主 PHP 文件中,这只适用于管理员:
$plugin_data = get_plugin_data( __FILE__ );
$plugin_name = $plugin_data['Name'];