我使用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插件控制。但是,这并不能解释为什么我昨天设置它时它可以工作,但现在不行了。
有人知道为什么重定向不起作用吗?
非常感谢。
最合适的回答,由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);
}