Saya punya masalah dengan halaman saya. Saya mencoba membuat halaman "Hubungi Kami". Ini berfungsi dengan baik dari segi desain. Tetapi ketika saya mencoba mengirim formulir ke halaman yang sama dengan asal. Ia mengembalikan 404 kesalahan.
Itu hanya terjadi ketika saya mengirim formulir. Saya sudah mencoba keduanya dengan permintaan GET dan POST. Sepertinya tidak ada yang berhasil.
Saya bahkan sudah berkomentar bagian PHPMailer. Itu sepenuhnya disebabkan oleh variabel tambahan.
Jika itu membantu apa pun, mereka "nama", "email" dan "pesan".
$_POST
data seharusnya tidak mempengaruhi apakah halaman ditemukan atau tidak.Jawaban:
Awali semuanya , terutama variabel Anda. Nama-nama yang Anda gunakan digunakan oleh WordPress secara internal (lihat formulir komentar), jadi WordPress mungkin mencoba melakukan sesuatu dengan nilai formulir Anda. Jika gagal Anda mendapat kesalahan.
Sementara
$_GET
masalah biasanya agak mudah untuk di-debug,$_POST
dan$_REQUEST
nama tidak begitu sederhana.Daftar berikut ini mungkin tidak lengkap. Tapi panjangnya yang telanjang memberi kita pelajaran:
Hindari nama apa pun yang dapat Anda temukan di kamus. Awali nama formulir Anda.
Daftar nama yang dilindungi undang-undang
$_POST
dan$_REQUEST
digunakan oleh WordPress 3.5Nama-nama ini mungkin memiliki efek samping ketika digunakan dalam tema atau plugin. Beberapa digunakan hanya pada halaman tertentu (
removeheader
), yang lain pada beberapa halaman atau permintaan. Hindari semuanya jika Anda bisa.Nama variabel
sumber
Atau Anda dapat mempostingnya ke WP dan menangani pemrosesan di functions.php.
Untuk formulir:
Dan sertakan input tersembunyi yang memberi tahu WP apa fungsi yang akan Anda proses:
Tulis fungsi di functions.php:
Beri tahu WP apa fungsinya:
sumber