Maison > interface Web > tutoriel CSS > Soumission de formulaire sans tête avec l'API WordPress REST

Soumission de formulaire sans tête avec l'API WordPress REST

Lisa Kudrow
Libérer: 2025-03-25 10:34:19
original
671 Les gens l'ont consulté

Soumission de formulaire sans tête avec l'API WordPress REST

Si vous construisez un site WordPress, vous avez besoin d'une bonne raison de ne pas choisir un plugin de formulaire WordPress. Ils sont pratiques et offrent de nombreuses personnalisations qui prendraient une tonne d'efforts à construire à partir de zéro. Ils rendent le HTML, valident les données, stockent les soumissions et fournissent l'intégration avec des services tiers.

Mais supposons que nous prévoyons d'utiliser WordPress comme CMS sans tête. Dans ce cas, nous interagirons principalement avec l'API REST (ou GraphQL). La partie frontale devient entièrement notre responsabilité, et nous ne pouvons plus compter sur les plugins de formulaires pour faire le levage lourd dans ce domaine. Maintenant, nous sommes sur le siège du conducteur en ce qui concerne l'avant.

Les formulaires étaient un problème résolu, mais maintenant nous devons décider quoi faire à leur sujet. Nous avons quelques options:

  • Utilisons-nous notre propre API personnalisée si nous avons une telle chose? Sinon, et nous ne voulons pas en créer un, nous pouvons aller avec un service. Il existe de nombreux bons fournisseurs de formulaires statiques, et les nouveaux apparaissent constamment.
  • Pouvons-nous continuer à utiliser le plugin WordPress que nous utilisons déjà et exploitez sa validation, son stockage et son intégration?

Le plugin de formulaire gratuit le plus populaire, le formulaire de contact 7, a un point de terminaison de l'API REST de soumission, tout comme le plugin payant bien connu, les formulaires de gravité, entre autres.

D'un point de vue technique, il n'y a pas de réelle différence entre la soumission des données du formulaire à un point final fourni par un service ou un plugin WordPress. Nous devons donc décider en fonction de différents critères. Le prix est évident; Après cela est la disponibilité de l'installation WordPress et de son API REST. La soumission à un point final suppose qu'elle est toujours disponible publiquement. C'est déjà clair en ce qui concerne les services, car nous les payons pour qu'ils soient disponibles. Certaines configurations peuvent limiter l'accès WordPress aux processus d'édition et de construction. Une autre chose à considérer est l'endroit où vous souhaitez stocker les données, en particulier d'une manière qui adhère aux réglementations GPDR.

En ce qui concerne les fonctionnalités au-delà de la soumission, les plugins de formulaire WordPress sont difficiles à égaler. Ils ont leur écosystème, les modules complémentaires capables de générer des rapports, des PDF, une intégration facilement disponible avec les newsletters et les services de paiement. Peu de services offrent autant dans un seul package.

Même si nous utilisons WordPress de la manière «traditionnelle» avec le frontal basé sur un thème WordPress, l'utilisation de l'API REST d'un plugin de formulaire pourrait avoir un sens dans de nombreux cas. Par exemple, si nous développons un thème en utilisant un cadre CSS d'abord utilitaire, le style de la forme rendue avec un balisage fixe structuré avec une convention de classe BEM laisse un goût aigre dans la bouche de tout développeur.

Le but de cet article est de présenter les deux points de terminaison de soumission des plugins de formulaire WordPress et de montrer un moyen de recréer les comportements typiques liés au formulaire que nous avons habitués à sortir de la boîte. Lors de la soumission d'un formulaire, en général, nous devons faire face à deux problèmes principaux. L'un est la soumission des données elle-même, et l'autre fournit des commentaires significatifs à l'utilisateur.

Alors, commençons là.

Les points de terminaison

La soumission de données est la partie la plus simple. Les deux points de terminaison s'attendent à une demande de poste, et la partie dynamique de l'URL est l'ID de formulaire.

L'API du formulaire de contact 7 est disponible immédiatement lorsque le plugin est activé, et cela ressemble à ceci:

 https: //your-site.tld/wp-json/contact-for-7/v1/contact-formes/ <form_id> / feedback</form_id>
Copier après la connexion

Si nous travaillons avec des formulaires de gravité, le point de terminaison prend cette forme:

 https: //your-site.tld/wp-json/gf/v2/forms/ <form_id> / soumissions</form_id>
Copier après la connexion

L'API REST des formulaires de gravité est désactivé par défaut. Pour l'activer, nous devons aller aux paramètres du plugin, puis à la page API REST et vérifier l'option «Activer l'accès à l'API». Il n'est pas nécessaire de créer une clé API, car le point de terminaison de soumission de formulaire ne le nécessite pas.

Mise à jour (10 septembre 2024): Les ID sont hachées dans le formulaire de contact 7 version 5.8, mais peuvent toujours être trouvés dans l'URL de la page d'édition du formulaire.

Le corps de la demande

Notre formulaire d'exemple a cinq champs avec les règles suivantes:

  • un champ de texte requis
  • un champ de messagerie requis
  • Un champ de date requis qui accepte les dates avant le 4 octobre 1957
  • une TextArea facultative
  • une case à cocher requise

Pour les clés corporelles de la demande du formulaire de contact 7, nous devons les définir avec la syntaxe de formulaire de formulaire:

 {
  "Somebodys-name": "Marian Kenney",
  "any-email": "[e-mail protégé]",
  "Avant-space-age": "1922-03-11",
  "Message facultatif": "",
  "faux termes": "1"
}
Copier après la connexion

Les formulaires de gravité attendent les clés dans un format différent. Nous devons utiliser un ID de champ incrémentiel généré automatiquement avec le préfixe Input_. L'ID est visible lorsque vous modifiez le champ.

 {
  "Input_1": "Marian Kenney",
  "input_2": "[e-mail protégé]",
  "Input_3": "1922-03-11",
  "input_4": "",
  "input_5_1": "1"
}
Copier après la connexion

Soumettre les données

Nous pouvons nous sauver beaucoup de travail si nous utilisons les clés attendues pour les attributs de nom des entrées. Sinon, nous devons mapper les noms d'entrée aux touches.

Aménagement tout, nous obtenons une structure HTML comme celle-ci pour le formulaire de contact 7:

 
Copier après la connexion
Copier après la connexion
Nom de quelqu'un label>

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!

Article précédent:La typographie intrinsèque est l'avenir du style de style sur le Web Article suivant:Fixation d'un site lent itérativement
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers numéros
Rubriques connexes
Plus>
Recommandations populaires
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal