web-dev-qa-db-fra.com

Comment gérer un formulaire personnalisé dans wordpress à soumettre à une autre page?

Je sais que, dans PHP, je peux simplement mettre une action égale à un fichier random.php et y traiter les données, mais comment utiliser dans wordpress une page existante avec un modèle personnalisé pour soumettre un formulaire, afin qu'après soumettre un formulaire sur une page, l’utilisateur sera redirigé vers une autre page de wordpress avec toutes ses informations d’identification saisies encore disponibles?

1
Limpuls
<form action="<?php echo esc_url( admin_url('admin-post.php') ); ?>" method="post">
<input type="hidden" name="action" value="your_action_name">

Ajoutez-les dans votre formulaire. Où admin-post.php traitera votre formulaire. Dans ce cas, en fonction de la valeur de your_action_name fournie par vous, un hook d’action sera impliqué. Disons par exemple si vous ajoutez un hook comme celui-ci dans functions.php de votre thème ou dans votre plugin

add_action( 'admin_post_nopriv_your_action_name', 'your_function_to_process_form' );

puis pour l'utilisateur non connecté

function your_function_to_process_form(){
// process your form here
}

sera appelé. De là, vous pouvez traiter votre formulaire. Pour l'utilisateur connecté, vous devez renommer votre action en admin_post_your_action_name à partir de admin_post_nopriv_your_action_name. Rappelez-vous que admin_post_ ou admin_post_nopriv_ sont disponibles dans admin-post.php en do_action action appropriée. Quoi que vous ajoutiez à la fin de admin_post_nopriv_ ou admin_post_, vous formulerez un crochet d’action. Cela doit être implémenté par add_action(). Si vous transmettez contactform en tant qu’action masquée, votre action sera alors admin_post_nopriv_contactform ou admin_post_contactform, voire les deux.

1
user119247