Dans ce tutoriel nous allons voir comment ajouter un formulaire qui va permettre aux utilisateurs de s’inscrire et de se connecter à partir de votre page d’accueil.
Connexion / Déconnexion
WordPress intègre deux fonctions qui vont permettre de générer les URL de connexion et de déconnexion :
wp_login_url() ;
Cette fonction servira à vos utilisateurs pour ce connecté
wp_logout_url() ;
wp_logout_url permettra aux utilisateurs de votre blog de cliquer sur un lien de déconnexion et d’être rediriger vers une page de déconnexion.
Ajout du formulaire de connexion / déconnexion
En utilisant ces deux fonctions, on peut facilement créer un formulaire de connexion personnalisée et vérifier si l’utilisateur est déjà connecté pour lui afficher un bouton de déconnexion.
<?php if ( is_user_logged_in() ) { ?> <a href="<?php echo wp_logout_url(get_permalink()) ?>">Déconnexion</a> <?php } else { ?> <form id="login" method="post" action="<?php echo wp_login_url( get_permalink() ) ?>"> <fieldset> <label>Login :</label> <input type="text" value="" name="log" /> <label>Mot de passe : </label> <input type="password" value="" name="pwd" /> <input type="submit" value="Connexion" /> </fieldset> </form> <?php } ?>
La première chose à faire est de vérifier si l’utilisateur est connecté en utilisant la fonction if ( is_user_logged_in() ) { lien de déconnexion } si l’utilisateur est connecter ont affiche le lien de déconnexion, } else {formulaire de connexion } si l’utilisateur n’est pas connecter on affiche le formulaire de connexion. Vous pouvez utiliser cette fonction pour d’autres choses comme par exemple cacher le contenu d’une page visible que pour vos abonnés.
Formulaire d’inscription
Pour le formulaire d’inscription il faudra récupérer l’url de votre blog suivi de l’action qui permet l’enregistrement de vos utilisateurs, pour l’url ont va utiliser la fonction bloginfo(‘URL ’) suivi de l’action /wp-login.php?action=register qui va soumettre l’inscription de l’utilisateur.
<form name="registerform" action="<?php bloginfo('url'); ?>/wp-login.php?action=register" method="post"> <fieldset> <label>Identifiant</label> <input type="text" name="user_login" value="" /> <label>E-mail</label> <input type="text" name="user_email" value="" /> <input type="hidden" name="redirect_to" value="<?php echo get_permalink('208'); ?>" /> <input type="submit" name="wp-submit" /> </fieldset> </form>
Pour rediriger vos utilisateurs vers une page qui leur indique que leurs inscriptions ont bien été prises en compte, on va utiliser la fonction get_permalink(); qui va nous permettre de récupérer le lien d’une page avec son id :
<input type="hidden" name="redirect_to" value="<?php echo get_permalink('208'); ?>" />
Créer une page template, puis ajouter les informations nécessaires pour l’inscription de vos utilisateurs, et récupérer l’identifiant de la page dans mon exemple 208 .
Conclusion
Ce petit tutoriel va vous permettre de comprendre comment fonctionne une inscription d’un utilisateur avec WordPress et les fonctions utilisés pour la connexion et déconnexion de celui-ci. Il peut aussi vous servir de base pour créer un formulaire plus avancé.
[member]Télécharger l’article register_tuto[/member]
Je voudrais bien mettre en place ce formulaire mais dans quelles fichiers je dois ajouter ces lignes de codes ?
Bonsoir Djohane,
Vous pouvez ajouter le formulaire dans les fichiers sidebar.php ou header.php après il faudra utiliser le css pour le personnalisé.
Je suis en train d’essayer de l’intégrer dans une page.
J’ai un soucis avec les liens
WordPress me converti certain symbole
Comment faire pour exécuter du code php dans une page ?
Bonjour SimondeCambon,
Vous devez ajouter le code dans le fichier du thème (exemple header.php) et pas dans l’éditeur.
Bonjour, merci pour le tuto, pour le css, on travail sur quel fichier ?
Bonjour Aya,
Vous devez travailler avec le fichier style.css dans le thème et ajouter des class et id au formulaire html.
BONJOUR
Comment faire pour exécuter du code php dans une page ?
MERCI B….
Bonjour,
Vous devez placer votre code php en les balises :
<?php
// Votre code
?>
Merci. Je m’en suis inspiré 🙂
Mais apparemment, y’a une fonction pour générer le formulaire directement 😉
Sur erreur de login, je suis redirigé vers la page admin de wordpress. Comment faire pour rester sur ma page personnalisée ?
Bonjour Graudass,
Pour redirigé vos abonné sur un page personnalisé, ajouter le code suivant dans votre fichier function.php et changer l’url http://www.monblog/page-perso.
function redirect_user_login()
{
//On récupère les informations des utilisateurs
global $current_user;
get_currentuserinfo();
//Si l'utilisateur connecté est abonné
if ($current_user->user_level == 0)
{
wp_redirect('http://www.monblog/page-perso'); exit;
}
}
add_action('admin_init','redirect_user_login');
svp le coede la connexion avec email et mot de passe ?
Bonjour,merci pour le tuto mais j’aimerais savoir comment arriver à faire le même système de commentaire de votre site comme sur WordPress svp?
Bien à vous.