当我开发插件时,我通过将插件目录符号链接到不同的WordPress目录中,在多个版本的wp-content上测试它们。这很好,因为我只需要编辑一次文件,但是它破坏了一个重要的构造,以生成对插件中资源的引用:__FILE__指的是物理插件位置,而不是wp-content中的那个。我该怎么解决这个问题?
我的目录结构如下所示:
/path/to/wordpress/development/dir/ plugin-development/ monkeyman-rewrite-analyzer/ monkeyman-rewrite-analyzer.phpjs/ monkeyman-rewrite-analyzer.js- `versions/`
- `3.1/`
- `wp-content/`
- `plugins/`
- `monkeyman-rewrite-analyzer` as a symlink to the above plugin - `3.1-multi-dir/`
- `wp-content/`
- `plugins/`
- `monkeyman-rewrite-analyzer` as a symlink to the above plugin - `3.1-multi-domain/`
- `wp-content/`
- `plugins/`
- `monkeyman-rewrite-analyzer` as a symlink to the above plugin如果我想对Javascript文件进行排队,我应该使用plugins_url( 'monkeyman-rewrite-analyzer.js', [base file] ),但是在这里使用__FILE__是行不通的,因为实际的文件路径将是/path/to/wordpress/development/dir/plugin-development/monkeyman-rewrite-analyzer/monkeyman-rewrite-analyzer.php,而不是/path/to/wordpress/development/dir/versions/*/wp-content/plugins/monkeyman-rewrite-analyzer/monkeyman-rewrite-analyzer.php,因此WordPress不能删除第一部分并生成一个相对于WordPress安装的URL。
发布于 2011-04-20 10:56:36
这个问题可以通过必须使用的插件连接到plugins_url过滤器来部分解决.
它不会处理使用plugin_basename()的所有其他情况,例如register_activation_hook()和co。
更多信息:http://core.trac.wordpress.org/ticket/16953
发布于 2011-04-20 10:22:15
bug 46260中的一条评论建议使用$_SERVER["SCRIPT_FILENAME"]而不是__FILE__。这行得通吗?
https://wordpress.stackexchange.com/questions/15202
复制相似问题