wp_redirect не работает при создании нового сообщения - PullRequest
0 голосов
/ 25 февраля 2019

Я создаю простую публикацию с пользовательским типом записи "tickets" с пользовательской формой и функцией "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 голосов
/ 25 февраля 2019

Вы можете использовать 3 различных способа вместо wp_redirect

  1. Использование заголовка
header('Location:'. $url);
exit();
Использование JavaScript
echo "<script>location.href=$url;</script>";
Использование ob_start () и ob_end_flush ()
ob_start(); 
header('Location: '. $url);
ob_end_flush(); 
0 голосов
/ 25 февраля 2019

Вы можете попробовать это:

function redirect($url) {
    ob_start();
    header('Location: '.$url);
    ob_end_flush();
    die();
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...