Aviso para activar la verificación en dos pasos (posponible 30 días)

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
2026-09-25 10:41:52 +02:00
parent d7a17a2aca
commit d29a66d18b

View File

@@ -199,3 +199,29 @@ function ga_purge_messages() {
} }
return count( $old ); return count( $old );
} }
/* -------------------------------------------------------------------------
* Seguridad: recordar la verificación en dos pasos (plugin Two Factor)
* ---------------------------------------------------------------------- */
add_action( 'admin_notices', function () {
if ( ! class_exists( 'Two_Factor_Core' ) || ! current_user_can( 'edit_posts' ) ) {
return;
}
$user_id = get_current_user_id();
if ( Two_Factor_Core::is_user_using_two_factor( $user_id ) || (int) get_user_meta( $user_id, 'ga_2fa_snooze', true ) > time() ) {
return;
}
printf(
'<div class="notice notice-warning"><p><strong>Protege tu cuenta:</strong> activa la verificación en dos pasos (un código de tu móvil además de la contraseña). Tarda dos minutos. <a class="button button-primary" href="%s">Activarla</a> <a href="%s">Recordármelo en 30 días</a></p></div>',
esc_url( admin_url( 'profile.php#two-factor-options' ) ),
esc_url( wp_nonce_url( admin_url( 'admin-post.php?action=ga_2fa_snooze' ), 'ga_2fa_snooze' ) )
);
} );
add_action( 'admin_post_ga_2fa_snooze', function () {
check_admin_referer( 'ga_2fa_snooze' );
update_user_meta( get_current_user_id(), 'ga_2fa_snooze', time() + 30 * DAY_IN_SECONDS );
wp_safe_redirect( wp_get_referer() ?: admin_url() );
exit;
} );