Logowanie za pomocą adresu e-mail zamiast nazwy użytkownika

WordPress - logowanieDomyślnie WordPress pozwala użytkownikom zarejestrowanym w serwisie na logowanie się tylko za pomocą nazwy użytkownika. Nic jednak nie stoi na przeszkodzie, aby udostępnić również możliwość logowania za pomocą powiązanego z kontem adresu e-mail – szczególnie, że podczas rejestracji konta sprawdzana jest jego unikalność (nie można zarejestrować dwóch konto z takim samym adresem).

Aby udostępnić możliwość użycia adresu e-mail zamiast nazwy użytkownika wystarczy do pliku functions.php szablonu lub pliku wtyczki dodać następujący kod:

function use_email_as_login($username) {
    $user = get_user_by_email($username);
    if(!empty($user->user_login)) {
        $username = $user->user_login;
    }
    return $username;
}
add_action('wp_authenticate', 'use_email_as_login');

I to wszystko – od tej pory zamiast podczas logowania zamiast nazwy użytkownika można podać adres e-mail. Rozwiązanie to ma jednak dwie wady. Po pierwsze, formularz logowania wciąż nie informuje o możliwości użycia adresu e-mail. Po drugie, nie każdemu pasuje wklejanie do szablonu znalezionego „gdzieś w Internecie” kodu.

Rozwiązaniem jest wtyczka WP Email Login, która po aktywacji nie tylko pozwoli na logowanie za pomocą e-maila, ale również automatycznie zmodyfikuje opis odpowiedniego pola na formularzu logowania (efekt jej działania widać na zamieszczonym powyżej obrazku).

Bezpośredni link