Wordpress:如何检查插件是否处于活动状态?

时间:2018-01-15 05:02:17

标签: php wordpress plugins

如何检查wordpress中的插件是否处于活动状态。我已经安装了easy-digital-downloads(edd)。在目录中:/wp-content/plugins/easy-digital-downloads,插件文件在/wp-content/plugins/easy-digital-downloads/easy-digital-downloads.php中。 我试过这个,我知道插件是活跃的。:

    if (is_plugin_active(get_home_url() . '/wp-content/plugins/easy-digital-downloads/easy-digital-downloads.php')){
    echo 'plugin is active';
}else{
    echo 'plugin is not active';
}

上面的代码回应说“插件不活跃”#39;但插件处于活动状态。

我认为问题在于我的插件地址。

2 个答案:

答案 0 :(得分:0)

您不需要完整的网址,只需要插件目录中的主插件文件的路径。

function check_plugin_state(){
    if (is_plugin_active('easy-digital-downloads/easy-digital-downloads.php')){
     echo 'plugin is active';
   }else{
    echo 'plugin is not active';
   }
}
add_action('admin_init', 'check_plugin_state');

注意:如果您希望在前端使用此功能,请不要忘记添加include_once( ABSPATH . 'wp-admin/includes/plugin.php' );

答案 1 :(得分:0)

除了使用WordPress函数is_plugin_active()之外,您还可以使用PHP本机函数class_exists()

在您的情况下,您必须传递Easy Digital Downloads主类名称,即Easy_Digital_Downloads。所以,你必须写

if(class_exists('Easy_Digital_Downloads')){
   echo 'plugin is active';
}else{
   echo 'plugin is not active';
}

此外,您可以使用PHP本机函数function_exists()。您必须传递Easy Digital Downloads主功能EDD()作为参数。 EDD()函数用于实例化Easy Digital Downloads插件的主类。所以,你可以写

if(function_exists('EDD')){
   echo 'plugin is active';
}else{
   echo 'plugin is not active';
}