I want to delete option from database when plugin uninstall. It's name is test_option
. I am using this code but doesn't work. Where is problem?
function test_delete() {
if( !current_user_can( 'activate_plugins' ) )
return;
check_admin_referer( 'bulk-plugins' );
if( __FILE__ != WP_UNINSTALL_PLUGIN )
return;
delete_option( 'test_option' );
}
register_uninstall_hook( __FILE__, 'test_delete' );
I want to delete option from database when plugin uninstall. It's name is test_option
. I am using this code but doesn't work. Where is problem?
function test_delete() {
if( !current_user_can( 'activate_plugins' ) )
return;
check_admin_referer( 'bulk-plugins' );
if( __FILE__ != WP_UNINSTALL_PLUGIN )
return;
delete_option( 'test_option' );
}
register_uninstall_hook( __FILE__, 'test_delete' );
This will give you the option to register your unistall hook during plugin activation.
function myplugin_activation_callback(){
register_uninstall_hook( __FILE__, 'myplugin_uninstall_callback' );
}
register_activation_hook( __FILE__, 'myplugin_activation_callback' );
function myplugin_uninstall_callback(){
//Perform your uninstall operations here
delete_option('test_option');
}
However, the simplest way is to use an uninstall.php
file with the following codes:
if (!defined('WP_UNINSTALL_PLUGIN')) {
die;
}
//Perform your uninstall operations here
delete_option('test_option');
It's not recommended to use both at the same time.