WordPress Cârlige de inițiere Beneficii și greșeli comune

Î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.


Introducere în cârlige de inițializare

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:

  • init rulează după ce WordPress a terminat încărcarea, dar înainte de trimiterea oricăror anteturi. În general, acest lucru este folosit de pluginuri pentru inițializarea procesului.
  • widgets_init este folosit pentru a înregistra widget-urile bara laterală a aplicației. register_widgetfuncția este executată în acest cârlig.
  • admin_init este executată ca prima acțiune, când utilizatorul accesează secțiunea admin a WordPress. În general, se utilizează pentru inițializarea setărilor specifice zonei de administrare.
În afară de aceste trei cârlige, există un alt cârlig numit 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.

Definire admin_init În interiorul init Cârlig

Dacă 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.

Definire init În interiorul admin_init Cârlig

Să 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.


Explorarea init și admin_init Hooks

Printre 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.

Cum să utilizați 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ârlig

  • Înregistrarea tipurilor de postări personalizate - WordPress recomandă utilizarea init cârlig pentru înregistrarea noilor tipuri de mesaje personalizate.
  • Inițializarea configurațiilor și setărilor pluginului - Plugin configurații și setări trebuie să fie definite în fiecare cerere și, prin urmare, este o bună practică pentru a le include în interiorul acestui cârlig.
  • Accesarea datelor trimise de utilizator (folosind $ _GET și $ _POST) - Putem intercepta datele trimise de utilizatori fără nicio acțiune, dar este recomandat să le folosim init cârlig deoarece garantează execuția în fiecare cerere.
  • Adăugarea de reguli noi de rescriere - Putem defini noi reguli de rescriere folosind init cârlig, dar rețineți că aceste noi reguli vor intra în vigoare numai după ce vom șterge regulile de rescriere.
  • Adăugați sau eliminați acțiuni personalizate - Plugin-urile conțin multe acțiuni personalizate pentru extinderea funcționalității. Vor fi scenarii în care trebuie să adăugăm noi acțiuni personalizate, precum și să eliminăm cele existente. În astfel de ocazii, este esențial să se implementeze aceste activități în cadrul acestuia init cârlig.
  • Încărcați domeniul de text plugin - WordPress oferă suport multi-lingvistic și, prin urmare, ni se permite să încarcă fișierul conținând șirurile traduse. Acest lucru ar trebui să fie, de asemenea, plasat în interiorul init cârlig.

admin_init cârlig

  • Controlul accesului - Este esențial să verificați permisiunile utilizatorilor conectați înainte de a permite fiecărui utilizator accesul la un anumit set de caracteristici sau funcționalități. admin_init este prima acțiune care rulează în zona administratorului, astfel încât să o putem folosi pentru gestionarea controlului accesului.
  • Adăugarea de setări noi - Putem folosi acest cârlig pentru a adăuga noi pagini de setări sau setări în panoul de setări WordPress existent.

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.

Greșelile obișnuite ale utilizării cârligelor 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:

  • Redenumirea regulilor de rescriere - Aceasta este o operațiune intensivă în care toate regulile de rescriere sunt splate și rearanjate pentru a adăuga noi și pentru a elimina regulile inutile. Mulți dezvoltatori elimină regulile de rescrieri din interior 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.
  • Accesarea bazei de date - Este o necesitate de a accesa baza de date pentru a oferi diferite funcționalități, dar este important să se prevină apelurile inutile de baze de date în interiorul cârligelor de inițializare, deoarece acestea sunt executate la fiecare solicitare. În acest scop, este ideal să alocați cârlige de date în cârlige specifice funcționalității, pentru a evita cheltuielile majore de performanță.
  • Executarea rutinelor de actualizare - Pluginurile trebuie să aibă o rutină de actualizare pentru a actualiza caracteristicile pentru versiuni noi. În general, dezvoltatorii utilizează cârlige init pentru a verifica versiunile și setările pluginului înainte de a executa procesul de actualizare. Putem permite utilizatorilor să actualizeze plugin-ul furnizând un ecran personalizat în loc să verifice automat fiecare solicitare.
  • Folosind cârlige init în loc de cârlige specifice funcționalității - Aceasta este cea mai frecventă greșeală făcută de mulți dezvoltatori. Există o gamă largă de cârlige în WordPress care vizează funcții diferite, unice. Este important să folosiți cârlige specifice funcționalității pentru a evita conflictele și pentru a face codul extensibil. Cârlige, cum ar fi 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ă:
    • admin_menu - Putem adăuga pagini de meniu utilizând 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 - Modul recomandat de a adăuga stiluri și scripturi este de a utiliza 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.


Deplasarea înainte cu cârlige de inițializare

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!

Cod