钩子文档

lostpassword_post

💡 云策文档标注

概述

lostpassword_post 是一个 WordPress 动作钩子,在密码重置请求返回错误前触发,允许开发者添加自定义验证逻辑。它接收 WP_Error 对象和用户数据作为参数。

关键要点

  • 触发时机:在密码重置请求处理过程中,错误返回之前执行。
  • 参数:$errors(WP_Error 对象,用于添加自定义错误)和 $user_data(WP_User 对象或 false,表示用户是否存在)。
  • 用途:常用于验证自定义表单字段,并向密码重置流程添加错误信息。
  • 版本历史:$errors 参数在 4.4.0 版本添加,$user_data 参数在 5.4.0 版本添加。

代码示例

function wpdocs_mwb_cstm_pswd_post( $errors ) {
    if ( ! $department_valid_status /* The result of your department status*/ ) {
        $errors->add( 'invalid_department ', 'ERROR: Try again later' );
    }
}

add_action( 'lostpassword_post', 'wpdocs_mwb_cstm_pswd_post' );

注意事项

此钩子与 retrieve_password() 函数关联,用于处理密码重置邮件发送。开发者应确保自定义验证逻辑不影响核心功能,并正确使用 WP_Error 对象。


📄 原文内容

Fires before errors are returned from a password reset request.

Parameters

$errorsWP_Error
A WP_Error object containing any errors generated by using invalid credentials.
$user_dataWP_User|false
WP_User object if found, false if the user does not exist.

Source

do_action( 'lostpassword_post', $errors, $user_data );

Changelog

Version Description
5.4.0 Added the $user_data parameter.
4.4.0 Added the $errors parameter.
2.1.0 Introduced.

User Contributed Notes

  1. Skip to note 2 content

    Example to use this function

    One need to add one custom field in lostpassword form using lostpassword_form hook, And now want to validate this field and add a wp_error also. So see how this can be done.

    function wpdocs_mwb_cstm_pswd_post( $errors ) {
        if ( ! $department_valid_status /* The result of your department status*/ ) {
            $errors->add( 'invalid_department ', '<strong>ERROR:</strong> Try again later<strong>' );
        }
    }
    
    add_action( 'lostpassword_post', 'wpdocs_mwb_cstm_pswd_post' );