获取可使用的插件的路径plugin_dir_path(__FILE__)
- 但这显然必须从插件内部调用。
如何可靠地获取插件B的路径(pluginb/pluginb.php
) 从插件A中?
Edit: 它假设您知道您所追求的插件的slug(实际上您可以从get_plugins()
). 但我希望它能普遍起作用。
获取可使用的插件的路径plugin_dir_path(__FILE__)
- 但这显然必须从插件内部调用。
如何可靠地获取插件B的路径(pluginb/pluginb.php
) 从插件A中?
Edit: 它假设您知道您所追求的插件的slug(实际上您可以从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”——一个编写良好的插件即使其目录和/或主文件被重命名(无论出于何种原因),仍然可以运行。这可以追溯到我最初的评论-根据这是指哪一个第三方插件,许多作者定义了自己的方法/常量来保存插件路径-检查它们的存在是有意义的&;改用这些(如果可用)。
因此,一种方法是调用plugin_dir_path()
在当前插件中,将您自己的插件目录名替换为您要查找的插件的slug目录名(pluginb/pluginb.php
):
所以在我们的插件中plugina/plugina.php
,
$plugin_b = str_replace(\'plugina/\',\'pluginb/pluginb.php\',plugin_dir_path(__FILE__));
echo $plugin_b; //Prints path/to/pluginb/pluginb.php\';
使用WP_PLUGIN_DIR
插件中的常量,例如:
include_once(WP_PLUGIN_DIR.\'/pluginb/pluginb.php\');
额外信息:https://codex.wordpress.org/Determining_Plugin_and_Content_Directories我正在尝试使用active directory身份验证设置wordpress站点。出现的一个问题是,能否将类别/帖子/博客阅读限制在特定的广告组。我从来没有见过这样做,我也没有找到任何插件,似乎承诺这一功能。似乎最好的选择是只给一群用户一个具有read\\u private\\u posts功能的角色,但我不确定这会起到什么作用。