Wordpress - 自定义表单不会重定向

时间:2017-06-22 13:24:17

标签: php wordpress forms redirect header

我有一个提交给API的自定义PHP表单。我想将此表单添加到我的Wordpress网站的侧边栏中。当我单独尝试custom-form.php页面时,它工作正常,提交到API并重定向。

当我将custom-form.php包含到我的sidebar.php中时,它不想重定向,但它仍然提交给API。

我知道标题需要在其他任何内容加载之前发生,但如果我将其包含在页面中,如何首先加载它?

header('Location: http://example.com');

有没有更好的方法将我的表单添加到Wordpress侧边栏?

代码看起来像这样:

<?php 
if (isset($_REQUEST['submitted'])) {

   $errors = array();

    if (!empty($_REQUEST['name'])) {
    $name= $_REQUEST['name'];
    } 
    else {$errors[] = 'You forgot to enter your name';}
}

if (isset($_REQUEST['submitted'])) {
  if (empty($errors)) {
      include 'myapi.php';
      header('Location: http://example.com');  
  }
}

//Rest of code....
//Output validation errors
//HTML Form

1 个答案:

答案 0 :(得分:0)

你的index.php文件看起来像这样。

ob_start();

/*content of your index.php here*/

ob_flush();

这将导致您的输出缓冲应该在发送/回显到浏览器之前开始。

或者您可以使用默认重定向功能尝试其他解决方案:

<?php wp_redirect( site_url() ); exit; ?>