在加载plugins_后,get_plugins()不工作

时间:2014-06-16 作者:Yoav Kadosh

知道为什么下面的代码

function my_plugin_load()
{
    get_plugins();
}
add_action( \'plugins_loaded\', \'my_plugin_load\' );
抛出此错误?

Fatal error: 不应调用未定义的函数get\\u plugins()get_plugins() 定义在plugins_loaded 胡克开火了?如果不是,那么什么才是合适的钩子呢?(这个钩子应该启动插件的引导/加载过程)

1 个回复
SO网友:Philipp

可能您正试图在非管理员页面中使用该代码。functon函数get_plugins 仅在管理端可用,如果您想在其他地方使用它,则必须手动加载文件“plugin.php”。

要解决此错误,请在函数开头添加该检查:

    if ( ! function_exists( \'get_plugins\' ) ) {
        require_once ABSPATH . \'wp-admin/includes/plugin.php\';
    }

结束