问题描述
要获得一个插件的路径,您可以使用 plugin_dir_path(__FILE__)
– 但这显然必须从 plug-in 中调用。
如何从 plug-in A 中可靠地获取插件 B(pluginb/pluginb.php
) 的路径?
编辑:假设你知道你以后的 plug-in 的 s after(实际上你可以从 get_plugins()
获得它们) 。但我希望它能普遍工作。
最佳解决方案
我最好的猜测是:
if ( ! is_file( $dir = WPMU_PLUGIN_DIR . '/pluginb/pluginb.php' ) ) {
if ( ! is_file( $dir = WP_PLUGIN_DIR . '/pluginb/pluginb.php' ) )
$dir = null;
}
return $dir;
然而,这里的危险仍然是插件的”basename” 的假设 – 一个写得很好的插件仍然可以运行,即使它的目录和/或主文件已被重命名 (无论什么原因) 。
这可以追溯到我原来的评论 – 根据这是指哪个 third-party 插件,许多作者定义了自己的方法/常量来保存插件路径 – 检查它们的存在和使用它们 (如果可用) 。
参考文献
注:本文内容整合自 Google/Baidu/Bing 辅助翻译的英文资料结果。如果您对结果不满意,可以加入我们改善翻译效果:薇晓朵技术论坛。