Creați-vă propria pagină de conectare în wordpress, totul despre wordpress

În WordPress, vă puteți crea utilizatorii și propriile roluri personalizate și puteți să le faceți chiar și programabil, adică puteți crea un formular de înregistrare, astfel încât vizitatorii dvs. să se poată înregistra pe site-ul dvs. și să acceseze zona accesibilă numai membrilor site-ului.

Dacă ați permis vizitatorilor dvs. să vă înregistrați ca utilizatori pe site-ul dvs., aceștia vor avea acces la panoul de administrare. Nu este nimic dificil în stabilirea rolurilor utilizatorilor - în cele din urmă utilizatorii nu vor putea să facă nimic în panoul de administrare, însă aceasta nu este cea mai bună abordare a vizitatorilor.

Cel mai bine este să creați o nouă formă de conectare utilizând managerul de utilizatori WP încorporat și să redirecționați intrările cu succes în orice altă zonă decât panoul de administrare WordPress.

În acest tutorial, vom examina modul de creare a unui nou formular de conectare pentru utilizatorii care le vor redirecționa către diferite zone.

Creați-vă propria pagină de conectare în wordpress, totul despre wordpress

Restricționați accesul la panoul de administrare numai pentru administratori

În fișierul functions.php al temei WP, adăugați următorul cod, care ne va permite să blocăm accesul în zona administratorului:

Codul verifică dacă utilizatorul este un administrator și, dacă nu, WordPress va redirecționa automat persoana înapoi la pagina principală.

Acum, că avem acces limitat la zona administratorului, putem crea un nou formular de autentificare pentru toți ceilalți utilizatori din managerul de utilizatori WordPress.

Creați o nouă pagină de conectare

În primul rând, trebuie să creați un nou șablon de pagină de conectare pentru subiectul nostru, ceea ce ne va permite să creați o nouă pagină de conectare pentru WordPress și să o conectați la acest șablon.

Creați un nou fișier PHP în temă și adăugați următorul cod:

Acum, dacă mergeți la WordPress și creați o pagină nouă, puteți să conectați această pagină la acest șablon.

Avem nevoie ca această pagină să arate la fel ca restul paginilor din subiect, așa că vom adăuga un antet, subsolul și bara laterală.

Cu această structură, pagina va arăta ca oricare alta în subiect și acum putem adăuga formularul de conectare la acesta. Din fericire, există o funcție în WordPress care creează formularul de autentificare pe pagină.

Funcția funcțională este wp_login_form () primește un parametru, care este o serie de argumente utilizate pentru a schimba comportamentul formularului.

Iată argumentele pe care le puteți trece la funcția de formular și valorile implicite:

Puteți modifica orice setări după cum este necesar pentru formularul de înscriere, în acest caz, vom schimba pur și simplu adresa URL de redirecționare la executarea corectă a intrării în migrare a utilizatorilor într-o zonă specială a site-ului, disponibil numai membrilor săi.

Dacă sunteți conectat (ă) corect, WordPress va primi adresa URL a paginii care este disponibilă numai membrilor site-ului utilizând funcțiile get_permalink () și get_page ().

Tot ce trebuie este să creați o pagină nouă pentru o formă de autentificare arbitrară care să vă transfere utilizatorii într-o zonă specială a site-ului în locul panoului de administrare. Iată codul complet al paginii:

Probleme cu crearea propriei pagini de conectare

Creați pagina de autentificare în propriul WordPress necesită acțiuni mai complexe decât pur și simplu utilizați funcția wp_login_form (), care va crea o pagină de conectare și vă permite să introduceți cu succes în WordPress. Problema apare dacă ați încercări de conectare nereușite.

Trebuie să gestionați evenimentul care se întâmplă atunci când utilizatorul introduce în mod incorect datele de conectare, introduce numele incorect al utilizatorului, parola sau nu introduce nimic în formular. În fiecare dintre aceste scenarii, utilizatorul trebuie să fie returnat înapoi la formularul curent de conectare și ar trebui să afișați un mesaj care să ateste că înregistrarea nu a fost făcută.

Dacă utilizați funcția wp_login_form () și aveți o încercare nereușită de conectare, veți fi întotdeauna transferate la formularul de logare WordPress wp-login.php. Acest lucru nu este foarte convenabil pentru utilizatorii care trebuie să acceseze o zonă accesibilă membrilor site-ului. Astfel, trebuie să adăugați câteva caracteristici suplimentare în functions.php, pentru a se asigura că aceste tipuri de comportamente sunt tratate in mod corect.

Încercare de autentificare nereușită

În primul rând, trebuie să abordăm evenimentul care se întâmplă dacă s-a făcut o încercare de conectare nereușită, adică dacă ați introdus un login sau o parolă incorectă și nu sunteți conectat (ă) la WordPress.

În WordPress, există o acțiune wp_login_failed, cu care puteți lega funcția să se ocupe de o încercare de conectare nereușită. Acesta va fi utilizat numai atunci când utilizatorul a introdus un login și o parolă incorecte. Dacă utilizatorul nu a introdus un login sau o parolă, procesul de autentificare nu va ajunge la stadiul specificat.

După încercarea de conectare nu reușește, avem nevoie pentru a obține adresa URL a paginii în care ne-am dus, și asigurați-vă că nu este o pagină standard de wp-login.php, atunci putem adăuga o valoare șir de conectare nu a reușit și redirecționa acest lucru la parametrul de formă intrarea.

Adăugați următorul cod în fișierul functions.php pentru redirecționarea inversă la o pagină de autentificare arbitrară pentru o încercare nereușită de a introduce date:

Goliți datele de conectare și parola

Dacă nu introduceți o parolă sau nume de utilizator la orice pagină de conectare, veți fi redirecționat înapoi la pagina de login WordPress standard, care nu este prea bun, deoarece va induce în eroare utilizatorii dumneavoastră. Astfel, va trebui să conectăm o altă funcție la o acțiune diferită - în acest caz vom folosi acțiunea de autentificare.

În acest moment, putem verifica numele de utilizator și parola, asigurați-vă că nu sunt goale și, în caz contrar, le redirecționați cu o linie de autentificare nereușită.

Adăugați următorul cod în fișierul functions.php pentru a vă asigura că numele de utilizator și parola nu sunt goale.

Acum, dacă utilizatorul nu introduce nimic în câmpurile corespunzătoare ale formularului, obținem o linie care indică o autentificare incorectă.

Rezultatul mesajului despre datele de conectare nereușite

Când redirecționăm utilizatorii înapoi la pagina de conectare, avem linia? Login = eșuat. După verificarea disponibilității, putem afișa un mesaj către utilizator.

Să revenim la șablonul de pagină de intrare și să adăugăm următorul cod:

Codul de mai sus va elimina multe dintre diferitele probleme pe care le veți întâlni când creați propriile pagini de conectare. Acum puteți să creați propriile zone pentru membrii site-ului și să permiteți utilizatorilor să se conecteze la ele.

Articole similare