WordPress Plugin Development Series (8/95). Prefer one article? Read the complete WordPress plugin development tutorial.
Short description
Use activation for DB/version setup. Use deactivation for cleanup like clearing cron events.
Hook registration
register_activation_hook(__FILE__, 'acme_activate');
register_deactivation_hook(__FILE__, 'acme_deactivate');
function acme_activate() {
add_option('acme_version', '1.0.0');
flush_rewrite_rules();
}
function acme_deactivate() {
wp_clear_scheduled_hook('acme_daily_event');
flush_rewrite_rules();
}