如何检查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;但插件处于活动状态。
我认为问题在于我的插件地址。
答案 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';
}