Formation WordPress

Personnaliser la page de connexion de WordPress

La page de connexion à l’administration WordPress est accessible à l’adresse nom-du-site/wp-login.php et contient un formulaire pour se connecter, le logo de WordPress et un lien permettant de retourner sur l’index du site Internet.

Pour de multiples raisons, vous avez certainement envie de personnaliser cette page à votre image ou à celle de votre client.

Par chance (ou plutôt que les développeurs de WordPress pensent à tout), il existe quelques hooks et filtres à connaître pour personnaliser la page de connexion à votre image.

Ci-dessous, un aperçu de la page proposée par défaut :

Page de connexion WordPress

Lors de la personnalisation de la page, nous allons pouvoir modifier 4 paramètres :

  • le css
  • le lien sur le logo
  • l’attribut “title” du logo
  • ajouter du contenu

Attention : Toutes les modifications et ajouts de code doivent se faire dans votre fichier “functions.php” présent à la racine de votre thème.

Modifier le CSS

Pour modifier le css de cette page, nous allons surcharger les id et class présents par défaut et insérer notre fichier css à l’intérieur de la balise.

Créez un dossier « design » à la racine de votre thème et créez ensuite un fichier « style-login.css ». C’est cette feuille de style qui contiendra notre CSS qui surchargera celui d’origine. Pour stocker votre logo et vos images supplémentaires, créez un dossier « images » dans « design ».

Le code ci-dessous permet d’insérer l’appel du fichier CSS dans la balise de la page de connexion.

// Fonction qui insere le lien vers le css qui surchargera celui d'origine
function custom_login_css()
{
  	echo '<link rel="stylesheet" type="text/css" href="' . get_bloginfo('template_directory') . '/design/style-login.css" />';
}
add_action('login_head', 'custom_login_css');

Vous trouverez ci-dessous un exemple de fichier CSS qui surcharge quelques unes des class et id :

body {
	background-image: url(images/body.jpg) !important;
}

h1 a{
	background: url(images/logo.png) no-repeat !important;
	width: 325px !important;
	height: 93px !important;
}

#backtoblog {
    background-color: #666;
    box-shadow: 0 1px 3px #666;
    left: 0;
    margin: 0 !important;
    padding: 10px !important;
    position: fixed;
    text-align: left;
    text-shadow: 0 0 0 !important;
    top: 0;
    width: 100%;
}

.login #backtoblog a {
    color: #FFFFFF !important;
}

Modification de l’attribut href du logo

Par défaut, si vous cliquez sur le logo WordPress, celui-ci vous renvoie à l’adresse wordpress.org. Ce détail peut être fâcheux si le site est destiné à l’un de vos clients.

Il est possible de modifier la destination du lien en modifiant le contenu du filtre “login_headerurl”.

// Filtre qui permet de changer l'url du logo
function custom_url_login()
{
	return get_bloginfo( 'siteurl' ); // On retourne l'index du site
}
add_filter('login_headerurl', 'custom_url_login');

Modification de l’attribut title du logo

Un autre détail est assez gênant, il s’agit de l’attribut “title” de ce lien qui est par défaut “Propulsé par WordPress”. Cet attribut est visible lorsque vous laissez un petit instant votre souris sur l’image concernée.

Là aussi, un filtre va nous permettre de modifier le contenu de cet attribut.

// Filtre qui permet de changer l'attribut title du logo
function custom_title_login($message)
{
	return get_bloginfo('description'); // On retourne la description du site
}
add_filter('login_headertitle', 'custom_title_login');

Ajouter du contenu

Pour ajouter du contenu après le formulaire de connexion, le hook login_footer va nous permettre d’injecter notre code juste en dessous de la balise fermante

Voici un exemple de code :

// Fonction qui permet d'ajouter du contenu juste au dessus de la balise
function add_footer_login()
{
	echo '<p id="contact">En cas de problème de connexion, veuillez contacter le webmaster au numéro suivant : 00.00.00.00.00 ou par adresse mail : contact@geekpress.fr</p>';
}
add_action('login_footer','add_footer_login');

Ci-dessous, un aperçu du résultat final de notre personnalisation :

Personnaliser la page connexion de WordPress

2 plugins indispensables pour personnaliser votre page de connexion

Pour les personnes qui n’ont pas ou très peu de connaissances en PHP ou qui ont peur d’aller faire un tour dans le code, j’ai recueilli 2 plugins qui permettent de réaliser les astuces que nous venons d’apprendre.

Uber Login Logo

Uber Login Logo est THE plugin si vous souhaitez modifier le logo de votre page de connexion sans vous prendre la tête avec d’autres options inutiles. Il est tellement facile à utiliser qu’il possède uniquement un bouton pour télécharger votre logo.

Le plugin utilise le gestionnaire de média de WordPress et une fois que vous avez cliquer sur « Insérer dans l’article », on vous propose de voir un aperçu du logo. Le résultat sur la page de connexion est instantané !

Uber Login Logo est le plugin pour installer son logo sur la page de connexion en 10 secondes top chrono !

Aperçu de l'administration d'Uber Login Logo

Aperçu de l'administration d'Uber Login Logo

