Modificare le etichette di wp-login.php: da Username a Email
Come puoi modificare le etichette del form wp-login.php?
Sto utilizzando le email per il login, quindi ho bisogno di cambiare username in email.
La risposta qui sembra essere obsoleta, o semplicemente non funziona con SSL o altro: Funzione per cambiare un'etichetta (Username) in un file core di WordPress (wp-includes/general-template.php)
Ho provato questo nel mio file functions, ma non ha funzionato:
function wpse60605_change_username_label( $defaults ) {
// Cambia l'etichetta 'Username' in 'Email'
$defaults['label_username'] = __( 'Email' );
return $defaults;
}
add_filter( 'login_form_defaults', 'wpse60605_change_username_label' );
Trovato qui: https://wordpress.org/support/topic/how-to-change-the-text-labels-in-userpass-box-on-login-page/
L'altra risposta qui non ha funzionato per me, ma questa sì.
Nel caso possa aiutare qualcuno.
add_filter( 'gettext', 'register_text' );
add_filter( 'ngettext', 'register_text' );
function register_text( $translated ) {
$translated = str_ireplace(
'Username or Email Address',
'Testo Personalizzato',
$translated
);
return $translated;
}
Ho trovato una risposta su stackoverflow poco dopo aver pubblicato questo:
https://stackoverflow.com/questions/12825865/change-wordpresss-login-label-username
Utilizza il filtro gettext invece di qualsiasi funzione wp
Soluzione semplice: https://stackoverflow.com/questions/12825865/change-wordpresss-login-label-username/48502233#48502233
Muhammad Bilal
Prova questo
add_filter( 'gettext', 'register_text' );
add_filter( 'ngettext', 'register_text' );
function register_text( $translating ) {
$translated = str_ireplace( 'Username or Email Address', 'Il tuo testo personalizzato', $translating );
return $translated;
}
Oltre a modificare la schermata di login, volevo rimuovere il campo Nome utente dal modulo Aggiungi nuovo utente in admin. Questo codice aggiunto a functions.php ha funzionato:
function hide_username_field(){
// Nasconde il campo nome utente nel modulo Aggiungi nuovo utente in admin
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');