Cambiar mensajes de error del inicio de sesión
He revisado las preguntas pero no pude encontrar una similar.
Necesito cambiar los mensajes de error personalizados que se muestran cuando un usuario intenta iniciar sesión con un nombre de usuario o contraseña incorrectos.
Por ejemplo, cambiar esto: "ERROR: La contraseña que ingresaste para el nombre de usuario %1$s es incorrecta. ¿Perdiste tu contraseña?" por esto "Información incorrecta" (solo un ejemplo)
Intenté usar "add_filter" pero no estoy familiarizado con él, así que ¡cualquier ayuda será apreciada! ¡Gracias!
Aquí te muestro cómo puedes hacerlo. Agrega este código en el archivo functions.php de tu tema:
add_filter('login_errors', 'personalizar_mensajes_error_login');
function personalizar_mensajes_error_login($error) {
// Lista de mensajes de error originales y sus reemplazos
$mensajes = array(
// Mensaje de contraseña incorrecta
"ERROR: La contraseña que ingresaste para el nombre de usuario" => "Información de acceso incorrecta",
// Mensaje de usuario desconocido
"ERROR: Usuario no válido" => "Información de acceso incorrecta",
// Mensaje de campo vacío
"El campo de usuario está vacío" => "Por favor, completa todos los campos"
);
// Reemplazar los mensajes originales con los personalizados
foreach($mensajes as $original => $nuevo) {
$error = str_replace($original, $nuevo, $error);
}
return $error;
}

puedes hacer eso usando el hook de filtro login_errors
y así es cómo:
add_filter('login_errors','login_error_message');
function login_error_message($error){
//verifica si ese es el error que estás buscando
$pos = strpos($error, 'incorrect');
if (is_int($pos)) {
//es el error correcto así que puedes sobrescribirlo
$error = "Información incorrecta";
}
return $error;
}
actualización:
acabo de probar el código y funciona bien, simplemente pegué el código en el archivo functions.php de mi tema sin cambiar nada con el archivo .po

Solo para aclarar todo, ¿debería reemplazar 'incorrect' con la cadena de error? Por cierto, ¡gracias por tu respuesta!

Acabo de intentarlo de esta manera y no funciona, pero no estoy seguro si el archivo .po de WordPress está sobrescribiendo el texto. ¿Alguna idea?

el texto de WordPress.po se sirve antes de que se active ese hook de filtro, y no, no tienes que cambiar incorrect
, está verificando si el mensaje de error contiene esa palabra.

Intenté hacer que esto funcionara pero no pude. Incluso intenté eliminar la parte condicional, así que debería devolver el texto en la variable $error, ¿verdad? Pero no tiene ningún efecto.
Al investigar el archivo .po, vi que los mensajes que quiero sobrescribir están ubicados en el archivo wp-includes/user.php como: "<strong>ERROR</strong>: El campo de nombre de usuario está vacío."

@Vitor estás haciendo algo mal, no es necesario tocar el archivo .po, actualicé mi respuesta.
