web-dev-qa-db-fra.com

Développement de plugins: comment créer un formulaire et obtenir des données personnalisées?

Je développe un plugin de réservation et j'ai besoin d'aide.

Mon objectif est d’obtenir des données depuis et vers une base de données à partir du menu d’administration de WordPress (j’ai créé une page de menu personnalisée). Maintenant, je ne sais pas comment le formulaire devrait être soumis à un script PHP dans un environnement WordPress.

<!-- HTML FORM -->
<form method="post" action="<?php echo $_SERVER['REQUEST_URI']; ?>">
    <input type="text" name="reservation_capacity" placeholder="Reservation Capacity" />
    <input type="button" name="Add Table" value="Add New Table" />
</form>

J'aurais également besoin d'aide pour savoir comment le plug-in créerait un formulaire sur le site Web et récupérerait des données à partir de leurs données!

2
Arsalan Amjid

Les détails du traitement des données de formulaire sont spécifiques à PHP et je ne les détaillerai donc pas. La partie spécifique à WordPress est que vous voulez que votre code soit exécuté sur l'événement 'init' afin d'avoir accès aux fonctions et aux globales de WordPress (telles que les autorisations des utilisateurs).

<?php add_action('init', function(){
    $reservation_capacity = sanitize_text_field( $_POST['reservation_capacity'] );
    update_user_meta( get_current_user_id(), 'reservation_capacity', $reservation_capacity );
}); ?>

Ceci est juste un exemple où vous enregistrez la valeur de formulaire dans la méta base de données des utilisateurs (que vous n'utiliseriez probablement pas dans la vie réelle). sanitize_text_field est l’une des nombreuses fonctions spécifiques à WP pour nettoyer les valeurs d’entrée. get_current_user_id devient disponible après init si un utilisateur est connecté.

Plus sur le sujet:

1
Jan Beck