[英]How to properly URL redirect in WordPress after form submission?
在WordPress中提交表單后,如何正確重定向? 我確實在整個地方都進行了搜索,但尚未找到答案。 我認為對這個問題的一個好的解釋可能會使許多人受益。
就我而言,我有一個提交給自己的表單,如果表單通過驗證,則會保存數據並應重定向用戶。 萬一失敗,用戶應看到錯誤或根據錯誤的性質進行重定向。
經過研究,最正確的方法似乎是使用功能wp_redirect()
,但是我無法使其正常工作。 我知道為什么,因為標頭已經發送出去(也就是說,瀏覽器已經開始輸出並且無法重定向)。 我有那部分。 但是,如何正確使用此功能? 我不能把這個頭纏住。
我嘗試使用良好的舊header(Location: http://www.example.com/);
響應。 也沒有運氣。
有人可以詳細說明嗎? 謝謝。
您有兩種選擇:
functions.php
,並在init
狀態下進行。 如果可以編程,編寫自己的插件會稍微復雜一些,但並不難。
如果您不想執行此操作,則需要在functions.php
(此functions.php
位於主題目錄中。如果沒有這樣的文件,則只需創建一個即可。
當所有重要的wordpress文件都已加載但緩沖區中沒有輸出時,總是會執行對init
操作,因此可以使用header();
或wp_redirect();
這里。
add_action('init', 'myInit');
function myInit() {
if (isset($_POST["mysubmit"])) {
$errors = myFormValidation();
if (empty($errors)) {
//Do whatever you want here
header("Location: yoururl.php");
die();
}
//Set the errors here
}
}
function myFormValidation() {
$errors = array();
//do your validation here. check wordress documentation how to do this.
return $errors;
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.