Télécharger Uber Login Logo

Custom Login Screen

Custom Login Screen est THE plugin à avoir si on souhaite personnaliser sa page de connexion de WordPress à partir de l’interface d’administration. Ce plugin permet tout simplement de modifier l’intégralité des éléments qui compose la page de connexion. C’est-à-dire que vous avez la possibilité de modifier le fond, le lien de retour, le logo, le formulaire, les messages d’informations et d’erreurs. Que ce soir le fond ou encore le lien de retour vers votre site, vous allez pouvoir personnaliser votre page avec une facilité déconcertante.

Custom Login Screen est divisé en plusieurs onglets. Chacun d’entre eux est réservé à un élément précis de la page et vous disposez d’une multitude d’options pour par exemple le positionner ou colorer comme bon vous semble.

Administration de Custom Login Screen

Aperçu de l'administration de Custom Login Screen

Télécharger Custom Login Screen

Tags :
Auteur : Jonathan
Actuellement en Master 1 Information Communication à Ingémédia, je m’intéresse depuis quelques années à différents aspects du milieu informatique qui m’ont vraiment séduits tels que la gestion de projet et la création de sites Internet.
Avatar de jonathan
Les commentaires 14 commentaires sur cet article
  1. Micky le

    Salut,
    tuto sympa et accessible. Tout a fonctionné sauf le changement de logo, je ne parviens pas à remplacer le logo wordpress par le mien. J’ai pourtant enregistré le fichier sous le nom « logo.png » dans mon dossier image, ça ne change rien. Un peu d’aide ? Merci ! ;-)

    Avatar de
  2. jonathan le

    @ Micky : Où ce trouve votre fichier css ? Vérifiez bien le chemin de votre logo.

    Avatar de
  3. Micky le

    Il est dans le dossier « design » que j’ai créé à la racine de mon thème.

    Avatar de
  4. jonathan le

    Avez-vous bien insérer ce code dans le fichier functions.php ?

    function custom_login_css()
    {
      	echo '
    &lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;' . get_bloginfo('template_directory') . '/design/style-login.css&quot;&gt;';
    }
    add_action('login_head', 'custom_login_css');
    Avatar de
  5. Micky le

    Ok ! ça marche ! le code était incomplet. Je ne comprenais pas pourquoi je n’avais pas de chemin d ‘accès vers le fichier css. Petite précision autour de laquelle j’ai tourné un bon moment. Il faut créer un dossier « images »dans le dossier « design » dans lequel on met le nouveau logo. N’est-ce pas ? Encore merci pour ce tuto !

    Avatar de
  6. jonathan le

    @ Micky : mettre les images dans un dossier « images » qui se trouve lui même dans un dossier « design » n’est pas obligatoire. C’est uniquement dans un but de séparer les images et les fichiers de code.

    Par contre, je me rend compte de vote confusion pour que je n’ai pas mentionné la création du dossier « images ». Je me modifie l’article en conséquence !

    Avatar de
  7. bertomeu le

    Super, c’est clair, c’est sympa… Merci…

    Au fait, je voudrais rajouter un bouton radio avec trois choix possibles d’accès au site à l’inscription ?

    J’ai trois types d’abonnés et chacun doit voir les espaces qui lui sont réservés… Amicalement, Vincent

    Avatar de
  8. Passion auto le

    Je découvre le blog Geekpress et je dois dire que c’est le coup coeur ! :)

    La présentation est claire et attrayante, c’est tout ce que j’aime. Bon courage pour la suite !

    Avatar de
  9. Lardeau le

    Bonjour, bravo et merci pour cet article très clair. Savez comment il est possible que lorsqu’un membre se connecte il soit redirigé, non pas vers l’interface d’administration (le back office) du site mais directement vers la home, le front office ?

    Avatar de
  10. jonathan le

    @Lardeau : Je vous laisse consulté notre astuce à ce sujet : Rediriger vos membres vers la page d’accueil après connexion.

    Avatar de
  11. Lardeau le

    merci :)

    Avatar de
  12. blin le

    Salut et merci pour ttes ces infos.
    Cependant je me demande pourquoi sortir du modèle WP anglophone, si c’est au prix de manip complexes (les balises, etc…)
    Je n’ai pas trop envie d’investir au delà de ce qui est nécessaire pour publier mon blog.Pouvez vous me conforter.
    Amicalement.

    Avatar de
  13. jonathan le

    @Blin : Je n’ai pas compris votre demande :/

    Avatar de
  14. Eloka le

    Bonsoir,

    Ce tutoriel est vraiment bien fait. Avant j’utilisai un plugin pour faire cela. Je l’ai finalement abandonné au profit de la page standard de l’installation.

    @BLIN : Si c’est pour ton site personnel et que tu es l’unique admin, peu importe je te rejoins sur ce point. Mais s’il s’agit du site d’un client, celui-ci souhaitera surement avoir chacune des pages de son site dans la charte de sa société. C’est là que la personnalisation prend tout son intérêt.

    Avatar de
Laisser un commentaire
Balises autorisées dans les commentaires: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>

Suivre les commentaires de cet article par E-mail