WordPress Snippets at WPcustoms

Disable password reset

This function removes the password reset / change field in the user’s profile dashboard. Only admins get the password reset input field. A good way to prevent password changes – however you should let your users know that they need to get in contact with an admin to change their user password. The action=lostpassword url is also blocked and returns a message that you are not allowed to reset your password.

 * Snippet Name: Disable password reset
 * Snippet URL: https://wpcustoms.net/snippets/disable-password-reset/
  // hide the password reset input field in the user's profile page
function wpc_disable_password_reset()
    if ( is_admin() ) {
      $userdata = wp_get_current_user();
      $user = new WP_User($userdata->ID);
      if ( !empty ( $user->roles ) && is_array( $user->roles ) && $user->roles[0] == 'administrator' )
        return true;
    return false;
 add_filter( 'show_password_fields', 'wpc_disable_password_reset' );

// this function disables the password reset form.
function wpc_disable_reset_lost_password() 
   return false;
 add_filter( 'allow_password_reset', 'wpc_disable_reset_lost_password');