无法让wp_redirect工作

时间:2015-06-13 13:37:23

标签: wordpress redirect

我尝试使用wp_mail发送电子邮件,然后,如果邮件成功发送,则将用户重定向到另一个页面(或者,如果不成功,则重定向到错误页面)。

我的代码如下所示。电子邮件实际上已发送,因此wp_mail正在运行,但我无法让重定向工作。

<?php

/*  Template Name: Redirect Template */

?>

<?php

$to = "info@some-domain.com";

$subject = 'This is a test.';
$message = 'This is a test of the wp_mail function.';
$headers = '';

$sent_message = wp_mail( $to, $subject, $message, $headers);

if ($sent_message) {

    $url_1 = "http://www.some-url.com";
    wp_redirect($url_1);
    exit();

} else {
    $url_2 = "http://www.some-other_url.com";
    wp_redirect($url_2);
    exit();
}

?>

<?php get_header(); ?>


        <?php while ( have_posts() ) : the_post(); ?>

            <?php get_template_part( 'content', 'page' ); ?>

        <?php endwhile; // end of the loop. ?>


<?php get_footer(); ?>

1 个答案:

答案 0 :(得分:2)

您需要摆脱关闭和打开PHP标记之间的空白区域。因为你有这个空间,所以WordPress在重定向运行之前启动输出(这是不允许的)。删除文件顶部的以下内容:

?>

<?php

以便文件顶部变为:

<?php

/*  Template Name: Redirect Template */

$to = "info@some-domain.com";