web-dev-qa-db-fra.com

Créer une page pour gérer la soumission de formulaire

J'ai actuellement quelques types de messages personnalisés "magasins" (en réalité plus de pages que de messages) et une taxonomie personnalisée "produits" liés à ces types de messages.

Je tente de créer un formulaire (via un code court) qui permet à l'utilisateur de sélectionner un produit (ou éventuellement plusieurs produits futurs) qui, une fois soumis, affiche une page répertoriant les magasins (titre et autres méta-publications) en relation avec le produit choisi ( s).

J'ai le formulaire, mais je ne sais pas quel est le meilleur moyen de gérer la soumission et la page d'affichage suivante.

J'ai remarqué la page de codex pour add_rewrite_endpoint () states

Cela peut être utilisé pour toutes sortes de choses:

  • gestionnaire ajax
  • gestionnaire de soumission de formulaire
  • gestionnaire de notification alternatif

cependant, il n'y a pas plus d'informations sur la façon d'y parvenir.

Tous les conseils sur le traitement des soumissions de formulaire seraient formidables. Merci.

Edit: Par la suite, je souhaite que la page de soumission du formulaire soit redirigée vers une URL Nice représentant le terme sélectionné. Par exemple

  1. L'utilisateur sélectionne le produit "livres", les résultats sont envoyés
  2. Le formulaire est soumis à l'URL de traitementouune sorte de crochet attrape la soumission
  3. Le navigateur est redirigé vers "magasins/livres"
  4. Quelque chose affiche les pages "boutique" étiquetées avec les produits "livres"

Ma question peut être décomposée en ...

  1. Quelle URL dois-je utiliser dans l'attribut action du formulaire? Est-ce même nécessaire?
  2. Où dois-je gérer la soumission du formulaire? Est-ce que je crée un fichier spécifique ou puis-je enregistrer un type de crochet d'action? N'oubliez pas que je souhaite envoyer un en-tête Location pour le rediriger vers une autre URL, ce qui doit être fait avant toute sortie envoyée au navigateur.
  3. Comment configurer quelque chose pour accepter la demande "shops /% product%" et afficher les résultats en conséquence

Désolé pour la requête interminable, mais j'ai du mal à comprendre l'API et la documentation de Wordpress.

5
Phil Brown

C'est vraiment très facile (au moins les n ° 1 et n ° 2 le sont):

  1. Vous pouvez utiliser n'importe quelle URL qui charge un fichier de modèle de thème. Par exemple, vous pouvez créer un WordPress " Page " et dans votre Modèle de page vous pouvez utiliser le tableau $_POST de PHP pour capturer vos valeurs <form>. .

  2. Sauf si vous avez une bonne raison, vous n'avez vraiment pas besoin de faire une redirection. Vous pouvez le faire, mais je ne vois pas ce dont vous avez besoin et cela complique simplement votre tâche. Si vous voulez vraiment cette réponse vous montrera comment.

  3. Je suis dérouté par ce que vous essayez d'accomplir avec votre URL "shops/%product%". À première vue, votre choix de "magasins" pour un type de message personnalisé et "produits" pour une taxonomie me semble erroné (sauf si vous essayez de représenter plusieurs magasins différents Par exemple, si votre site tente de devenir un marché pour de nombreux marchands, est-ce le cas? Même dans ce cas, je ne vois toujours pas pourquoi vous utiliseriez une taxonomie pour vos produits.) Donc, il me semble vous souhaitez plutôt créer un type de publication personnalisé de "Produit" (bien que je ne sois pas sûr de la taxonomie) , et vous obtiendrez des URL du type products/%product% lorsque vous enregistrez votre type de message personnalisé. Ou peut-être que je comprends mal ce que vous essayez de faire pour le n ° 3?

5
MikeSchinkel