plugins_url返回的网址不正确

时间:2014-04-04 17:52:22

标签: php wordpress

我试图获取我的插件的网址,但是plugins_url函数返回的是不正确的。

在主插件文件中有这一行:

$this->plugin_url     = plugins_url( '/', __FILE__ );

注意,我已通过wp-config.php更改了我的插件文件夹:

...
define( 'WP_PLUGIN_DIR', '/home/victor/hg/' );
define( 'WP_PLUGIN_URL', 'http://hg.victorpc.org' );
...

hg.victorpc.org是一个文档根设置为/home/victor/hg

的虚拟主机

该函数返回此网址http://hg.victorpc.org/home/victor/hg/<plugin-folder>,正确的是http://hg.victorpc.org/hg/<plugin-folder>

2 个答案:

答案 0 :(得分:0)

改为使用plugin_dir_url()

Codex:http://codex.wordpress.org/Function_Reference/plugin_dir_url

用法:

$this->plugin_url = plugin_dir_url( __FILE__ );

这将返回:http://hg.victorpc.org/hg/<plugin-folder>/(注意尾随斜杠)。

答案 1 :(得分:0)

我使用以下方法解决了这个问题:

plugins_url( basename( __DIR__ ) );

返回我的期望。