web-dev-qa-db-fra.com

Changer le bouton de connexion sur la page de connexion

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.

5
jobbogamer

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;
}
8
Jan Fabry

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;

}
4
Rafael Marques

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.

BM Custom Login
Connexion personnalisée

1
NW Tech

Il suffit de remplacer le bouton "login" par une image dans logins.css

0
alexndm
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' );
0
Ivan Dolera