Personnaliser complètement la page de connexion WordPress

Personnaliser complètement la page de connexion WordPress
WordPress 14 juillet 2017

La page de connexion WordPress ne propose qu'un design unique et la démarche pour personnaliser l'interface aux couleurs de son entreprise peut paraitre un peu mystérieuse.
Aucune option disponible dans WordPress ne permet d'ajouter son propre logo ou encore de changer le fond de page pour une belle image (de licorne, quoi d'autre) en pleine page. Bref, donner un look qui envoi et vous ressemble.
Ce tutoriel vous montre les bases simples du fonctionnement du système de connexion de WordPress, et comment le personnaliser pour arriver exactement à ce que vous souhaitez. Nous allons parcourir quelques étapes ensemble en utilisant du PHP et du CSS uniquement. Si vous n'êtes pas à l'aise avec cette dernière phrase et que vous avez froncé des sourcils, voici 2 extensions pour arriver à ce résultat plus simplement et rapidement : Custom Login (gratuit) et Ultimate Branding (payant).

Ce que nous allons créer

Avant de commencer, voici le look de la page une fois personnalisée :

Page de connexion WordPress personnalisée licornes

Notre page de connexion magnifiquement personnalisée

Nous allons apporter des modifications au fichier functions.php donc si vous ne voulez pas perdre votre code lors des mises à jour, pensez à créer un thème enfant si ce n'est déjà fait. Parmi les 10 personnalisations que nous abordons, il est tout à fait possible de sélectionner librement celles dont vous avez besoin.

Personnaliser la page de connexion WordPress

Ce tutoriel vous livre plusieurs modifications toutes prêtes. Avec quelques ajustements vous avez de quoi créer une page de connexion plus personnalisée qu'un Flow Deezer.

  1. Ajouter un fond perso
  2. Remplacer le logo WordPress par le votre
  3. Arranger l'apparence du formulaire de contact
  4. Changer l'URL du logo
  5. Retirer le lien "Mot de passe oublié"
  6. Retirer le lien "Retour à.."
  7. Cacher le message d'erreur de connexion
  8. Retirer l'effet secousse lors de la connexion
  9. Modifier l'URL de redirection
  10. Garder cochée la case "Se souvenir de moi"

Vous avez peut-être cherché, mais la page de connexion WordPress n'a pas de fichier php dédié. Et si vous essayez de modifier la page de connexion depuis la feuille de style du thème, WordPress refuse de charger ces corrections. Mais tout ça n'est pas un problème parce qu'on peut créer la notre.

Voici ce qu'il faut faire :

  1. Dans votre dossier de thème, créez un nouveau dossier nommé "login"
  2. Créez un nouveau fichier CSS (avec sublime text ou Notepad ++) que vous nommerez login-style-perso.css
  3. Placez le fichier login-style-perso.css dans le nouveau dossier /login
  4. Maintenant, il faut demander à WordPress de charger ce fichier CSS. Ouvrez le fichier functions.php et ajoutez le code suivant :
function my_custom_login() {
 
echo '<link rel="stylesheet" type="text/css" href="' . get_bloginfo('stylesheet_directory') . '/login/login-style-perso.css" />';
}
 
add_action('login_head', 'my_custom_login');
Appeler votre nouvelle feuille de style

Allez, en avant !

Afficher un fond de page perso

Rien de plus simple, commencez par déposer votre image dans le dossier /login. Il vous suffit ensuite d'ajouter les lignes suivantes dans votre fichier login-style-perso.css :

body.login {
  background-image: url('licorne-bg.jpg');
  background-repeat: no-repeat;
  background-attachment: fixed;
  background-position: center;
  background-size:cover;
}
Afficher un fond de page perso via CSS

Pensez à remplacer la ligne "licorne-bg.jpg" par le nom de votre propre image de fond.

Remplacer le logo WordPress par le vôtre

Commencez par ajouter l'image de votre logo dans le dossier /login. Ensuite ajoutez les lignes suivantes dans le fichier login-style-perso.css :

.login h1 a {
 	background-image: url('licorne-logo.png'); 
	background-size: 120px; 
	height: 120px; 
	width: 120px; 
} 
Remplacer le logo WordPress via CSS

Pensez à remplacer "licorne-logo.png" par le nom de votre image de logo. Vous pouvez grossir ou diminuer la taille du logo grâce aux propriétés background-size, width et height.

Customiser l'apparence du formulaire de connexion

Maintenant nous allons jouer avec le rendu du formulaire pour qu'il soit un peu plus moderne et arrondis. Vous êtes complètement libres de changer le code CSS suivant selon vos goûts.
Nous commençons par modifier les label pour avoir un texte plus sombre, puis les inputs (champs) afin de leur donner un style plus arrondis.


.login label { 
	font-size: 12px; 
	color: #555555; 
} 

