Créer une zone de connexion (login) dans WordPress

Mis à jour le :

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.

Pour vous connecter à l’administration WordPress, il est commode de passer par l’une des 2 URLs suivantes :

  • https://example.com/wp-admin/
  • https://example.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://example.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://example.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://example.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.

Avatar de Aurélien Denis

Protégez votre site WordPress

Vos données sont précieuses,
ne prenez pas le risque de tout perdre.
Confiez-moi votre maintenance !

Ces articles devraient t’intéresser…

82 réponses
  1. Avatar de Hilfrancs EKAMBI
    Hilfrancs EKAMBI

    Bonjour,

    Je souhaiterais créer un formulaire d’accès à une démo composée d’un dashboard importé via FTP dans wordpress, avec un mot de passe provisoire unique et modifiable, communiqué à des clients. Ce n’est ni un login de membres, ni un plugin de type « Temporary Login Without Password » d’accès au panel WP admin.

    Merci de votre concours

    1. Avatar de Aurélien Denis
      Aurélien Denis

      Besoin spécifique, difficile de répondre ici par commentaire.

  2. Avatar de oktopus
    oktopus

    Merci pour ces informations en wordpress plugins

  3. Avatar de Michel
    Michel

    Très bon tutoriel.
    Apparemment, il ne fonctionne pas avec les version 5. de wordpress

  4. Avatar de JérémyP
    JérémyP

    Bonjour,
    SUper tuto merci,
    en revanche j’ai une question, comment faire le lien entre le formulaire et l’espace membre woo commerce ou woo commerce membership.
    En effet quand un membre s’identifie, il faut que woo commerce membership sache de qui il s’agit afin que l’utilisateur puisse acceder à la page ‘mon compte’ et voir ses infos perso par exemple.

    merci

    1. Avatar de Aurélien Denis
      Aurélien Denis

      La fonction wp_login_form accepte un paramètre de redirection, il est donc possible de renvoyer l’utilisateur vers une page spécifique. Toutefois, dans le cadre d’un e-commerce, je préconise d’utiliser les pages de connexion proposées par WooCommerce tout simplement.

  5. Avatar de john
    john

    BOnjour, tout d’abord merci énormément pour ce tuto qui marche à merveille. Comment puis-je intégrer sur la même page de login ou sur une autre page une fonction de logout

    1. Avatar de Aurélien Denis
      Aurélien Denis

      Bonjour, vous pouvez utiliser la fonction wp_logout_url

  6. Avatar de Aurélien Denis
    Aurélien Denis

    Salut, avant ou après le get_template_part() par exemple.

    1. Avatar de Stella
      Stella

      Ok, merciii pour votre aide

  7. Avatar de Stella
    Stella

    Salut, voici mon fichier template-login.php, et je ne sais pas où mettre le

    <?php

    if (have_posts()) {
    /* Start the Loop */
    while (have_posts()) {
    the_post();
    get_template_part('content', 'page');
    /**/
    }
    } else {
    theme_404_content();
    }
    ?>

    Merciii

  8. Avatar de Alexy
    Alexy

    Bonjour, mon code php est beaucoup plus court donc je n’est pas du tout les même ligne que vous comment faire ?

    1. Avatar de Aurélien Denis
      Aurélien Denis

      Je fais suite à votre e-mail. Je ne comprends pas votre problème, pouvez-vous être plus précis ?

  9. Avatar de Ninja
    Ninja

    Bonjour,
    Comment créer des identifiants après avoir utilisé la méthode numéro 2 ?
    Merci d’avance 🙂

    1. Avatar de Aurélien Denis
      Aurélien Denis

      Le tutoriel ne traite pas de la gestion des inscriptions qui un sujet plus vaste. Il existe de nombreuses solutions en fonction des besoins.

  10. Avatar de Malo Rembaud
    Malo Rembaud

    Bonjour,
    ce tutoriel est super mais il y a un petit problème…
    Si on saisit un mauvais identifiant ou mot de passe, on est redirigé vers la page de connexion wp-login et ça, c’est pas cool…
    Y a-t-il un moyen de changer la page de redirection en cas de mauvais login/mdp ?
    merci d’avance 😀

    1. Avatar de Laurène Martin
      Laurène Martin

      Bonjour,
      J’ai actuellement le même problème avez vous pu trouver une solution ?
      Merci 🙂

  11. Avatar de Parisa
    Parisa

    Bonjour,
    ça marche très bien, par contre je galère un peu pour faire une page de connexion à un webservice dans lequel les memebres qui vont s’indentifier sur mon site sont stocké ! !
    Est-que vous avez une solution à mon problème?
    Merci d’avance,

    1. Avatar de Aurélien Denis
      Aurélien Denis

      Désolé aucune idée, je n’ai pas en mémoire ce type d’intégration. Par contre, ça doit largement pouvoir se développer ! 🙂

  12. Avatar de Audrey Purvin
    Audrey Purvin

    bonjour,
    désolée d’avance, ma question est peu être très bête mais je débute…
    Comment fait on pour soupoudrer en css?

    1. Avatar de Aurélien Denis
      Aurélien Denis

      J’ai utilisé un terme culinaire ici… il s’agit d’ajouter quelques règles CSS pour gérer au mieux les styles. Cela nécessite des notions par contre.

  13. Avatar de Xavière
    Xavière

    Bonjour,
    Peut-on avoir plusieurs login et mot de passe valides ?
    Comment règle -t’on les login et mot de passe autorisés à se connecter ?
    Merci

    1. Avatar de Aurélien Denis
      Aurélien Denis

      C’est directement fonction des comptes utilisateurs créés en back-office.

      1. Avatar de Xavière
        Xavière

        merci!
        et il y a déjà un tuto là dessus sur le site ?

  14. Avatar de laurentstfort
    laurentstfort

    bonjour comment on fait pour que les personne puisse s’inscrire. est ce que il aurait un tutoriel (en vidéo) s.v.p?

    1. Avatar de Aurélien Denis
      Aurélien Denis

      Vous devez autoriser les inscriptions dans les réglages généraux de WordPress pour ouvrir les inscriptions. Ce tutoriel ne traite pas de la création d’un formulaire d’inscription sur mesure par contre.

  15. Avatar de ikkitout-Seul
    ikkitout-Seul

    Bonjour, je souhaiterai savoir quel est ce logiciel que vous utilisez dans la vidéo ?
    Je débute depuis peu dans le développement de site web.

  16. Avatar de TheTheomi13
    TheTheomi13

    Voilà, le code du login se trouve en ligne 134 ! (http://pastebin.com/AsfVVk2K) Merci beaucoup pour votre aide 😉

  17. Avatar de TheTheomi13
    TheTheomi13

    Dans WordPress 3.9, Quand l’on rentre des informations correctes et que l’on clique sur « Se connecter », on est redirigé vers la page de connexion de WordPress…

    1. Avatar de Aurélien Denis
      Aurélien Denis

      Bizarre, y a pas de raisons. Faites un pastebin que je jette un oeil rapidement. 😉

  18. Avatar de ed78000
    ed78000

    Bonjour à vous j’ai une question utilisation d’une commande PHP le texte à copier nous pouvons le coller ou nous voulons ?

    1. Avatar de Aurélien Denis
      Aurélien Denis

      Oui en principe.

  19. Avatar de Khaled Ben Gharbia
    Khaled Ben Gharbia

    bonjour j’ai utilisé la 1 er methode avec code php et ca marche mais j’ai pas su comment ajouter un boutton d’inscription

  20. Avatar de Khaled Ben Gharbia
    Khaled Ben Gharbia

    Bonjour j’ai essayé la premiere methode mais je trouve pas le code php comme dans le tuto il est plus court et je trouve pas la commande
    donc si vous pouvez me donnez tous le code et merci

  21. Avatar de khaledtotti
    khaledtotti

    bonjour le code php de mon fichier page.php de ce théme n’est pas le meme il est beaucoup plus court
    et je ne trouve pas la commande
    donc si vous pouvez me donnez le code en entier et merci

  22. Avatar de lisbeth442014
    lisbeth442014

    Merci beaucoup pour ces explications qui m’ont permis de créer une page de connexion en toute simplicité (j’ai choisi l’option 2 en y ajoutant un code register). Votre site est vraiment une mine d’information ! Bravo.

    1. Avatar de Aurélien Denis
      Aurélien Denis

      Merci ! 😎

  23. Avatar de Charlotte
    Charlotte

    Bonjour,

    J’ai suivi la méthode PHP cependant, il n’implémente pas le formulaire revu avec le plugin Register Plus.

    Comment faire ?

    Par avance merci

    1. Avatar de Aurélien Denis
      Aurélien Denis

      Je ne pense pas que cela soit possible…

  24. Avatar de Alexis Clérin
    Alexis Clérin

    Bonjour,

    est il possible d’ajouter un bouton de Déconnexion ??

    1. Avatar de Alexis Clérin
      Alexis Clérin

      MERCI 🙂

  25. Avatar de lorembolo
    lorembolo

    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 !

    1. Avatar de Mikel Aralar
      Mikel Aralar

      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é.

      1. Avatar de Mikel Aralar
        Mikel Aralar

        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.

    2. Avatar de Aurélien Denis
      Aurélien Denis

      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.

  26. Avatar de pacaussi
    pacaussi

    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

  27. Avatar de Aurélien Denis
    Aurélien Denis

    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.

    1. Avatar de Aralar
      Aralar

      Je vais étudier et mettre à la preuve les deux solutions.

      Merci de ta réponse, rapide et précise.

      1. Avatar de Mikel Aralar
        Mikel Aralar

        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

  28. Avatar de Aralar
    Aralar

    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.

    1. Avatar de Aralar
      Aralar

      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.

      1. Avatar de Gilforge (@Gilforge)
        Gilforge (@Gilforge)

        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.

        1. Avatar de Aralar
          Aralar

          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 !!!

  29. Avatar de Pierre
    Pierre

    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? 🙁

  30. Avatar de Pierre
    Pierre

    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

    1. Avatar de Aurélien Denis
      Aurélien Denis

      Avec un plugin comme Simple LDAP Login je pense : http://wordpress.org/extend/plugins/simple-ldap-login/

  31. Avatar de Shiraz
    Shiraz

    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

    1. Avatar de Aurélien Denis
      Aurélien Denis

      Hum trop compliqué pour fournir une réponse ici…

  32. Avatar de keeglegeek
    keeglegeek

    php the_content

    1. Avatar de Keeg
      Keeg

      Ou est il ?

  33. Avatar de keeglegeek
    keeglegeek

    Bonjour, je ne trouve pas j’utilise le theme selecta version 1.1.2 et wordpress 3.3.2 merci de m’aider (urgent)

    1. Avatar de keeglegeek
      keeglegeek

      je ne trouve pas pardon

  34. Avatar de APFDR
    APFDR

    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 !

    1. Avatar de APFDR
      APFDR

      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 😉

  35. Avatar de zied
    zied

    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

  36. Avatar de JCK
    JCK

    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.

    1. Avatar de Aurélien Denis
      Aurélien Denis

      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 ?

  37. Avatar de Ozne
    Ozne

    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

    1. Avatar de Aurélien Denis
      Aurélien Denis

      Directement dans une page en mode HTML ? Possible avec la seconde méthode, le PHP n’étant pas accepté sans passer par un plugin.

      1. Avatar de Ozne
        Ozne

        Je souhaite créer une page avec une zone d’inscription, quel est le mieux?

  38. Avatar de Lucien Dubois
    Lucien Dubois

    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?

    1. Avatar de Aurélien Denis
      Aurélien Denis

      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é ?

      1. Avatar de Lucien Dubois
        Lucien Dubois

        Combien serait-ce?

        1. Avatar de Aurélien Denis
          Aurélien Denis

          Contactes-moi directement via la page Contact. 😉

  39. Avatar de Juliendaffy01
    Juliendaffy01

    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.

    1. Avatar de Aurélien Denis
      Aurélien Denis

      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.

  40. Avatar de Gaby
    Gaby

    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

    1. Avatar de Aurélien Denis
      Aurélien Denis

      Oui bien sûr avec la commande wp_register : http://codex.wordpress.org/Function_Reference/wp_register 😉

      1. Avatar de Gaby
        Gaby

        Merci bcp !

  41. Avatar de David
    David

    Coucou,

    JOYEUX NOEL et Bonnes Fêtes 🙂

    Merci Aurélien pour cette astuce, vraiment génial !

  42. Avatar de matthieu nasri
    matthieu nasri

    oui mais comment fait-tu pour le mettre au dessus du site entier (comme twitter)
    merci

    1. Avatar de Aurélien Denis
      Aurélien Denis

      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/