创建新帖子时wp_redirect不起作用

时间:2019-02-25 15:27:24

标签: wordpress

我使用自定义表单和“ wp_insert_post”功能创建一个自定义帖子类型“票”的简单帖子。将帖子插入数据库后,我想将用户重定向到新帖子的页面。在我的代码中,我为此使用wp_redirect,但它不起作用。发送表单后,创建了帖子,但是没有重定向:

简单形式:

<form method="post" action="" enctype="multipart/form-data">
    <input type="submit" name="submit" />
</form>

创建帖子并在创建后重定向的代码:

<?php 
    if(isset($_POST['submit'])) {

        $rowArguments = array(
            'post_status' => 'publish',
            'post_type' => 'tickets',
        );

        $post_id = wp_insert_post( $rowArguments);

        // GET-TICKET PERMALINK
        $url = get_permalink( $post_id );
        wp_redirect($url);
        exit();

    }

?>

2 个答案:

答案 0 :(得分:0)

您可以尝试以下方法:

function redirect($url) {
    ob_start();
    header('Location: '.$url);
    ob_end_flush();
    die();
}

答案 1 :(得分:0)

您可以在wp_redirect的状态下使用3种不同的方式

  1. 使用标题
header('Location:'. $url);
exit();
  1. 使用JavaScript
echo "<script>location.href=$url;</script>";
  1. 使用ob_start()和ob_end_flush()
ob_start(); 
header('Location: '. $url);
ob_end_flush();