Ghidul începătorului pentru acțiunile și filtrele WordPress

Când vine vorba de dezvoltarea WordPress profesională, este imperativ ca dezvoltatorii să înțeleagă atât acțiunile cât și filtrele - adică este important să înțelegeți cârligele WordPress.

Pur și simplu puneți, cârligele sunt ceea ce ne dă posibilitatea de a personaliza, extinde și îmbunătăți WordPress printr-un API în temele, pluginurile și alte eforturi personalizate de dezvoltare.

Problema este că aceste două caracteristici ale WordPress - care ar fi cele mai importante aspecte ale dezvoltării pentru platformă - sunt fie greșit înțelese sau ignorate complet.

În acest post, vom examina ciclul de viață al paginilor WordPress, vom înțelege cum funcționează cârligele și vom examina diferențele dintre acțiuni și filtre, astfel încât nu numai că putem deveni mai buni dezvoltatori de teme și / sau pluginuri, ci și o înțelegere mai profundă a modului în care funcționează WordPress.

Notă: Acest articol este destinat în mod special pentru începători, deci dacă sunteți un dezvoltator cu experiență, acest lucru poate fi un pic de reîmprospătare; totuși, dacă tu sunteți un începător, nu ezitați să lăsați întrebări în zona de comentarii la sfârșitul postului.


Ciclul de viață al paginii WordPress

Înainte de a începe să vorbim despre cârligele WordPress, este important să înțelegeți cum funcționează ciclul de viață al paginii WordPress.

Un ciclu de viață a paginii nu este altceva decât o combinație a evenimentelor care au loc de când un browser solicită o pagină la momentul în care serverul returnează pagina în browser.

Să presupunem, de exemplu, că încărcați o singură pagină. Apoi, la un nivel înalt, WordPress va face ceva de genul:

  • Uită-te la ID-ul paginii solicitate
  • Solicitați baza de date pentru pagina prin ID-ul acesteia
  • Solicitați baza de date pentru toate datele asociate (cum ar fi categorii, etichete, imagini etc.)
  • Solicitați baza de date pentru comentariile asociate cu aceasta
  • Întoarcere toate a datelor către browser

Fișierele șablonului și apelurile către funcțiile API sunt apoi responsabile pentru redarea, stylingul și poziționarea datelor pe ecran.

Se pare simplu, dar dacă vă gândiți la unele dintre cele mai complexe bloguri pe care le citiți sau dacă vă gândiți chiar la o parte din munca pe care ați făcut-o, puteți începe să înțelegeți cât de intens este acest proces particular.

Desigur, este și la cel mai simplist nivel. Acest lucru nu include nici un mecanism de caching sau nici unul dintre subiectele avansate pe care alții le discută adesea atunci când construiesc proiecte bazate pe WordPress.

Un dezvoltator popular WordPress Rarst - tipul din spatele queryposts.com - a pus împreună un grafic relativ detaliat care arată încărcarea de bază WordPress:

Do nu descurajați dacă nu puteți urma diagrama de mai sus. Am plasat-o aici doar ca referință. Scopul final al acestei sesiuni este că, până la sfârșit, toți dezvoltatorii sunt capabili să o înțeleagă.

Cu acest lucru a spus, aici este cheia de bază pentru a înțelege despre cârlige în timpul WordPress pagina de încărcare a ciclului de viață:

În timp ce WordPress își execută seria de interogări și se pregătește să facă datele înapoi în browser, se uită la toate cârligele personalizate - adică acțiunile și filtrele - care au fost scrise și transmit date prin filtrele respective înainte de a returna datele către browser-ul.

În acest moment, este important să definiți cârligele și să analizați diferențele dintre acțiuni și filtre și modul în care acestea se joacă în întregul ciclu de viață.


Totul despre cârlige

Cârligele WordPress se referă la două lucruri - acțiuni și filtre. Dacă ar trebui să te uiți la articolele Codex pe cârlige, nu ai vedea decât o scurtă pagină care să lege referințele pentru ambele acțiuni și filtre. Exact așa ar trebui să fie, de asemenea asta ce cârlige sunt.

Deci, iată cum să ne gândim la acest lucru:

Cârlige ne permite să cârlig literalmente în părți din ciclul de viață al paginii WordPress pentru a prelua, introduce sau modifica date sau ne permit să facem anumite acțiuni în spatele scenei.

Destul de cool, corect?

Dar trebuie să înțelegem două lucruri despre acest lucru:

  1. Acțiunile sunt diferite de filtre.
  2. Nu puteți arunca pur și simplu un cârlig într-un punct arbitrar de execuție. Există momente în care anumite focuri de cârlige și timpuri optime pentru tine de a profita de asta.

