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

Php 如何检查插件是否处于活动状态?,php,wordpress,plugins,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-co

如何检查插件在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';
}
上面的代码表示“插件未激活”,但插件已激活


我想问题在于我的插件地址。

你不需要完整的url,只需要插件目录中主插件文件的路径

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_一次(ABSPATH'wp admin/includes/plugin.php')

除了使用WordPress函数
is\u plugin\u active()
,您还可以使用PHP本机函数
class\u exists()

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

if(class_存在('Easy_Digital_Downloads')){
echo“插件处于活动状态”;
}否则{
echo“插件未激活”;
}
此外,您还可以使用PHP本机函数
function\u exists()
。您必须将Easy Digital Downloads主函数
EDD()
作为参数传递。
EDD()
函数用于实例化Easy Digital Downloads插件的主类。所以,你可以写

if(函数_存在('EDD')){
echo“插件处于活动状态”;
}否则{
echo“插件未激活”;
}

你把它挂在哪里?对不起。我不理解您的评论。
是活动的
函数必须连接到admin\u init或更高的操作