WordPress:如何检查插件是否活跃?

gpfsuwkq  于 2023-08-03  发布在  WordPress
关注(0)|答案(3)|浏览(123)

如何检查插件是否活跃在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';
}

字符串
上面的代码回应了'plugin is not active',但插件是活跃的。
我想问题是我的目录到插件地址。

b1uwtaje

b1uwtaje1#

你不需要完整的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_once( ABSPATH . 'wp-admin/includes/plugin.php' );

ulmd4ohb

ulmd4ohb2#

除了使用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';
}

qco9c6ql

qco9c6ql3#

另一个逻辑可以是这样的:

$pluginsList = get_option( 'active_plugins' );
    $my_plugin = 'plugin-dir-name-in-plugins-dir-under-wp-content/plugin-name.php'; 
    if ( in_array( $my_plugin , $pluginsList ) ) {
        echo "MyPlugin is active";
    }else{
      echo "MyPlugin is not active"
    }

字符串

相关问题