Front-end авторизация и излизане в WordPress

1. Създайте форма за влизане и връзка за излизане.

Това е визуална част от кода, която показва как да внедрите формата за влизане и връзката за излизане. Можете да го поставите навсякъде в шаблона, като например модален прозорец, или можете да създадете отделна страница с персонализиран шаблон, както искате.

2. Видях как jQuery обработва подаването на формуляр за вход и връзката за излизане.

Поставете този код навсякъде, основното е, че след jQuery и jQuery-форми. Класът userform ще има всички потребителски формуляри, така че се нуждаем само от един код, който ще изпрати всички тези формуляри. Създадох отделен файл в папката my_template/js/for_users.js и поставих кода там, след което го включих в routes.php (вижте следващия параграф).

3. Нека подготвим WP за използване на Ajax и да създадем манипулираща структура.

За удобство няма да пъхам целия код вfunction.php, но ще създам папкаfor_users вътре в шаблона, където ще поставя цялата обработка разделена на файлове, така че всеки файл да отговаря само за своята конкретна задача, на същото място ще създам файлroute.php, който ще разпределя какво къде и кой файл да се свърже и само ще го включа във function.php.

Разбира се, можете да поставите всичко във function.php или да го подредите като плъгин - зависи от вас.

Тук поставяме това нещо вroute.php :

Добавката jQuery-forms е включена не само за удобство, ще научите защо в една от следващите статии.

Някои ще кажат, че не е необходимо да използватеwp_localize_script за предаване на пътя към обработката на Ajax, но можете просто да напишете/wp-admin/admin-ajax.php веднага, но това се прави така, че заявката да отиде точно където е необходимо, за случаите, ако сайтът е в подпапка или сайтът е преместен или нещо друго, и изобщо не се излагайте на показ иПрави каквото кажа. xD

И включете този файл вfunctions.php :

И така, формулярът за влизане беше изпратен, параметърътaction=login_me стартира функциятаlogin_me(), която включва файлаlogin.php :

Функциитеwp_send_json_error() иwp_send_json_success() връщат масив с данни в сериализиран JSON низ с параметър успех = true или false и спират по-нататъшната работа на скрипта. Това е родна функция на WordPress, удобно нещо.

4. Обработка на излизане.

Сега същото, само че данните идват с параметъраaction=logout_me, функциятаlogout_me() беше стартирана, която включваше файлаlogout.php :

Не забравяйте да харесате и пипнете статията, добре, какво сте. =)