În programare, inițializarea datelor este importantă, deoarece este locul în care setăm premisele pentru aplicație, cum ar fi atributele, fișierele și datele necesare, conexiunea la baza de date și așa mai departe.
WordPress în sine are o procedură de inițializare bine definită. Prin intermediul ciclului de viață al paginilor, WordPress declanșează o serie de acțiuni dintre care multe am abordat în articolele anterioare. În acest scop, acesta oferă un set de cârlige de inițializare care sunt utilizate în mod natural pentru a inițializa aplicația înainte de a executa funcționalitatea primară.
Ca plugin și dezvoltatori de teme, este important să înțelegem cazurile de utilizare și greșelile obișnuite ale acestor cârlige de inițializare, pentru a crea aplicații de calitate.
În acest articol, vom examina importanța cârligelor de inițializare WordPress și modul în care acestea sunt utilizate în diverse scenarii.
WordPress oferă o gamă largă de cârlige care pot fi folosite în dezvoltarea plugin-urilor și temelor.
Într-o solicitare tipică a paginii, toate cârligele de acțiune sunt executate într-o anumită ordine. În mod specific, toate cârligele sunt executate după ce aplicația centrală WordPress își încheie procesul de încărcare.
Deci, cârligele de inițializare sunt utilizate în principal pentru a ghici inițializarea procesului în pluginuri și teme. Să aruncăm o privire la cele disponibile init
cârlige în WordPress, în ordinea execuției lor:
register_widget
funcția este executată în acest cârlig.admin_bar_init
, care se execută după inițializarea barei de administrare. Codul WordPress nu oferă o explicație a acestui cârlig, și nu multe pluginuri folosesc acest cârlig. De asemenea, puteți examina întregul proces de execuție a cârligului de acțiune WordPress în Codul.
WordPress execută fiecare cârlig într-o anumită ordine (pe care o puteți vedea în Codex). Ca atare, este important să țineți cont de ordinea apariției în utilizarea fiecărui cârlig de acțiune. Luați în considerare următoarele scenarii pentru a identifica diferențele.
admin_init
În interiorul init
CârligDacă este necesar, putem defini cârligele WordPress în alte cârlige. Într-o solicitare tipică, init
cârligul rulează înainte de admin_init
cârlig. Deci, să încercăm să scoatem ceva prin plasare admin_init
în interiorul init
cârlig:
add_action ('init', 'test_init'); funcția test_init () add_action ('admin_init', 'test_admin_init'); funcția test_admin_init () echo "Admin Init Inside Init";
După executarea acestui cod, vom obține ieșirea dorită folosind ecou
afirmație.
init
În interiorul admin_init
CârligSă vedem codul și rezultatul acestui scenariu în care un cârlig anterior este definit în interiorul unui cârlig care vine mai târziu în ordinea execuției.
add_action ('admin_init', 'test_admin_init'); funcția test_admin_init () add_action ('init', 'test_init'); funcția test_init () echo "Init Inside Admin Init";
Aici, nu vom obține nici o ieșire - acest lucru este de așteptat - pentru că init
cârlig execută înainte admin_init
cârlig și, prin urmare, nu este disponibil după definirea admin_init
cârlig.
După cum puteți vedea, este vital să înțelegeți procedura de execuție a cârligelor pentru a construi pluginuri de succes. Ordinea apariției este importantă pentru toate cârligele din WordPress.
init
și admin_init
HooksPrintre cârligele de init, init
și admin_init
este în valoare de explorare, deoarece aceste două cârlige sunt utilizate pe scară largă în multe plugin-uri. Utilizarea altor cârlige de inițializare este simplă în comparație cu aceste două cârlige.
Ca atare, ne vom uita la funcționalitatea init
și admin_init
cârlige.
init
cârligul este executat în fiecare cerere pentru ambii interfața site-ului WordPress, precum și backend-ul.
admin_init
cârligul este executat după secțiunea admin completează procesul de încărcare. Deci, acest cârlig se execută și pe fiecare cerere de pagină de administrare. Utilizatorii trebuie să fie conectați pentru a profita de acest cârlig.
Deoarece ambele aceste cârlige sunt executate pe fiecare solicitare, trebuie să planificăm funcționalitățile în interiorul implementării acestor cârlige, deoarece acestea pot avea un impact semnificativ asupra performanței site-ului.
init
HooksÎn general, cârligele de inițializare sunt disponibile în majoritatea pluginurilor WordPress existente și sunt esențiale pentru gestionarea procesării lor.
WordPress nu definește ceea ce ar trebui și ce nu ar trebui să includem; prin urmare, dezvoltatorii pot face greșeli minore care, la rândul lor, pot duce la o scădere de performanță imensă. În această secțiune, vom examina modul în care putem utiliza în mod eficient ambele init
și admin_init
cârlige.
Să aruncăm o privire la cele mai bune practici în utilizarea cârligelor init.
init
cârliginit
cârlig pentru înregistrarea noilor tipuri de mesaje personalizate.init
cârlig deoarece garantează execuția în fiecare cerere.init
cârlig, dar rețineți că aceste noi reguli vor intra în vigoare numai după ce vom șterge regulile de rescriere.init
cârlig.init
cârlig.admin_init
cârligadmin_init
este prima acțiune care rulează în zona administratorului, astfel încât să o putem folosi pentru gestionarea controlului accesului.Există multe alte posibile implementări cu aceste cârlige, dar aceste caracteristici au cârlige proprii și nu este necesar să se utilizeze cârligele de inițializare.
De multe ori, găsim scenarii în care dezvoltatorii înțeleg greșit utilizarea cârligelor de inițializare. Utilizarea necorespunzătoare a cârligelor menționate poate duce la probleme grave de performanță (precum și la pluginuri de calitate scăzută).
Să identificăm greșelile comune și cum să le evităm:
init
acțiuni și sfârșesc prin crearea de cheltuieli inutile de performanță în fiecare cerere. Ar trebui să configurați o modalitate de a elimina manual regulile de rescriere utilizând un buton sau să eliminați regulile privind activitățile rare, cum ar fi salvarea setărilor pluginului.init
și admin_init
pot fi utilizate în loc de cârlige specifice, astfel încât dezvoltatorii tind să le utilizeze fără a avea cunoștință de efectul lor complet. Unele dintre scenariile comune în care dezvoltatorii folosesc init
și admin_init
cârligele în loc de cârligele recomandate sunt după cum urmează: add_menu_page
funcţie. Se recomandă utilizarea admin_menu
cârlig pentru crearea paginilor de administrare. Dar mulți dezvoltatori folosesc admin_init
cârlig așa cum este executat după admin_menu
cârlig.wp_enqueue_scripts
cârlig. Dar mulți dezvoltatori folosesc wp_enqueue_script
în interiorul init
cârlig pentru a încărca scripturi și stiluri.Există numeroase situații similare în care dezvoltatorii folosesc un cârlig init comun în locul cârligului de funcționalitate specific și ar trebui să fie preveniți ori de câte ori este posibil.
Cârligele de inițializare WordPress joacă un rol vital în dezvoltarea pluginurilor și temelor. Mulți dezvoltatori folosesc greșit cârligele care generează cheltuieli inutile. În acest articol, am discutat despre utilizarea corectă a acestor cârlige, precum și despre greșelile comune și cum să le evităm.
Acum putem aplica aceeași tehnică pentru cârlige personalizate pentru plugin-uri. Multe pluginuri avansate utilizează propriile cârlige de acțiune pentru a le face extensibile. Pentru astfel de pluginuri, putem defini cârlige init specifice pentru pluginuri pentru a permite dezvoltatorilor să se concentreze asupra sarcinilor de inițializare pe cârlige predefinite, în loc să le folosească peste tot.
Simțiți-vă libertatea de a vă împărtăși experiențele dvs. privind utilizarea corectă a cârligelor init, precum și greșelile în utilizarea cârligelor de inițializare. Așteaptă cu nerăbdare să vedeți ce trebuie să împărtășiți în comentarii!