The generate_recovery_mode_key WordPress PHP action fires when a recovery mode key is generated.
Usage
add_action('generate_recovery_mode_key', 'your_custom_function', 10, 2);
function your_custom_function($token, $key) {
// your custom code here
}
Parameters
$token(string) – The recovery data token.$key(string) – The recovery mode key.
More information
See WordPress Developer Resources: generate_recovery_mode_key
Examples
Logging Recovery Mode Key Generation
Log each time a recovery mode key is generated.
add_action('generate_recovery_mode_key', 'log_recovery_key_generation', 10, 2);
function log_recovery_key_generation($token, $key) {
// Log the recovery mode key generation
error_log("Recovery mode key generated: {$key}");
}
Send Recovery Mode Key to Administrator
Send an email to the site administrator when a recovery mode key is generated.
add_action('generate_recovery_mode_key', 'send_recovery_key_email', 10, 2);
function send_recovery_key_email($token, $key) {
$admin_email = get_option('admin_email');
$subject = "Recovery mode key generated";
$message = "A new recovery mode key has been generated: {$key}";
// Send the email
wp_mail($admin_email, $subject, $message);
}
Store Recovery Mode Key as Transient
Store the recovery mode key as a transient for 24 hours.
add_action('generate_recovery_mode_key', 'store_recovery_key_transient', 10, 2);
function store_recovery_key_transient($token, $key) {
// Store the recovery key as a transient for 24 hours
set_transient('recovery_key', $key, 24 * HOUR_IN_SECONDS);
}
Update Recovery Mode Key on External Service
Update the recovery mode key on an external service using an API.
add_action('generate_recovery_mode_key', 'update_recovery_key_on_service', 10, 2);
function update_recovery_key_on_service($token, $key) {
// Update the recovery key on an external service
$response = wp_remote_post('https://example.com/api/recovery-key', [
'body' => ['key' => $key],
]);
}
Limit Recovery Mode Key Generation
Prevent recovery mode key generation if certain conditions are not met.
add_action('generate_recovery_mode_key', 'limit_recovery_key_generation', 10, 2);
function limit_recovery_key_generation($token, $key) {
// Check if a user is logged in
if (!is_user_logged_in()) {
// Stop the recovery mode key generation
wp_die("You must be logged in to generate a recovery mode key.");
}
}