Реєстрація та авторизація в wordpress
Вітаю вас, дорогі друзі. Настав час знову зануритися в світ програмування для WordPress.
У попередніх публікаціях ми вже поговорили про таких аспектах даної CMS:
Думаю всі знають, що дозвіл на реєстрацію нових користувачів видає адміністратор, ставлячи галочку в налаштуваннях адмінки WordPress (Параметри → Загальні).
Мал. 1. Включення реєстрації нових користувачів в адмінці WordPress.

Мал. 2. Стандартна форма реєстрації WordPress.
Якщо реєстрацію в адмінці ви не дозволили (див. Рис. 1), то і форма реєстрації вам не відобразиться. Замість неї ви побачите повідомлення про неможливість реєструватися на даному блозі.


Мал. 4. Стандартна форма відновлення пароля WordPress.
Вже не знаю, навіщо я розповідаю ці банальності. Вони всім відомі? Тоді будемо вважати, що для розігріву.
Впишемо форму реєстрації в дизайн сайту
В якості додаткових булочок можна додати перевірку дозволу реєстрації в адмінки (див. Рис. 1). Перевірити можна функцією get_option ( 'users_can_register'). Якщо функція поверне TRUE, то реєструватися можна.
Ще я б зробив функцію в плагіні, що відповідає за виведення форми реєстрації, щоб вона виводилася саме там де потрібно, а не бовталася в пості без потреби. Але це вже в наступний раз.
Андрій, дякую за черговий цікавий урок!
Дякую за цікавий і грамотний питання.
1. З масиву GET я передав дані в проміжні змінні для більшої наочності. Я страждаю тим, що завжди роблю не як коротше, а як зрозуміліше.
3. Ось тут промашка в моїй валідації. Необхідно регулярний вираз, яке регламентує правила для user_name. Цифри і букви, починати з букви, думаю це те що потрібно в даному випадку.
«3. Ось тут промашка в моїй валідації. Необхідно регулярний вираз,
регламентує правила для user_name. Цифри і букви, починати з букви,
думаю це те що потрібно в даному випадку. »
А як зто виправити?
І
ще один нюанс, якщо вилітає повідомлення, що в рядку 116 у файлі плагіна помилка типу -
не знайдено функція username_exists () (що у мене сталося), то потрібно
буде підключити файл registration.php
просто додати в код першим рядком у файлі плагіна
require_once (ABSPATH. WPINC. '/registration.php');
Генеруючи випадковий код і записую його в таблицю для даного користувача. У цій же таблиці зберігається логін і пароль нового користувача.
Далі я чекаю переходу за посиланням, яка буде містити в масиві $ _GET поле emailcode (або якось так). Якщо дане поле в масиві $ _GET виявлено, то вважати, що користувач перейшов по валідаційної посиланням. В БД шукається рядок, що містить відповідний код. Якщо рядок знайдено, то користувач реєструється в штатними методом WordPress.
тобто коли користувач по ній клацає, то браузер повідомляє, що такої сторінки не існує.
username_exists () - стандартна функція-так і є, але вона у мене чомусь не була підключена. Вона є, але не підключена була.

Я веб-майстер і викладач. Мене цікавить технічна сторона інтернет-бізнесу.
Люблю вивчати різні технічні аспекти, розбиратися як це влаштовано і розповідати іншим.
Живу в г. Киев, Україна.
Живу в м Маріуполь, Україна.
Живу в м.Львові, Україна.