Source View: retrieve_password_key

To save our bandwidth, we show only a snippet of code around each occurence of the hook. View complete file in SVN (without highlighting).

Understanding Source Code

The best way to understand what a hook does is to look at where it occurs in the source code.

  • Action hooks look like this: do_action( "hook_name" )
  • Filter hooks look like this: apply_filters( "hook_name", "what_to_filter" ).

Remember, this hook may occur in more than one file. Moreover, the hook's context may change from version to version.

Source View

Line Code
1879      // `$deprecated was pre-4.3 `$plaintext_pass`. An empty `$plaintext_pass` didn't sent a user notification.
1880      if ( 'admin' === $notify || ( empty( $deprecated ) && empty( $notify ) ) ) {
1881           return;
1882      }
1883
1884      // Generate something random for a password reset key.
1885      $key = wp_generate_password( 20, false );
1886
1887      /** This action is documented in wp-login.php */
1888      do_action( 'retrieve_password_key', $user->user_login, $key );
1889
1890      // Now insert the key, hashed, into the DB.
1891      if ( empty( $wp_hasher ) ) {
1892           require_once ABSPATH . WPINC . '/class-phpass.php';
1893           $wp_hasher = new PasswordHash( 8, true );
1894      }
1895      $hashed = time() . ':' . $wp_hasher->HashPassword( $key );
1896      $wpdb->update( $wpdb->users, array( 'user_activation_key' => $hashed ), array( 'user_login' => $user->user_login ) );
1897