.login input[type="text"]{ 
	background-color: #ffffff; 
	border-color:#dddddd; 
	-webkit-border-radius: 4px; 
} 

.login input[type="password"]{ 
	background-color: #ffffff; 
	border-color:#dddddd; 
	-webkit-border-radius: 4px; 
}
Styliser le formulaire de connexion

La prochaine étape permet de personnaliser le bouton en optant pour un rose enchanté :

.login .button-primary { 
	width: 120px; 
	float:right; 
	background-color:#fb6cf3 !important; 
	color: #ffffff; 
	font-weight:bold; 
	-webkit-border-radius: 4px; 
	border: 1px solid #fb33ef; 
	box-shadow: none; 
	text-shadow: none; 
} 

.login .button-primary:hover { 
	background-color:#fb33ef !important; 
	color: #fff; 
	-webkit-border-radius: 4px; 
	border: 1px solid #fb33ef; 
} 

.login .button-primary:active {
	background-color:#fb33ef !important; 
	color: #fff; 
	-webkit-border-radius: 4px; 
	border: 1px solid #fb33ef; 
}
Personnaliser le bouton (ici on opte pour l'option girly)

Modifier l'URL du logo

Par défaut le logo renvoi vers wordpress.org. Vous pouvez faire pointer le lien vers l'adresse de votre site à la place en ajoutant ce code au fichier functions.php :

function my_login_logo_url() {
return get_bloginfo( 'url' );
}
add_filter( 'login_headerurl', 'my_login_logo_url' );
 
function my_login_logo_url_title() {
return get_bloginfo( 'name' );
}
add_filter( 'login_headertitle', 'my_login_logo_url_title' );
Changer le lien de destination du logo

Remplacez "Nom de mon site Internet" par le votre. Il s'agit simplement de la balise alt du logo.

Retirer le lien Mot de passe perdu

Le lien "Mot de passe perdu ?" est très utiles mais si quelqu'un a piraté votre e-mail il sera capable d'avoir votre mot de passe WordPress et de prendre le contrôle de votre site.
Pour retirer ce lien, ajoutez ce code à votre fichier login-style-perso.css :


p#nav {
display: none;
}

Retirer le lien "Retour au site"

Ce lien permet aux utilisateurs de retourner sur la page d'accueil du site. Je fais le choix d'un style très épuré et souhaite donc le faire disparaitre de sous mon formulaire. Ajoutez ce code à votre fichier login-style-perso.css :

p#backtoblog{
display: none;
}

Cacher le message d'erreur d'identification

Lorsque vous saisissez un mauvais nom d'utilisateur ou un mauvais mot de passe, WordPress vous le dit dans un message d'erreur. Alors oui c'est très pratique pour vous, mais aussi pour des pirates. Car le message d'erreur précise à chaque tentative si c'est l'identifiant ou le mot de passe qui est faux. Ainsi de bons hackers vont tester des centaines de possibilités parmi les mots de passes les plus communs par exemple (123456, date de naissance...).
Une solution complète est de sécuriser efficacement votre site WordPress. Ici nous allons simplement cacher le message grâce au code suivant à insérer dans votre fichier functions.php :

function login_error_override()
{
return 'Détails de connexion incorrects.';
}
add_filter('login_errors', 'login_error_override');
Cacher le message d'erreur d'identification - functions.php

Personnalisez le message à faire apparaître selon vos préférences.

Retirer l'effet secousse lors d'une tentative de connexion

Quand vous entrez un mauvais identifiant ou mot de passe, le formulaire se secoue pour alerter visuellement l'utilisateur qu'il s'est trompé.
Certains trouvent cet effet ennuyeux voir énervant et souhaiterons le retirer. Ajoutez ce code au fichier functions.php :

function my_login_head() {
remove_action('login_head', 'wp_shake_js', 12);
}
add_action('login_head', 'my_login_head');
Retirer l'effet secousse - functions.php

Modifier la redirection

Après une connexion réussie vous êtes redirigé vers le tableau de bord de WordPress. Vous pouvez changer ce comportement facilement pour rediriger les utilisateurs vers la page d'accueil par exemple.
Ajoutez le code suivant dans le fichier functions.php de sorte que tous les utilisateurs autres que admin soient automatiquement redirigés :

function admin_login_redirect( $redirect_to, $request, $user )
{
global $user;
if( isset( $user->roles ) && is_array( $user->roles ) ) {
if( in_array( "administrator", $user->roles ) ) {
return $redirect_to;
} else {
return home_url();
}
}
else
{
return $redirect_to;
}
}
add_filter("login_redirect", "admin_login_redirect", 10, 3);
Modifier la redirection - functions.php

Pré-cocher "Se souvenir de moi"

La case "Se souvenir de moi" est décochée par défaut. J'aime cocher cette case quand je me connecte mais parfois j'oublie et réalise plus tard que c'est trop tard !
Pour laisser cette case toujours cochée, ajoutez le code suivant au fichier functions.php :

