昨天有一个用户需要标题所示功能,这里说明一下整体情况。
插件本身是一个访问控制插件,通过设置全局密码来限制用户访问,也就是用户从任何页面进入站点都将被重定向到插件指定的页面输入插件后台设定的密码之后才能进行访问,这里提供一下插件界面截图:
那么用户需要的功能就是当一个用户输入了密码并且正确进入之后将重置改密码并且发送至邮件。
这里提供关键需要修改的地方:
请修改maybe_process_login功能函数中:
1 2 3 4 5 6 7 8 9 10 11 |
$this->set_auth_cookie( $remember ); $redirect_to = isset( $_REQUEST['redirect_to'] ) ? $_REQUEST['redirect_to'] : ''; $redirect_to = apply_filters( 'password_protected_login_redirect', $redirect_to ); if ( ! empty( $redirect_to ) ) { $this->safe_redirect( remove_query_arg( 'password-protected', $redirect_to ) ); exit; } elseif ( isset( $_GET['password_protected_pwd'] ) ) { $this->safe_redirect( remove_query_arg( 'password-protected' ) ); exit; } |
这段代码的意思就是设置保存凭据并且跳转到来路页面,需要注意这里需要注意的就是,如果提前保存凭据就会进入一个死循环,即保存就凭据,更新密码,旧凭据不等于新密码,再次跳出,具体表现为输入正确密码后密码被重置,也可以收到邮件,但是依然跳到了输入密码的页面。
如果你有需要修改的需求,可以联系我,导航栏中就是群号。