WP_LOGIN_FORM重定向问题

时间:2015-06-25 作者:user1388610

我使用wp\\u login\\u form()向页面模板添加了登录表单。此页面模板用于在线研讨会的欢迎/登录页面。当用户登录时,我希望他们被重定向到在线研讨会页面。以下是我使用的代码:

if (is_user_logged_in()) {               
            echo \'<div class="logout"> <p>Hello!<div class="logout_user"> You are logged in and can proceed to the <a href="http://example.com/seminar">Online Seminar</a>.</div></p><br /><p><a id="wp-submit" class="logout" href="\', wp_logout_url(), \'" title="Logout">Logout</a></p></div>\';
        } else { 
          wp_login_form($args);

                  $args = array(
                            \'echo\'           => true,
                            \'redirect\'       => site_url(\'/seminar\'),
                            \'label_log_in\'   => __( \'Log in\' ),
                            \'form_id\'        => \'seminar-login\',
                            \'label_username\' => __( \'Username\' ),
                            \'label_password\' => __( \'Password\' ),
                            \'label_remember\' => __( \'Remember Me\' ),
                            \'id_username\'    => \'user_login\',
                            \'id_password\'    => \'user_pass\',
                            \'id_submit\'      => \'wp-submit\',
                            \'remember\'       => true,
                            \'value_username\' => NULL,
                            \'value_remember\' => true
                            ); 
        }
当我昨天设置它时,它似乎可以重定向,但今天它只停留在欢迎/登录页面上。我读到这是默认操作,所以它似乎忽略了重定向。我尝试使用绝对url:

\'redirect\' => \'http://example.com/seminar\',

但是,这也不起作用。

我试着思考是什么影响了这一点(即插件冲突),有两件事可能是相关的。我使用AIOWPSecurity重命名登录页面,对研讨会本身的访问由Groups插件控制。但是,这并不能解释为什么我昨天设置它时它可以工作,但现在不行了。

有人知道为什么重定向不起作用吗?

非常感谢。

1 个回复
最合适的回答,由SO网友:Anand 整理而成

您的代码在将参数传递给wp_login_form() 作用如果在函数后定义参数,则将使用默认值调用函数,因此参数不会产生任何影响。正确的代码如下:

if (is_user_logged_in()) {               
    echo \'<div class="logout"> <p>Hello!<div class="logout_user"> You are logged in and can proceed to the <a href="http://example.com/seminar">Online Seminar</a>.</div></p><br /><p><a id="wp-submit" class="logout" href="\', wp_logout_url(), \'" title="Logout">Logout</a></p></div>\';
} else { 
    $args = array(
        \'echo\'           => true,
        \'redirect\'       => \'http://example.com/seminar\',
        \'label_log_in\'   => __( \'Log in\' ),
        \'form_id\'        => \'seminar-login\',
        \'label_username\' => __( \'Username\' ),
        \'label_password\' => __( \'Password\' ),
        \'label_remember\' => __( \'Remember Me\' ),
        \'id_username\'    => \'user_login\',
        \'id_password\'    => \'user_pass\',
        \'id_submit\'      => \'wp-submit\',
        \'remember\'       => true,
        \'value_username\' => NULL,
        \'value_remember\' => true
    );
    wp_login_form($args); 
}

结束

相关推荐

Wrong Redirection

我的网站登录页,即techisthenewcool.tk/wp-admin 正在重定向到网站主页。我不知道为什么会这样。我试着在谷歌上搜索,但没有找到结果。我使用Hostinger印度免费托管服务。任何建议。