Domyś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).