J'ai fait beaucoup de recherches et je n'ai pas trouvé tout à fait ce que je recherche, alors j'espère que je pourrai être dirigé dans la bonne direction.
Je développe un plugin Events qui réservera un ticket depuis le frontend. Ce n'est pas différent de n'importe quelle autre soumission de formulaire, mais ce qui me trouble, c'est comment gérer cela à partir d'un plugin écrit via OOP avec une classe.
La plupart des articles que j'ai trouvés disent de mettre la gestion $ _POST dans la page de modèle. Idéalement, j'aimerais que cela soit géré par une fonction dans le plugin.
L'autre chose dont je ne suis pas sûr, c'est quand vous soumettez le formulaire sur le frontend, comment cela est réellement passé à la fonction sur le backend. J'espère faire complètement abstraction du traitement des formulaires à partir des détails du modèle.
// events.php
if ( ! class_exists( 'Events' ) ) {
Class Events {
function __construct() {
add_action( 'plugins_loaded', array( &$this, 'includes' ), 1 );
}
function includes() {
require_once( EVENTS_INCLUDES . 'functions.php' );
}
}
}
if ( class_exists( 'Events' ) ) {
$events_load = New Events();
}
// functions.php
function process_form() {
...do form processing here...
...insert booking...
}
Je ne sais pas trop quoi accrocher pour attraper cela, ni où envoyer l'action de formulaire aussi. Merci pour votre aide!
-Adam
la source
Réponses:
Envoyez l'action de formulaire soit à votre page d'accueil, soit à une URL de page spécifique. Vous ne pouvez pas gérer $ _POST dans le modèle, car vous devez rediriger après votre processus, et la redirection doit être déclenchée avant toute sortie HTML.
Vous pouvez également rechercher un nonce pour vous assurer que les données ont été soumises au bon endroit ...
la source