在日志表单中重定向的 Wordpress 问题

我在新页面中使用了一个用于表单登录的插件。当用户登录(或不登录)时重定向到网站。但是当我创建页面时显示此错误:


警告:无法修改标头信息 - 标头已发送(输出开始于 /var/www/html/wordpress/wp-includes/class.wp-styles.php:287)在 /var/www/html/wordpress/wp- includes/pluggable.php 在第 1281 行


警告:无法修改标头信息 - 标头已发送(输出开始于 /var/www/html/wordpress/wp-includes/class.wp-styles.php:287)在 /var/www/html/wordpress/wp- includes/pluggable.php 1284 行


代码:


//Redirecting logged users to home page

if ( is_user_logged_in() ) {

    wp_redirect( get_option('home') );// redirect to home page

    exit;

}


// if there's a valid referrer, and it's not the default log-in screen

    if ( !empty($referrer) && !strstr($referrer,'wp-login') && !strstr($referrer,'wp-admin') ){

        wp_redirect( $referrer . '/?login=failed' );

        exit;

    }

怎么了?


当年话下
浏览 98回答 1
1回答

慕码人8056858

如果你把它放在一个init钩子里,这应该可以解决你的问题。这是您应该如何执行此操作的示例。add_action('init', function() {    if ( is_user_logged_in() ) {        wp_redirect( get_option('home') );        exit;    }    if ( !empty($referrer) && !strstr($referrer,'wp-login') && !strstr($referrer,'wp-admin') ){        wp_redirect( $referrer . '/?login=failed' );        exit;    }});以上代码未经测试!这只是一个例子。我们把它放在钩子里面的原因init是因为init它在发送标头之前被触发和执行。
打开App,查看更多内容
随时随地看视频慕课网APP