În primele două articole din această serie, am scris despre ce pagini sunt binevenite și despre cum ajută produsele să îmbunătățească experiența utilizatorilor prin conectarea punctelor, după care am scris despre API-ul WordPress Transients pe care intenționez să îl folosesc în timpul construirii paginii de bun venit.
Codarea unei pagini de bun venit pentru pluginul dvs. WordPress poate fi un proces dificil. Întregul concept se învârte în jurul redirecționării utilizatorilor către o anumită pagină prin setarea de tranziții și, în final, ștergerea acestora. Să începem să construim pagina de întâmpinare.
Am de gând să construiască o pagină de bun venit boilerplate pentru WordPress sub forma unui plugin care ar putea fi folosit în produsul dvs. WordPress. Forma finală a acestui plugin este găzduită la GitHub la WP-welcome-Page--pentru-șabloane TutsPlus.
În acest moment, presupun că ați stabilit următoarele:
Voi crea un plugin simplu care afișează o pagină de întâmpinare când un utilizator instalează și activează pluginul. Să discutăm arhitectura pluginului:
Puteți vedea următoarea captură de ecran pentru a verifica arhitectura.
Pluginul funcționează în felul următor:
Să începem discuția noastră cu conținutul fișierului de bază, care este wp-welcome-page-boilerplate.php
. Iată codul complet:
Secțiunea antet PHPDoc a pluginului spune WordPress că un fișier este un plugin. Parametrii definiți indică modul în care sunt gestionate datele. Cel puțin, un antet poate conține doar un nume de plugin, dar mai multe bucăți pot - și de obicei ar trebui - incluse. Puteți citi cerințele privind antetul în Manualul dezvoltatorului WordPress Plugin Developer.
Următorul set de cod efectuează o verificare de securitate. Dacă cineva încearcă să acceseze direct acest fișier, rulează
ABSPATH
verificați, care termină scriptul dacă este accesat din afara WordPress.După aceea, codul arată astfel:
// versiune Plugin. dacă (! definit ('WPW_VERSION')) define ('WPW_VERSION', '1.0.0'); // Nume dosar plugin. dacă (! definit ('WPW_NAME')) define ('WPW_NAME', trim (dirname (plugin_basename (__FILE__)), '/')); // directorul Plugin, inclusiv folderul. dacă (! definit ('WPW_DIR')) define ('WPW_DIR', WP_PLUGIN_DIR. '/' .WPW_NAME); // Adresa URL a pluginului, inclusiv folderul. dacă (! definit ('WPW_URL')) define ('WPW_URL', WP_PLUGIN_URL. '/'. WPW_NAME); // Fișier rădăcină Plugin. dacă (! definit ('WPW_PLUGIN_FILE')) define ('WPW_PLUGIN_FILE', __FILE__);Am definit câteva constante globale care definesc detalii despre versiunea pluginului, directorul rădăcină, adresa URL și fișierul principal al pluginului.
Fiecare dintre acestea conține o
dacă (! define ())
, care ajută la evitarea oricăror erori cauzate de redefinirea unei constante globale. Vă recomandăm să definiți constantele globale cu numele pachetului ca prefix. Numele pachetului din acest plugin esteWPW
, adică WordPress Bine ați venit. Deci, fiecare constantă are un prefixWPW_
.Constantele plugin-ului definite sunt:
WPW_VERSION
: Versiune PluginWPW_NAME
: Nume dosar pluginWPW_DIR
: Directorul PluginWPW_URL
: Adresa URL a pluginuluiWPW_PLUGIN_FILE
: Fișier rădăcină PluginOdată ce toate aceste constante sunt definite, vom începe cu conținutul fișierului nostru de bun venit.
În cele din urmă, am cerut inițializatorul de bun venit și logica de bun venit.
dacă (fișier_există (WPW_DIR ./welcome/welcome-init.php ')) require_once (WPW_DIR ./welcome/welcome-init.php'); dacă (fișier_există (WPW_DIR ./welcome/welcome-logic.php)) requ_once (WPW_DIR ./welcome/welcome-logic.php);
Îmi place să păstrez codul meu minim, precis și bine documentat. Deci, în loc să adăugăm fiecare bloc de cod într-un singur fișier, prefer să fac fișiere individuale, fiecare cu un singur scop. De aceea avem un fișier de inițializare care va inițializa tot ce are legătură cu pagina de întâmpinare.
require_once ()
declarația solicită welcome-init.php
fișier, dar înainte de a cere un fișier, întotdeauna am verificat-o cu fisierul exista()
Funcția PHP pentru a evita orice erori fatale în cazul în care fișierul se șterge.
Aceleași principii se aplică și pentru logica de bun venit, pe care o vom ajunge mai târziu în următoarea parte a seriei.
Puteți verifica codul final al wp-welcome-page-boilerplate.php
fișier pe GitHub.
Pentru a gestiona toate fișierele legate de pagina de bun venit, am creat un folder separat numit Bine ati venit și a adăugat a welcome-init.php
fişier. Întregul cod al acestui fișier controlează inițializarea paginii de întâmpinare.
Să studiem codul complet al acestui fișier:
Codul începe cu o documentație inline despre fișier și o
ABSPATH
Verifica. Acum am avut nevoie de o modalitate de a adăuga și șterge temporar atunci când plugin-ul este activat și dezactivat.Din fericire, WordPress ne oferă două cârlige pentru acest scop precis.
register_activation_hook (string $ fișier, nevărsat $ funcția)
: Acest cârlig este declanșat când plugin-ul este activat. Este nevoie de fișierul principal $ al pluginului și de funcția $ callabilă ca parametri.register_deactivation_hook (string $ fișier, nevărsat $ funcția)
: Acest cârlig este declanșat când plugin-ul este dezactivat. Este nevoie ca pluginul fișierul $ principal și o funcție $ callabilă ca parametri.Deci, acum trebuie să folosim aceste cârlige. Am creat o pagină tranzitorie pentru pagina de bun venit. set_transient ()
funcția este numită în interiorul obișnuit wpw_welcome_activate ()
funcţie. În articolul precedent, am aflat că a stabilit
operația are nevoie de o cheie, valoare si un data expirarii ca parametri.
Prin urmare, cheia _welcome_redirect_wpw
este setat la o valoare Adevărat
pentru 60
secunde. Aceasta definește vârsta maximă după care expiră tranzitoria.
Următorul este cârligul de activare și, după cum știm, acest cârlig rulează numai atunci când este activat un plugin. Se adaugă datele noastre tranzitorii la baza de date. Odată ce sistemul tranzitoriu se află în baza de date, înseamnă că îl putem verifica și redirecționa utilizatorul la pagina noastră de întâmpinare. Cum să redirecționați utilizatorul? Asta vom studia în următorul articol.
După aceea, am scris codul care rulează după dezactivarea pluginului. Vrem o funcționalitate în care transientul devine șters când un utilizator dezactivează pluginul. Pentru a face acest lucru, am sunat delete_transient ()
funcția, care ia cheia _welcome_redirect_wpw
ca parametru. Apoi există wpw_welcome_deactivate ()
care este adăugată la cârligul de dezactivare a pluginului.
Această parte este opțională, dar vreau ca utilizatorii mei să vadă pagina de întâmpinare de fiecare dată când activează pluginul. Dacă nu, puteți ignora cu desăvârșire ștergerea transientului.
Până în prezent, am discutat partea codului care este necesară pentru a crea și șterge un tranzitoriu. Dar codul pentru logica de întâmpinare încă lipsește, ceea ce ar redirecționa utilizatorii către pagina de bun venit. Vom aborda următorul lucru.
Asta e pentru ziua de azi. Deci, suntem la jumătatea drumului. Fișierul de bază și inițialele pentru pagina noastră de întâmpinare sunt pregătite. Acum trebuie să creați fișiere logice și de vizualizare, care este planul pentru articolul următor.
În cele din urmă, îți poți captura toate cursurile și tutorialele pe pagina mea de profil și poți să mă urmărești pe blogul meu și / sau să contactezi Twitter @mrahmadawais unde scriu despre fluxurile de lucru în contextul WordPress.
Ca de obicei, nu ezitați să lăsați mai jos întrebări sau comentarii, și mă voi adresa fiecăruia.