The deleted_blog WordPress PHP action is triggered after a site is deleted from a WordPress multisite network.
Usage
add_action('deleted_blog', 'your_custom_function', 10, 2); function your_custom_function($site_id, $drop) { // your custom code here }
Parameters
$site_id
(int) – The ID of the site being deleted.$drop
(bool) – True if the site’s tables should be dropped. Default is false.
More information
See WordPress Developer Resources: deleted_blog
Examples
Log site deletion
Log the deletion of a site to a custom log file.
add_action('deleted_blog', 'log_site_deletion', 10, 2); function log_site_deletion($site_id, $drop) { // Log site deletion in a custom log file $log_message = "Site ID: {$site_id} was deleted on " . date('Y-m-d H:i:s') . "\n"; error_log($log_message, 3, "/path/to/your/custom/log/file.log"); }
Send email notification
Send an email notification to the network admin when a site is deleted.
add_action('deleted_blog', 'send_site_deletion_notification', 10, 2); function send_site_deletion_notification($site_id, $drop) { $to = get_network_admin_email(); $subject = 'Site Deleted'; $message = "Site with ID {$site_id} was deleted."; wp_mail($to, $subject, $message); }
Remove site-specific options
Remove site-specific options from a global options table when a site is deleted.
add_action('deleted_blog', 'remove_site_options', 10, 2); function remove_site_options($site_id, $drop) { global $wpdb; $wpdb->query($wpdb->prepare("DELETE FROM {$wpdb->prefix}global_options WHERE site_id = %d", $site_id)); }
Clean up custom table
Delete entries related to the deleted site from a custom table.
add_action('deleted_blog', 'clean_custom_table', 10, 2); function clean_custom_table($site_id, $drop) { global $wpdb; $wpdb->query($wpdb->prepare("DELETE FROM {$wpdb->prefix}your_custom_table WHERE site_id = %d", $site_id)); }
Custom action upon site deletion
Perform a custom action when a site is deleted, like updating an external API.
add_action('deleted_blog', 'custom_site_deletion_action', 10, 2); function custom_site_deletion_action($site_id, $drop) { // Your custom code to update an external API or perform other actions }