Реєстрація та авторизація в wordpress

Вітаю вас, дорогі друзі. Настав час знову зануритися в світ програмування для WordPress.

У попередніх публікаціях ми вже поговорили про таких аспектах даної CMS:

Думаю всі знають, що дозвіл на реєстрацію нових користувачів видає адміністратор, ставлячи галочку в налаштуваннях адмінки WordPress (Параметри → Загальні).

Мал. 1. Включення реєстрації нових користувачів в адмінці WordPress.

Реєстрація та авторизація в wordpress

Мал. 2. Стандартна форма реєстрації WordPress.

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

Реєстрація та авторизація в wordpress

Реєстрація та авторизація в wordpress

Мал. 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 () - стандартна функція-так і є, але вона у мене чомусь не була підключена. Вона є, але не підключена була.

Реєстрація та авторизація в wordpress

Я веб-майстер і викладач. Мене цікавить технічна сторона інтернет-бізнесу.

Люблю вивчати різні технічні аспекти, розбиратися як це влаштовано і розповідати іншим.

Живу в г. Киев, Україна.

Живу в м Маріуполь, Україна.

Живу в м.Львові, Україна.