Saya telah melakukan banyak penelitian dan belum menemukan apa yang saya cari, jadi saya berharap bahwa saya dapat diarahkan ke arah yang benar.
Saya sedang mengembangkan plugin Acara yang akan memesan tiket dari frontend. Ini tidak berbeda dari pengiriman Formulir lainnya, tetapi yang membuat saya bingung adalah bagaimana mengatasinya dari plugin yang ditulis melalui OOP dengan kelas.
Sebagian besar artikel yang saya temukan mengatakan untuk menempatkan penanganan $ _POST dalam halaman templat. Idealnya saya ingin ini ditangani oleh fungsi di dalam plugin.
Hal lain yang saya tidak yakin tentang adalah ketika Anda mengirimkan formulir di frontend, bagaimana yang sebenarnya diteruskan ke fungsi di backend. Saya berharap untuk sepenuhnya mengabstraksi pemrosesan formulir dari detail template apa pun.
// 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...
}
Saya tidak yakin apa yang menghubungkan dengan itu akan menangkap itu, atau ke mana harus mengirim formulir tindakan juga. Terima kasih atas semua bantuannya!
-Adam
sumber
Jawaban:
Kirim tindakan formulir baik ke beranda Anda, atau ke URL halaman tertentu. Anda tidak dapat memiliki penanganan $ _POST di dalam templat karena Anda perlu mengalihkan setelah proses Anda, dan mengarahkan ulang harus dipecat sebelum output HTML apa pun.
Anda juga dapat memeriksa ketidakseimbangan untuk memastikan data dikirimkan dari tempat yang tepat ...
sumber