The deleted_option WordPress PHP action fires after an option has been deleted.
Usage
add_action('deleted_option', 'my_custom_function', 10, 1);
function my_custom_function($option) {
// your custom code here
}
Parameters
- $option (string) – Name of the deleted option.
More information
See WordPress Developer Resources: deleted_option
Examples
Log deleted options
Log the names of deleted options to a file.
add_action('deleted_option', 'log_deleted_option', 10, 1);
function log_deleted_option($option) {
$log_file = 'deleted_options.log';
file_put_contents($log_file, $option . PHP_EOL, FILE_APPEND);
}
Send an email notification
Send an email notification to the site administrator when a specific option is deleted.
add_action('deleted_option', 'notify_option_deletion', 10, 1);
function notify_option_deletion($option) {
if ($option == 'my_important_option') {
$to = get_option('admin_email');
$subject = 'Important option deleted';
$message = 'The option "my_important_option" has been deleted.';
wp_mail($to, $subject, $message);
}
}
Update a related option
Update a related option when a specific option is deleted.
add_action('deleted_option', 'update_related_option', 10, 1);
function update_related_option($option) {
if ($option == 'my_option') {
update_option('my_related_option', 'default_value');
}
}
Trigger an action
Trigger a custom action when a specific option is deleted.
add_action('deleted_option', 'my_custom_trigger', 10, 1);
function my_custom_trigger($option) {
if ($option == 'my_special_option') {
do_action('my_custom_action');
}
}
Add a custom notice
Display a custom notice in the WordPress dashboard when an option is deleted.
add_action('deleted_option', 'show_custom_notice', 10, 1);
function show_custom_notice($option) {
if ($option == 'my_option') {
add_action('admin_notices', 'display_notice');
}
}
function display_notice() {
echo '<div class="notice notice-info is-dismissible"><p><strong>Notice:</strong> The option "my_option" has been deleted.</p></div>';
}