J'aimerais pouvoir modifier le texte du bouton de connexion dans wp-login.php - mais c'est un peu plus compliqué que cela. Je souhaite pouvoir le modifier dans le thème, plutôt que d’éditer directement le fichier principal, afin que a) il ne soit pas écrasé lors de la mise à jour de WordPress et b) il sera transféré si je distribue mon thème.
Je ne sais pas si c'est possible. Tout ce que je peux trouver sur Internet, c'est comment changer le CSS de la page de connexion, pas le HTML/PHP réel.
La "Connexion" chaîne est transmise à la fonction de traduction et vous pouvez la filtrer. Pour éviter de devoir filtrer chaque petite chaîne, vous pouvez activer ce filtre juste avant l'impression du formulaire de connexion.
add_action( 'login_form', 'wpse17709_login_form' );
function wpse17709_login_form()
{
add_filter( 'gettext', 'wpse17709_gettext', 10, 2 );
}
function wpse17709_gettext( $translation, $text )
{
if ( 'Log In' == $text ) {
return 'WPSE 17709 Logging In!';
}
return $translation;
}
Pour compléter ce qui a déjà été dit par Jan Fabry, suit la même fonction avec tous les termes du panneau de connexion:
add_filter( 'gettext', 'wpse17709_gettext', 10, 2 );
function wpse17709_gettext( $custom_translation, $login_texts ) {
// Login Main Page
if ( 'Username' == $login_texts ) { return ''; } // Username Label
if ( 'Password' == $login_texts ) { return ''; } // Password Label
if ( 'Remember Me' == $login_texts ) { return ''; } // Remember Checkbox
if ( 'Log In' == $login_texts ) { return ''; } // Login Button
if ( 'Lost your password?' == $login_texts ) { return ''; } // Lost Password Link
if ( '← Back to %s' == $login_texts ) { return ''; } // Back to website
// Login New Password
if ( 'Please enter your username or email address. You will receive a link to create a new password via email.' == $login_texts ) { return ''; } // Message after logo
if ( 'Username or E-mail:' == $login_texts ) { return ''; } // Label of username input
if ( 'Log in' == $login_texts ) { return ''; } // Log In Link Text
if ( 'Get New Password' == $login_texts ) { return ''; } // Button
// Messages
if ( 'You are now logged out.' == $login_texts ) { return ''; } // Log out message
if ( 'User registration is currently not allowed.' == $login_texts ) { return ''; } // User registration disabled
if ( 'Check your e-mail for the confirmation link.' == $login_texts ) { return ''; } // Check link confirmation on email
if ( 'Check your e-mail for your new password.' == $login_texts ) { return ''; } // Check new password on email
if ( 'Registration complete. Please check your e-mail.' == $login_texts ) { return ''; } // Registration complete
if ( 'Your session has expired. Please log-in again.' == $login_texts ) { return ''; } // Expired Session
if ( '<strong>You have successfully updated WordPress!</strong> Please log back in to experience the awesomeness.' == $login_texts ) { return ''; } // Sucessfully Wordpress Updated
return $translation;
}
Par défaut, cela est stylé dans le noyau de WP dans les fichiers login.css et colors-fresh.css.
Vous pouvez toujours copier ceci dans le CSS de votre thème
input.button-primary, button.button-primary, a.button-primary {
border-color: #298CBA;
font-weight: bold;
color: white;
background: #21759B url(../images/button-grad.png) repeat-x scroll left top;
text-shadow: rgba(0, 0, 0, 0.3) 0 -1px 0;
}
Et effectuez les modifications souhaitées et ajoutez simplement le !important
à celles qui sont différentes. Comme
input.button-primary, button.button-primary, a.button-primary {
border-color: #000 !important;
font-weight: normal !important;
color: orange !important;
text-shadow: none !important;
}
En ce qui concerne le changement du "texte" du bouton, cela fait partie du fichier de base WP et sera écrasé chaque fois que vous mettrez à jour et ne sera pas transféré d'un site à l'autre.
Quelques plugins pourraient vous aider à personnaliser un peu plus votre page de connexion.
Il suffit de remplacer le bouton "login" par une image dans logins.css
function oz_login_head() {
function oz_login_label( $translated_text, $text, $domain ) {
if ( 'Log In' === $text ) {
$translated_text = __( 'Your Custom Text' , 'divi' );
}
return $translated_text;
}
add_filter( 'gettext', 'oz_login_label', 20, 3 );
}
add_action( 'login_head', 'oz_login_head' );