Deshabilitar recuperación de contraseña en WordPress

Hay veces que nos interesa deshabilitar la recuperación de contraseñas de WordPress y así evitar posibles accesos indebidos a un sitio web.

Nosotros tenemos algunos blogs de afiliación donde diariamente se solicitan cientos de recuperaciones de contraseñas con el usuario que publica los posts. A esas webs no tiene que acceder nadie más que nosotros por lo que podemos deshabilitar la recuperación de contraseñas completamente. Si algún día nos hiciera falta o podemos deshabilitarlo temporalmente o normalmente lo haríamos a través de la base de datos.

Simplemente añadiendo estas líneas al functions.php del child theme deshabilitaremos esta función:

function apa_disable_password_reset() { 
return false;
}
add_filter ( 'allow_password_reset', 'apa_disable_password_reset' );

O en forma de plugin:

<?php

/**
 * Plugin Name:       Deshabilitar recuperación de contraseña
 * Plugin URI:        https://hablandodeinternet.com
 * Description:       Deshabilita la opción de recuperar contraseña en cualquier WordPress
 * Version:           1.0.0
 * Requires at least: 5.0
 * Requires PHP:      7.2
 * Author:            Hablando de Internet 
 * Author URI:        https://hablandodeinternet.com/deshabilitar-recuperacion-de-contrasena-en-wordpress/
 */

function disable_password_reset() { 
return false;
}
add_filter ( 'allow_password_reset', 'disable_password_reset' );

Esto parece que no funciona en todas las versiones de WordPress. Si no te funciona, esto siempre funciona. Para el functions.php:

function apa_disable_password_reset() {
    if (isset( $_GET['action'] )){
        if ( in_array( $_GET['action'], array('lostpassword', 'retrievepassword') ) ) {
            wp_redirect( wp_login_url(), 301 );
            exit;
        }
    }
}
add_action( "login_init", "apa_disable_password_reset" );

Y en formato plugin:

<?php

/**
 * Plugin Name:       Deshabilitar recuperación de contraseña
 * Plugin URI:        https://hablandodeinternet.com
 * Description:       Deshabilita la opción de recuperar contraseña en cualquier WordPress
 * Version:           1.0.0
 * Requires at least: 5.0
 * Requires PHP:      7.2
 * Author:            Hablando de Internet 
 * Author URI:        https://hablandodeinternet.com/deshabilitar-recuperacion-de-contrasena-en-wordpress/
 */

function apa_disable_password_reset() {
    if (isset( $_GET['action'] )){
        if ( in_array( $_GET['action'], array('lostpassword', 'retrievepassword') ) ) {
            wp_redirect( wp_login_url(), 301 );
            exit;
        }
    }
}
add_action( "login_init", "apa_disable_password_reset" );

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Los comentarios de esta página se procesan por un sistema automático de moderación por lo cual no siempre se publican de forma instantánea. Por favor respeta a los demás y ciñete al tema del post. Nos reservamos el derecho de eliminar cualquier comentario o enlace que nos parezca inadecuado o tenga una expresión de grosería, insulto, odio, hostilidad o negatividad.

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.