当出现错误时,防止wp_login_form()重定向到wp-admin

时间:2012-08-08 作者:smilly92

我已经在我的网站前端使用wp_login_form(). 但是,当用户键入错误的用户名/密码时,他们会被重定向到wp admin登录表单。

如何在登录表单上方显示任何错误消息?理想情况下,我不希望用户看到Wordpress管理部分。

我试过使用redirect_invalid_login() 胡克,但这似乎不起作用?

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

只需在函数中添加以下代码。php。它将重定向回提交登录表单的用户。

add_action( \'wp_login_failed\', \'my_front_end_login_fail\' );  // hook failed login

function my_front_end_login_fail( $username ) {
   $referrer = $_SERVER[\'HTTP_REFERER\'];  // where did the post submission come from?
   // 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\' );  // let\'s append some information (login=failed) to the URL for the theme to use
      exit;
   }
}

结束

相关推荐

如何将所有请求重定向到wp-login.php?

我创建了一些自定义的登录/注册模板页面,现在我希望每个请求都能登录到wp。php被重定向到自定义url。现在我有了这样的东西:add_action(\'init\',\'possibly_redirect\'); function possibly_redirect(){ global $pagenow; if( \'/wp-login.php\' == $pagenow ) { wp_redirect(\'/login\'); exit(); }