首页 > 解决方案 > 为什么 wp_redirect() 向我显示标头信息 - 标头已由..发送?

问题描述

我正在为登录页面使用名为 login.php 的自定义模板文件。

登录.php代码:

<?php
/**
 * Template Name: Login
 *
 * @package mytheme
 */

get_header();
the_post();
if(is_user_logged_in()){
    wp_redirect(site_url('/'));
    exit();
}
?>

在这里,在这段代码中,我是说如果用户已经登录,则重定向到站点主页。但现在它显示这样的错误消息:

警告:无法修改标头信息 - 标头已由 D:\xampp\htdocs\themechum\wp- 中的(输出开始于 D:\xampp\htdocs\mytheme\wp-includes\class.wp-styles.php:242)发送在第 1251 行包含\pluggable.php

标签: wordpress

解决方案


请用

if(is_user_logged_in()){
    wp_redirect(site_url('/'));
    exit();
}

上面 get_header();

您不能在 wp_redirect(); 上方使用 html 标签。

这就是为什么您收到错误“标头已发送”的原因


推荐阅读