Acestea fiind spuse, să definim mai întâi acțiunile și filtrele, atunci vom examina când să declanșăm ce.


Acționând

Deci, care sunt acțiunile? Cea mai simplă definiție este următoarea: Acțiunile indică faptul că sa întâmplat ceva. Asta e. Dar ce bine este acea definiție? Și cum să nu confundăm cu evenimentele?

Iată cum o păstrez drept:

Acțiunile sunt evenimente din ciclul de viață al paginii WordPress atunci când au apărut anumite lucruri - anumite resurse sunt încărcate, anumite facilități sunt disponibile și, în funcție de cât de devreme a avut loc acțiunea, unele lucruri trebuie încă încărcate.

Deoarece am discutat despre virușii paginilor WordPress, acțiunile sunt în general anumite puncte în timpul vieții în care vă puteți prezenta propriile funcționalități.

Aceasta înseamnă că aveți capacitatea de a face ceva să se întâmple în timpul încărcării unei pagini.

Codul prevede a Grozav resurse despre acțiunile care sunt construite în WordPress, precum și despre ordinea în care acestea declanșează. Marcați, consultați frecvent și aflați acest lucru.

Este fundamental să înveți cum să cârnești în WordPress în anumite momente în timpul executării lui și al lui Doing It Right ™.

Cazul în cauză: Văd adesea dezvoltatorii care se hrănesc în init acțiune prea frecvent. Sigur, este timpul să faci asta. Dar spuneți că ați vrut să faceți ceva chiar înainte de a obține posturile. Apoi ar avea sens să folosești pre_get_posts cârlig mai degrabă decât init, dreapta?

Asta- de ce este important să înțelegeți acțiunile.


Filtrează toate lucrurile

Filtrele, pe de altă parte, sunt complet diferite de acțiuni. Ca și acțiuni, ele sunt puncte similare care apar în timpul ciclului de viață al paginii WordPress; cu toate acestea, ceea ce ei do e diferit.

Iată cum definesc filtrele:

Filtrele sunt funcții pe care WordPress le transmite prin anumite puncte din ciclul de viață al paginilor. Aceștia sunt responsabili în primul rând pentru interceptarea, gestionarea și returnarea datelor înainte de a le trimite la browser sau de a salva datele din browser în baza de date.

Să presupunem pentru un moment că un vizitator al site-ului este pe cale să încarce un post. Din ceea ce înțelegem din ciclul de viață al paginii WordPress, WordPress va interoga baza de date pentru postul respectiv, apoi va reveni la browser. Înainte de a face acest lucru, totuși, va rula datele prin orice filtre care au fost stabilite.

În acest moment, filtrele vor acționa asupra datelor care le sunt transmise. De exemplu, spuneți că doriți să adăugați o scurtă teză despre autor la sfârșitul conținutului. Pentru a face acest lucru, veți înregistra o funcție personalizată cu continutul filtrați și adăugați sentința la conținut.

Cum pentru a face acest lucru este dincolo de domeniul de aplicare al acestui articol, dar ne propunem să acopere acest lucru într-un articol viitor în sesiune.

La fel ca și în cazul acțiunilor, Codex-ul oferă o listă completă a filtrelor disponibile. Și în mod similar, Marcați, consultați frecvent și aflați acest lucru.

Odată ce ați avut o înțelegere solidă a filtrelor, puteți începe să manipulați recuperarea datelor și să le serializați prin Doing It Right ™, mai degrabă decât să ocolească API-ul WordPress. Acesta oferă o modalitate puternică, foarte ușoară de a face manipularea datelor.

Asta- de ce este important să înțelegeți filtrele.


Dar când ... ?

În acest moment, se pune întotdeauna în discuție întrebarea inevitabilă.

Când folosesc ce cârlig?

Și iată sfatul pe care îl dau în mod normal:

  • Utilizați acțiuni atunci când doriți să adăugați ceva la pagina existentă, cum ar fi foile de stil, dependențele JavaScript sau trimiteți un e-mail atunci când sa întâmplat un eveniment.
  • Utilizați filtre atunci când doriți să manipulați datele care ies din baza de date înainte de a merge la browser sau să veniți din browser înainte de a intra în baza de date.

Asta e! Destul de ușor, sper.


concluzii

În acest moment, recomand foarte mult revizuirea următoarelor resurse:

  • API-ul Plugin, care oferă, de asemenea, câteva informații utile care pot fi folosite și în dezvoltarea temelor.
  • Referința de acțiune
  • Referința filtrului

Planificăm să continuăm difuzarea mai multor postări în sesiune pentru a însoți acest articol, precum și articolul lui Pippin cu privire la pluginurile extensibile, deci asigurați-vă că rămâneți la acord pentru această sesiune pentru mai multe informații despre cârlige.

Cod