我正在尝试在wordpress中创建自定义插件。 我们要创建一个案例,例如如果用户未登录到系统,则应将用户重定向到登录页面。我尝试了wp_redirect和wp_safe_redirect,但是它不起作用。这是我的代码。
if (isset($_SESSION['game_login'])) {
//Do Something
}else{
wp_redirect('login');
exit():
}
我收到此警告
Cannot modify header information - headers already sent by (output started at wp-includes/class.wp-styles.php:225) in wp-includes/pluggable.php on line 1216
在这种情况下有人可以建议我吗?
答案 0 :(得分:0)
除非您特别延迟最终输出,例如在template_redirect
上使用add_shortcode
修改内容,或者您在打算缓冲输出。
示例中的代码应封装在一个函数中,并与WordPress的众多Action Hooks之一挂钩。通常,这种功能是在plugins_loaded
或init
钩子上添加的。
add_action( 'init', 'redirect_anonymous_users' );
function redirect_anonymous_users(){
if( isset( $_SESSION['game_login'] ) ){
// Do Something
} else {
wp_redirect('login');
exit();
}
}
答案 1 :(得分:0)
可能有多个原因导致此问题。 尝试这一点,希望它可以解决
?>
标记后显示错误的文件中删除空白,但是根据您的情况
它来自核心文件,因此请勿在代码方面进行任何修改,只需尝试删除代码中的空白
这些文件的结尾。同时从文件底部删除空格
wp-config.php和functions.php 如果上述方法不起作用,请将此代码添加到您的wp-config.php文件中
ob_start();
error_reporting(0);