Les formulaires par défaut de connexion, d'enregistrement et de réinitialisation de mot de passe inclus dans WordPress (en dehors du site Web développé avec lui) ne sont souvent pas conformes à la conception et à la marque du site.
Dans le passé, lorsque WordPress était un moteur de blogs, c'était bien. WordPress est depuis devenu un système de gestion de contenu, conduisant à une demande toujours croissante de formulaires de connexion, d'enregistrement et de réinitialisation de mot de passe personnalisés.
Dans ce tutoriel, nous apprendrons comment créer un formulaire d'enregistrement en plusieurs étapes WordPress à l'aide d'un plugin que j'ai développé appelé ProfilePress.
Il convient de noter que nous avons précédemment couvert comment créer des formulaires de connexion, d'enregistrement et de réinitialisation de mot de passe personnalisés avec ProfilePress et un widget de connexion et d'inscription à onglets.
Vous trouverez ci-dessous la conception du formulaire d'enregistrement en plusieurs étapes que nous aurons construit à la fin de ce tutoriel.
Voir le formulaire d'enregistrement en plusieurs étapes avec une barre de progrès en utilisant jQuery et CSS3 par Agbonghama Collins (@ Colzo4Sky) sur Codepen.
Si vous voulez passer de l'avance sur ce tutoriel, voici une démo en direct du formulaire dans un site propulsé par WordPress.
sans plus tarder, passons directement à la construction du formulaire d'enregistrement en plusieurs étapes.
Dans la démo ci-dessus, la section Social Profiles contient un champ Facebook, Twitter et Google, qui ne sont pas présents dans le profil utilisateur WordPress par défaut. En conséquence, nous devons créer des méthodes de contact pour les champs de profil social ci-dessus afin que WordPress puisse enregistrer les données entrées dans les champs par rapport au profil des utilisateurs enregistrés.
Il existe un certain nombre de tutoriels en ligne qui décrivent comment ajouter des champs d'informations de contact à un profil utilisateur WordPress, notamment:
Ces tutoriels expliquent que si le code suivant est collé dans le fichier fonctions de votre thème.PHP, il ajoutera un champ Facebook, Twitter et Google à la section des informations de contact dans un profil utilisateur WordPress.
<span>function add_contact_methods( $user_contact ){ </span> <span>/* Add user contact methods */ </span> <span>$user_contact['facebook'] = __('Facebook Username'); </span> <span>$user_contact['twitter'] = __('Twitter Username'); </span> <span>$user_contact['google'] = __('Google+ Profile'); </span> <span>return $user_contact; </span><span>} </span> <span>add_filter('user_contactmethods', 'add_contact_methods');</span>
À l'aide du plugin, les champs d'informations de contact peuvent être ajoutés en remplissant un formulaire de clé / étiquette (voir l'image ci-dessous). Ceci est situé dans la page des paramètres des informations de contact, où la clé est un nom unique utilisé en interne par WordPress pour reconnaître le champ et étiqueter la description du champ affichée aux utilisateurs.
Pour plus d'informations, jetez un œil à l'ajout d'informations de contact au profil WordPress avec le plugin ProfilePress.
Accédez à votre profil WordPress pour voir le champ Facebook, Twitter et Google affiché.
Ayant ajouté les champs d'informations de contact Facebook, Twitter et Google à votre profil WordPress, vous devez ensuite créer le formulaire en plusieurs étapes via la fonction MELANGE.
Je ne vais pas nous guider à travers le processus de la façon dont le formulaire en plusieurs étapes est construit avec HTML, CSS et JavaScript. N'hésitez pas à fouiller le code source pour en savoir plus. Nous allons plutôt apprendre à convertir la forme en un formulaire d'enregistrement WordPress réel et fonctionnel.
La fonction de mélange du plugin est capable de convertir à peu près n'importe quelle connexion, réinitialiser le mot de passe d'enregistrement et peut même modifier le modèle de formulaire de profil afin qu'un équivalent WordPress de travail soit disponible (bien que cela ne soit disponible que dans la version premium de la version de la version de la version préalable de plugin).
Avec le plugin installé, cliquez sur le menu Melange comme indiqué dans l'image ci-dessous, puis le nouveau bouton Ajouter pour initier le processus de construction.
Un formulaire vous sera présenté. Remplissez les champs comme suit.
Entrez un nom pour le formulaire dans le champ Nom. Appelons cela le formulaire d'inscription à plusieurs étapes.
Copiez le code HTML du formulaire en plusieurs étapes dans l'éditeur de Melange Design TinyMCE, puis remplacez les champs d'entrée par leurs équivalents de shortcode respectifs comme SO:
<span><form method="post" novalidate> </span> <span><div id="msform"> </span> <span><!-- progressbar --> </span> <span><ul id="progressbar"> </span> <span><li class="active">Account Setup</li> </span> <span><li>Social Profiles</li> </span> <span><li>Personal Details</li> </span> <span></ul> </span> <span><!-- fieldsets --> </span> <span><fieldset> </span> <span><h2 class="fs-title">Create your account</h2> </span> <span><h3 class="fs-subtitle">This is step 1</h3> </span> <span>[reg-username placeholder="Username"] </span> <span>[reg-email placeholder="Email"] </span> <span>[reg-password placeholder="Password"] </span> <span><input type="button" name="next" class="next action-button" value="Next"/> </span> <span></fieldset> </span> <span><fieldset> </span> <span><h2 class="fs-title">Social Profiles</h2> </span> <span><h3 class="fs-subtitle">Your presence on social networks</h3> </span> <span>[reg-cpf key="twitter" type="text" placeholder="Twitter"] </span> <span>[reg-cpf key="facebook" type="text" placeholder="Facebook"] </span> <span>[reg-cpf key="google" type="text" placeholder="Google Plus"] </span> <span><input type="button" name="previous" class="previous action-button" value="Previous"/> </span> <span><input type="button" name="next" class="next action-button" value="Next"/> </span> <span></fieldset> </span> <span><fieldset> </span> <span><h2 class="fs-title">Personal Details</h2> </span> <span><h3 class="fs-subtitle">We will never sell it</h3> </span> <span>[reg-first-name placeholder="First Name"] </span> <span>[reg-last-name placeholder="Last Name"] </span> <span>[reg-nickname placeholder="Nickname"] </span> <span>[reg-bio placeholder="Biography"] </span> <span><input type="button" name="previous" class="previous action-button" value="Previous"/> </span> <span>[reg-submit class="submit action-button" value="Submit"] </span> <span></fieldset> </span> <span></div> </span><span></form></span>
Nous aurions pu laisser les champs sous la forme de la façon dont ils étaient sans les remplacer par leur équivalent de Shortcode ProfilePress. Cependant, l'utilisation des shortcodes s'occupe d'ajouter l'attribut de nom correct pour les champs d'entrée.
Si vous pouvez déterminer l'attribut de nom pour les champs (par exemple, pour le champ de nom d'utilisateur, l'attribut de nom est Reg_Username), vous pourriez aussi bien supprimer leur shortcodes.
Étant donné que ProfilePress n'inclut pas de zone de texte pour insérer JavaScript, le code JavaScript ira dans le champ de conception de Melange immédiatement après le code HTML du formulaire.
Remarque: l'attribut novaliate a été ajouté à la balise
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!