密码重置后重定向到唯一页面

时间:2016-11-22 19:10:38

标签: php wordpress function redirect

通过你的论坛,我发现了这个代码,并且它确实重定向,但它是在人有机会提交密码重置之前重定向。

基本上,我希望用户能够进入

  

url:website / wp-login.php?action = lostpassword

提交密码重设然后重定向到

  

url:website / Unique_Page

任何智慧都会受到赞赏。谢谢!

 function possibly_redirect(){
  global $pagenow;
  if( 'wp-login.php' == $pagenow ) {
    if ( isset( $_POST['wp-submit'] ) ||   // in case of LOGIN
      ( isset($_GET['action']) && $_GET['action']=='logout') ||   // in case of LOGOUT
      ( isset($_GET['checkemail']) && $_GET['checkemail']=='confirm') ||   // in case of LOST PASSWORD
      ( isset($_GET['checkemail']) && $_GET['checkemail']=='registered') ) return;    // in case of REGISTER
    else wp_redirect( home_url() ); // or wp_redirect(home_url('/login'));
    exit();
  }
}
add_action('init','possibly_redirect');

1 个答案:

答案 0 :(得分:1)

您的功能重定向,除非这些操作直接通过URL参数传递(或登录时发布)。你想要的是检查checkemail,然后重定向。我在这里使用了login_head操作,不确定是否有更好的操作,但它有效:

function redirect_after_lost_password() {
    if( isset($_GET['checkemail']) && $_GET['checkemail'] === 'confirm') {
        wp_redirect( home_url( '/yourpage' ) );
        exit;
    }
}
add_action( 'login_head', 'redirect_after_lost_password' ); 

如果要在重置密码后重定向用户,lostpassword_redirect filter是您的朋友:

function redirect_after_password_reset( $lostpassword_redirect ) {
    return home_url( '/yourpage' );
}
add_filter( 'lostpassword_redirect', 'redirect_after_password_reset' );