Наша взаимовыгодная связь https://banwar.org/
По-перше, я хочу вибачитися, що майже три тижні (!) Нічого не писав на блозі, просто зараз дуже багато справ навалилося, обіцяю, що незабаром знову почну публікувати пости регулярно.
А тепер до справи. Наведу як приклад сайт deviantart.com , Погляньте на їх форму входу користувачів. Як бачите, вони пропонують ввести або логін або e-mail, прикольно.
Реалізувати це на WorPress насправді простіше простого, досить вставити цей шматок коду в fucntions.php поточної теми.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 // видаляємо стандартний фільтр remove_filter ( 'authenticate', 'wp_authenticate_username_password', 20, 3); // і додаємо власний add_filter ( 'authenticate', 'login_by_email', 20, 3); function login_by_email ($ user, $ username, $ password) {// якщо введений логін, то відразу авторізуемся, минаючи зайві запити if (is_email ($ username)) {// отримуємо ID користувача if (! empty ($ username)) $ user = get_user_by ( 'email', $ username); // підбираємо відповідну емейлу ім'я користувача (логін) if (isset ($ user -> user_login, $ user)) $ username = $ user -> user_login; } Return wp_authenticate_username_password (NULL, $ username, $ password); }
Тепер дивіться, код вище дозволяє користувачам входити на сайт вписуючи і логін і e-mail. А що якщо дати їм можливість входу тільки за допомогою e-mail, а за допомогою імені користувача - заборонити?
Трохи видозмінюємо функцію:
7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 function login_by_email ($ user, $ username, $ password) {// якщо введений логін, то відправляємо лісом if (! Is_email ($ username)) return; // отримуємо ID користувача if (! Empty ($ username)) $ user = get_user_by ( 'email', $ username); // підбираємо відповідну емейлу ім'я користувача (логін) if (isset ($ user -> user_login, $ user)) $ username = $ user -> user_login; return wp_authenticate_username_password (NULL, $ username, $ password); }
Тепер, якщо який-небудь чувак захоче увійти і при цьому введе ім'я користувача, а не email, то він наткнеться на повідомлення про помилку.
Вперше познайомився з WordPress в 2009 році. З 2014 року мене можна зустріти на WordCamp - офіційної конфе по WordPress, іноді там виступаю. Також в даний час веду курси по WordPress в Epic Skills .
Якщо вам потрібна допомога з вашим сайтом або може навіть розробка з нуля - пишіть мені .