web-dev-qa-db-fra.com

Utiliser des shortcodes pour analyser POST request (contenant les données d'un formulaire frontal)

Je souhaite autoriser mes abonnés à publier des annonces classées, qui ne sont qu'un type de publication personnalisé avec quelques métas pour le prix, etc. (Les plug-ins d'annonces existants que j'ai essayés sont bien trop complexes pour mes besoins.) savoir si ce qui suit a du sens.

  • Je définis un shortcode [classifieds-form] affichant le formulaire et je crée une page (c'est-à-dire une publication "page" dans la section admin) l'appelant.

  • Le contenu du formulaire est soumis à une autre page qui appelle le shortcode [handle-classified], qui vérifie si l'utilisateur est connecté, analyse les données $ _POST et insère la publication personnalisée (avec un statut 'en attente', jusqu'à ce qu'un administrateur le valide).

Cela vous semble-t-il raisonnable? Ou recommanderiez-vous une manière plus "standard" de procéder?

Merci beaucoup!

2
Nown

Toujours envoyer des soumissions à la page où le formulaire est affiché. Dans votre rappel de code abrégé, vous pouvez ensuite afficher les messages d'erreur ou de succès appropriés.

Échantillon:

add_shortcode( 'classifiedsform', 'classifiedsform_callback' );

function classifiedsform_callback()
{
    if ( 'POST' !== $_SERVER['REQUEST_METHOD'] 
        or ! isset ( $_POST['classifieds'] )
    )
    {
        return classifieds_input_form();
    }

    // process input show errors or success message

}

function classifieds_input_form()
{
    // return a string with the form HTML
}

Assurez-vous de ne pas utiliser de variable réservée , sinon WordPress supprimera le contenu en mode silencieux.

5
fuxia