Saya mencoba menggunakan wp_redirect()
untuk mengarahkan ulang pengguna setelah berhasil mengirimkan formulir pendaftaran pada halaman.
Ini tidak berfungsi dan menunjukkan kesalahan berikut:
Peringatan: Tidak dapat mengubah informasi header - header sudah dikirim oleh (output dimulai di /Applications/MAMP/htdocs/theme/wp-content/themes/test/header.php:10) di / Applications / MAMP / htdocs / theme / wp- termasuk / pluggable.php on line 1178
Saya mengerti sudah ada output sebelumnya, itu sebabnya tidak bekerja, tapi saya tidak tahu bagaimana membuat ini bekerja.
Formulir pendaftaran diberikan oleh suatu fungsi, dan dikirimkan oleh fungsi lain, di dalam functions.php saya.
if ( isset( $_POST['subscribe'] ) ) {
// Submits the form and should then redirect
wp_redirect("/thank-you/");
exit;
}
Kemudian kedua fungsi ini digunakan di mana saya ingin menunjukkan formulir pendaftaran.
Saya khawatir itu bukan hal terbaik untuk dilakukan. Saya harus membuat beberapa tindakan yang melakukan itu, tetapi saya tidak tahu bagaimana menerapkannya. Sebagian besar tutorial yang saya temukan menunjukkan hasil langsung di halaman yang sama dan tidak memerlukan arahan ulang tambahan. Mungkin itu sebabnya mereka bekerja dengan fungsi di dalam functions.php
sumber
Anda harus menggunakan
wp_redirect()
sebelumget_header()
Maka tidak akan menampilkan kesalahan header.sumber
sumber
is_page_template()
kapan redirect diarahkan.Anda juga bisa melakukan ini
Alih-alih baris di bawah ini
wp_redirect ("$ url");
menulis
atau
Ini pasti akan menyelesaikan masalah Anda.
sumber