Créer une zone de connexion (login) dans WordPress
Ce tutoriel vous apprendra comment mettre en place une zone de connexion dans une page WordPress vous permettant d’inciter vos visiteurs à s’inscrire sur votre site / blog. Aucune connaissance particulière requise.
Pour vous connecter à l’administration WordPress, il est commode de passer par l’une des 2 URLs suivantes :
- http://wpchannel.com/wp-admin/
- http://wpchannel.com/wp-login.php
Cette méthode de connexion n’est pourtant guère très pratique si vous autorisez l’enregistrement de nouveaux utilisateurs. En effet, à moins de connaître WordPress, il vous faudra indiquer l’URL correspondante à chacun des nouveaux inscrits.
Le plus simple reste donc de créer un formulaire de connexion puis de l’insérez dans un nouvelle page par exemple. Nous aurons donc une nouvelle fois recours aux modèles de pages de WordPress.
Création du modèle de page
A l’aide d’un client FTP, rendez-vous dans /wp-content/themes/NOM_DU_THEME/ puis dupliquez le fichier page.php.
Renommez la copie par un titre évocateur tel que template-login.php.
Ouvrez ce dernier puis référencez-le en tant que modèle de page en ajoutant les lignes de code suivante en début de fichier :
<?php /* Template Name: Zone de connexion */ ?>
Insertion du formulaire de connexion
Localisez ensuite la ligne contenant :
<?php the_content(); ?>
Cette ligne affichera le contenu saisi dans l’éditeur TinyMCE depuis votre administration WordPress.
Cas n°1 – Utilisation d’une commande PHP
Juste au-dessus ou en-dessous – c’est à votre convenance, placez la commande PHP suivante :
<?php wp_login_form(); ?>
Sauvegardez le fichier sur votre serveur FTP puis connectez-vous sur votre administration WordPress. Dans le module Pages, cliquez sur l’item Ajouter.
Dans la boîte Attributs de la page, indiquez le modèle Zone de connexion.
N’oubliez pas de cliquer sur le bouton Publier puis de visualiser le résultat.
Cette commande dispose de nombreux paramètres que vous pouvez ajouter entre les parenthèses comme indiqué sur le code à la page Function Reference / wp_login_form.
Cas n°2 – Utilisation d’un formulaire HTML
Cette seconde méthode présente le gros avantage de ne pas contenir une seule ligne de code PHP. Vous pouvez donc l’insérez directement dans une page, un article ou même un widget de WordPress.
Le second avantage de coder en dur – au lieu de passer par des arguments à insérer dans la commande PHP (ce qui n’est pas évident quand on débute), celle-ci est nettement plus facile à personnaliser. Il s’agit ni plus ni moins que d’un formulaire on ne peut plus standard en HTML.
<form method="post" action="http://www.NOM_DU_SITE.com/wp-login.php" id="loginform" name="loginform"> <p> <label for="user_login">Identifiant</label> <input type="text" tabindex="10" size="20" value="" id="user_login" name="log"> </p> <p> <label for="user_pass">Mot de passe</label> <input type="password" tabindex="20" size="20" value="" id="user_pass" name="pwd"> </p> <p><label><input type="checkbox" tabindex="90" value="forever" id="rememberme" name="rememberme"> Rester connecter</label> | <a href="http://www.NOM_DU_SITE.com/wp-login.php?action=lostpassword">Mot de passe oublié</a></p> <p> <input type="submit" tabindex="100" value="Se connecter" id="wp-submit" name="wp-submit"> <input type="hidden" value="http://www.NOM_DU_SITE.com/" name="redirect_to"> </p> </form>
Englober le tout d’une balise <div>, saupoudrez le tout de CSS et vous obtiendrez un résultat selon vos besoins. N’oubliez pas non plus de remplacer les URLs par le domaine de votre site.
Bravo ! Vous disposez à présent d’une zone de connexion (login) personnalisée et facilement repositionnable sur votre site. Les utilisateurs les plus aventureux l’afficheront en sur-impression sur la page, les autres pourront se contenter de passer par le plugin Ajax Login.
Crédits photo : _af_
Podcast: Télécharger (Durée: 4:48 — 129.0MB)
WordPress 3.5 – Un CMS pour créer et gérer blogs et sites Web
RT-Theme 17, traduction française
Maven Hosting, 12 mois d’hébergement
Themetick, traduction française
oui mais comment fait-tu pour le mettre au dessus du site entier (comme twitter)
merci
Il me semble que des plugins le font mais il existe ce tutoriel de chez Nettuts : http://net.tutsplus.com/tutorials/javascript-ajax/build-a-top-panel-with-jquery/
Coucou,
JOYEUX NOEL et Bonnes Fêtes
Merci Aurélien pour cette astuce, vraiment génial !
Bonjour à vous !!!
Merci pour ce tuto très intéressant !!
j’ai juste une question. il est possible d’avoir un bouton « Register » pour donner la possibilité au utilisateur de se créer un compte ?
comme le fait Ajax-login !
Merci
Oui bien sûr avec la commande wp_register : http://codex.wordpress.org/Function_Reference/wp_register
Merci bcp !
Bonjour,
la question a déjà été posté plus haut mais, étant très novice en internet, je n’y suis pas arrivé. Je chercher à faire un redirection après Logout de mon site. La redirection en Login fonctionne très bien avec Ajax Login. Apparemment il faut insérer une ligne de code, mais ou la mettre? Quelles sont les manipulations?
Je vous remercie d’avance.
Cette ligne de code doit être insérée là où le lien de redirection doit être affiché sur le site : header.php dans l’en-tête, footer.php dans le pied de page, etc. Effectivement, cette opération nécessite des connaissances de bases en HTML notamment.
Bonjour,
Je vais utiliser le plugin Members Only. J’aimerais donc personnaliser ma page de connexion. J’ai obtenu un résultat intéressant mais je ne sais pas comment remplacer le lien textuel « Inscription » par une image.
Comment puis-je faire?
Je n’ai pas la réponse mais cela doit être faisable en cherchant un peu. Je propose des services premium, peux-être serais-tu intéressé ?
Combien serait-ce?
Contactes-moi directement via la page Contact.
Bonjour,
Merci pour ce tuto, avez vous le code équivalent pour integrer le formulaire d’inscription directement dans la page?
Je supose qu’il suffit de suivre le tuto mais de remplacer par le code correspondant?
Merci
Directement dans une page en mode HTML ? Possible avec la seconde méthode, le PHP n’étant pas accepté sans passer par un plugin.
Je souhaite créer une page avec une zone d’inscription, quel est le mieux?
Bonjour et merci beaucoup pour ce tuto.
J’ai créé mon formulaire avec la commande PHP (cas n°1).
En cas de saisie erronée, l’utilisateur est redirigé sur la page de connexion standard WordPress.
Comment rester sur mon formulaire.
As-tu essayé d’ajouter un argument de redirection comme indiqué sur le lien vers le codex : http://codex.wordpress.org/Function_Reference/wp_login_form ?
Bonjour;
merci pour votre tuto
mais je voudrais savoir s’il est possible de faire les etapes d’authentification dans la meme page sans passer par wp-login.php
merci
Bonjour et encore merci pour tout les tutorial
Cependant j’ai un petit problème quand on n’est pas connecter ont tombe sur l’erreur 404 et c’est assez gênant, je voudrait savoir si je pouvait pas rediriger les non membre vers une page d’inscription ou pouvoir marquer un petit texte comme quoi il faut être enregistrer pour accéder à la page ?
Merci d’avance !
Même si moi et la logique sa fais 2 j’ai trouvé la solution il suffit de cocher la case « Effectuer une redirection pour les non-membres. » dans member access
Bonjour, je ne trouve pas j’utilise le theme selecta version 1.1.2 et wordpress 3.3.2 merci de m’aider (urgent)
je ne trouve pas pardon
php the_content
Ou est il ?
Bonjour, tout d’abord merci et bravo sur ce site il m’est d’un très grand secours !
j’ai installé member access et login with ajax, tout fonctionne super bien, mais j’essaye d’ajouter 2 champs (nom et tél) dans login with ajax pour les inscriptions, ils apparaissent dans le formulaire d’inscription mais pas quand je reçois le mail d’indication d’un nouvel abonné, je me doute que c du php, ce serait top si vous pouviez m’aider ! merci beaucoup et à bientôt.Shiraz
Hum trop compliqué pour fournir une réponse ici…
Bonjour, je souhaite savoir si on peut accéder à un LDAP par le biai de cette zone de connexion?
ps : le formulaire serait uniquement pour s’identifier et non pour s’enregistrer.
Help me please.
Merci d’avance
Avec un plugin comme Simple LDAP Login je pense : http://wordpress.org/extend/plugins/simple-ldap-login/
merci bien pour ta réponse plus que rapide. Autre question, le site que je dois faire est réserve à certaines personne, il faudrait que je créé une page spécial login (ou il n’y a strictement rien d’autre sur la page que le log), comment puis-je faire?
Magnifique suggestion. Très utile. Une question seulement. J’utilise la version « formulaire HTML » dans un widget (comme le dire en français ?) que l’affiche partout aux usagers non identifiés. Mais elle renvoie toujours l’usager que vient de s’identifier vers la page d’accueil. Est ce qu’il serait possible qu’après identification le visiteur reste dans la page de départ ?
D’avance, merci beaucoup.
Bonjour
Rien ? Personne pour me faire une suggestion ?
Pourtant, je crois que la question peut intéresser à pas mal d’utilisateurs de WordPress. Qu’est ce qu’il faut faire dans le formulaire HTML pour que le visiteur qui vient de se connecter reste sur la page ?
Merci d’avance et longue vie à ce site magnifique où l’on peut toujours apprendre beaucoup de choses.
Salut Aralar.
En passant par l’extension « Peter’s Login Redirect », tu peux définir une page de redirection très facilement en fonction du pseudo ou du statut.
Excellente sugestion. Je n’en connaissais pas cette extension, je vais la mettre à preuve. Merci de votre réponse.
Je constate, une fois de plus, le sens de l’entraide des lecteurs-contributeurs de WordPress channel. C’est le site où il faut absolument être !!!
Avec la première méthode, l’astuce est ici : http://codex.wordpress.org/Function_Reference/wp_login_url
Avec la seconde, je pense que tu dois modifier l’URL de l’antépénultième ligne ayant name=redirect_to.
Je vais étudier et mettre à la preuve les deux solutions.
Merci de ta réponse, rapide et précise.
La solution finalement est très simple, grâce à l’extension Sky Login Redirect, oeuvre d’un Français, il me semble. C’est simple. Les abonnés d’un site peuvent visiter une page, laquelle demande de se connecter au site. Après identification, ils ne sont pas redirigés vers la page d’accueil. Ils restent sur la page qui les intéressait, qui est déjà accessible.
J’utilise la deuxième solution proposée par Aurélien, le formulaire, dans un widget. Pour que l’extension Sky Login Redirect fonctionne, il suffit de supprimer l’avant-dernière ligne du formulaire ( ).
Et ça marche
Dans la version actuelle de Twenty_Ten, page.php utilise la fonction get_template_part qui appelle loop-page.php. En conséquence je pense que loop-page doit également être dupliqué pour y intégrer les modifications préconisées par ce tuto.
Si c’est le cas, est-il possible de faire évoluer votre tutoriel qui est excellent.
Merci
Merci pour cette super astuce !
Question : avec cette technique, si on saisit mal son formulaire, ou s’il comporte une erreur, on est redirigé sur la page classique de login, comment faire pour rester toujours sur la page de départ .
Même question pour l’enregistrement.
Merci et bravo !
Bonjour
Tu peux chercher des solutions du côté des extensions. La première, Sky Login Redirect (http://www.skyminds.net/wordpress-plugins/sky-login-redirect/), te permet de rester dans la page de départ après identification. La seconde, plus complète, ajoute les options connexion/déconnexion à la page de menus propre de Wordpres et permet de choisir la page de destination du visiteur une fois identifié.
J’ai oublié de dire que la seconde extension c’est Log in Logout Menu (http://boiteaweb.fr/plugin-log-in-logout-menu-3337.html), de Julio Potier. Mes excuses.
Il faudrait mettre en place des redirections ou essayer d’indiquer l’URL de la page abritant le formulaire de connexion dans le code du formulaire dans le
action. Sinon, passez par un plugin comme Ajax Login.Bonjour,
est il possible d’ajouter un bouton de Déconnexion ??
MERCI