function login_checked_remember_me() {
add_filter( 'login_footer', 'rememberme_checked' );
}
add_action( 'init', 'login_checked_remember_me' );

function rememberme_checked() {
echo "<script>document.getElementById('rememberme').checked = true;</script>";
}

En conclusion

Beaucoup de développeurs négligent la page de connexion car elle n'est pas visible des internautes. Cependant lorsque vous travaillez pour un client, c'est une belle opportunité de mettre en avant la finition de votre travail et l'image de marque de l'entreprise (évitez les licornes hein !).
Pour les utilisateurs du site, la page de connexion annonce une expérience utilisateur haute en couleurs si elle est proprement personnalisée.
La modification en vaut bien la peine pour le peu d'effort qu'elle demande. C'est une opportunité supplémentaire de mettre le site à l'image de l'entreprise et faire bonne impression.


Avis clients

Tibow Webdesign

Tous les avis

Loïc Perrière 6 janvier 2021

Ingénieur de recherches - CNRS / Recommandation LinkedIn
Lors du démarrage de projet de refonte du site web de mon laboratoire, j’ai contacté Thibaut pour obtenir des renseignements sur un travail qu’il avait déjà réalisé auprès d’un autre client.
Sa franchise et la clarté de ses réponses m’ont finalement convaincu de lui confier la conception de deux sites internet. Nos échanges ont toujours été constructifs, et Thibaut a fait preuve, tout au long du développement, de dynamisme et de réactivité, et a également réalisé de nombreuses propositions qui ont majoritairement été retenues. Enfin, il a su faire preuve d’écoute pour intégrer les problématiques et les demandes spécifiques d’un site internet de laboratoire public pour créer un site à notre image.
La collaboration a été fructueuse et constructive, et ça a été un réel plaisir de travailler avec lui.

Clara Deleuze 21 décembre 2020

Principal Chief Executive Officer chez On Divorce / Recommandation LinkedIn
Je collabore avec Thibault depuis plus de 10 ans.
Plus qu'un dev Full Stack c'est un profil au sens logique qui sera vous accompagner plus globalement sur votre projet IT.
Je lui ai confié plus de 5 projets et vous le recommande vivement : réactivité, sens du détail, proactivité...Il sait s'adapter "au métier" pour lequel il intervient et pas uniquement à la fonctionnalité !

Ackeret Mano 22 février 2019

Google Avis
Nous avons fait appel à Thibaut pour développer le site internet de notre entreprise Ackeret Mano, l'année dernière et nous avons été très satisfaits.

C'est un garçon à l'écoute, disponible et sérieux.
Nous vous le recommandons les yeux fermés.

Frédéric Meyrou 19 octobre 2018

Google Avis
Thibaut a repris en main le site du projet de coopérative supercoop.fr et il a parfaitement compris le style et l'énergie qu'il fallait donner au projet donc le site est un vecteur important de communication. Vous pouvez lui faire confiance!

Patrick Chatenet 24 juin 2018

Google Avis
Nous avons travaillé avec Thibaut Soufflet pour finaliser un site Wordpress fait par une autre personne qui était partie vers d'autres horizons professionnels. Il s'est parfaitement adapté, nous a bien écouté et a proposé de très bonnes solutions en termes d'ergonomie et de facilité d'utilisation pour nos clients. A eu à régler des problèmes techniques et a pris le temps de nous trouver les meilleures solutions. Je le conseille vivement!

Anaelle Sorignet 21 mai 2018

Google Avis
Tibow est super efficace, réactif et à l'écoute ! Il nous a concocté un super site. Je recommande vivement de faire appel à lui.

ISOPROM 15 avril 2018

Google Avis
donne de tres bons conseils

Alexis Supiot 5 septembre 2017

Google Avis
Plusieurs projets avec Thibaut et à chaque fois de bons échanges, une facilité dans la compréhension de nos attentes et pour l'ensemble des résultats très satisfaisants sur le rendu. Je recommande vivement et sais que nous aurons d'autres projets ensemble.

Jenny Debaere 1 septembre 2017

Google Avis
Je tiens à mettre en avant les très bonnes compétences techniques de Thibaut, qui a réalisé un travail correspondant totalement à mes attentes.
C'est une personne très attentive et à l'écoute qui saura comprendre votre univers et transposer cela à vos projets. Un autre point fort est sans nul doute sa réactivité et son professionnalisme quant au respect des jalons demandés. Je le recommande très fortement pour vos projets de site. Je n'hésiterai pas à collaborer de nouveau avec lui.

Pierre Arbeille 20 juillet 2016

Google Avis
Thibaut a réalisé le design de mon site, et j'en suis très satisfait. Le design correspondait exactement avec ce que j'avais en tête (mais sans les talents pour le réaliser). Et le délai a été tenu, merci encore !