[英]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.