Good day, I need a plugin to be self-deactivated once the mail is sent to the site owner. However, when I run on local machine the plugins still active in my admin panel. My code :
if(count($result) == 0){
// Send the mail
send_to_mail();
// self deactivation of this plugin
add_action( 'init', 'deactivate_cronjob_plugin' );
}
// deactivate the plugin
function deactivate_cronjob_plugin(){
if ( is_plugin_active('myPlugin/cron_job.php') ) {
deactivate_plugins('myPlugin/cron_job.php', true);
}
}
I'm using Wordpress 4.9.6, I'm glad if there's any help. Thank you and have a good day.
You need the hole path to the plugin file, like
deactivate_plugins( plugin_basename( __FILE__ ) );
Also the small note that the function is_plugin_active
is not necessary. The deactivation works only, if the plugin is active.