The delete_link WordPress PHP action fires before a link is deleted.
Usage
add_action('delete_link', 'your_custom_function');
function your_custom_function($link_id) {
// your custom code here
return $link_id;
}
Parameters
$link_id(int) – ID of the link to delete.
More information
See WordPress Developer Resources: delete_link
Examples
Logging link deletion
Log link deletion events for debugging purposes.
add_action('delete_link', 'log_link_deletion');
function log_link_deletion($link_id) {
// Log the link deletion event
error_log("Link with ID {$link_id} was deleted.");
}
Send email notification on link deletion
Send an email notification to the site administrator when a link is deleted.
add_action('delete_link', 'send_email_on_link_deletion');
function send_email_on_link_deletion($link_id) {
// Send email notification to the site administrator
$admin_email = get_option('admin_email');
$subject = "Link Deleted on Your WordPress Site";
$message = "A link with ID {$link_id} has been deleted from your website.";
wp_mail($admin_email, $subject, $message);
}
Remove link-related metadata
Delete any metadata associated with the link when the link is deleted.
add_action('delete_link', 'remove_link_metadata');
function remove_link_metadata($link_id) {
// Remove metadata associated with the link
delete_metadata('link', $link_id, '');
}
Prevent link deletion based on a condition
Prevent links with a specific term from being deleted.
add_action('delete_link', 'prevent_link_deletion', 10, 1);
function prevent_link_deletion($link_id) {
// Check if the link has a specific term
$term = 'restricted-term';
if (has_term($term, 'link_category', $link_id)) {
wp_die("The link with ID {$link_id} cannot be deleted as it is tagged with the restricted term '{$term}'.");
}
}
Update a custom counter
Update a custom counter when a link is deleted.
add_action('delete_link', 'update_link_counter');
function update_link_counter($link_id) {
// Update the custom link counter
$counter = get_option('link_deletion_counter');
$counter = is_numeric($counter) ? $counter + 1 : 1;
update_option('link_deletion_counter', $counter);
}