Modificar etiquetas de wp-login.php: Cambiar Usuario a Correo Electrónico
¿Cómo se pueden editar las etiquetas del formulario wp-login.php?
Estoy utilizando correos electrónicos para los inicios de sesión, por lo que necesito cambiar username por email.
La respuesta aquí parece estar desactualizada o simplemente no funciona con SSL u otro motivo: Función para cambiar una etiqueta (Usuario) en un archivo núcleo de WordPress (wp-includes/general-template.php)
Probé esto en mi archivo de funciones, pero no funcionó:
function wpse60605_change_username_label( $defaults ) {
$defaults['label_username'] = __( 'Email' );
return $defaults;
}
add_filter( 'login_form_defaults', 'wpse60605_change_username_label' );
Encontré esto aquí: https://wordpress.org/support/topic/how-to-change-the-text-labels-in-userpass-box-on-login-page/
La otra respuesta no funcionó para mí, pero esta sí lo hizo.
Por si a alguien le sirve.
add_filter( 'gettext', 'register_text' );
add_filter( 'ngettext', 'register_text' );
function register_text( $translated ) {
$translated = str_ireplace(
'Username or Email Address',
'Tu Texto Personalizado',
$translated
);
return $translated;
}
Encontré una respuesta en stackoverflow poco después de publicar esto:
https://stackoverflow.com/questions/12825865/change-wordpresss-login-label-username
Utiliza el filtro gettext en lugar de cualquier función de wp
Solución sencilla: https://stackoverflow.com/questions/12825865/change-wordpresss-login-label-username/48502233#48502233
Muhammad Bilal
Prueba esto
add_filter( 'gettext', 'register_text' );
add_filter( 'ngettext', 'register_text' );
function register_text( $translating ) {
$translated = str_ireplace( 'Usuario o Correo Electrónico', 'Tu Texto Personalizado', $translating );
return $translated;
}
Además de cambiar la pantalla de inicio de sesión, quería eliminar el campo de Nombre de usuario del formulario de Añadir Nuevo Usuario en el administrador. Este código añadido a functions.php hizo el truco:
function hide_username_field(){
// Oculta el campo de nombre de usuario en el formulario de Añadir Nuevo Usuario del administrador
echo "\n" . '<script type="text/javascript">jQuery(document).ready(function($) {
$(\'input#user_login\').parent().parent().hide();
$(\'input#email\').change(function() {
$(\'input#user_login\').val($(\'input#email\').val());
});
});
</script>' . "\n";
}
add_action('admin_head','hide_username_field');