Akcione udice

WordPress udica je “parče” koda preko koga se ubacuje custom funkcija u deo koda gde je prethodno smeštena “udica”. Udica može biti ugradjena u bilo koji deo WordPress-a, u “core wordpress-a” ili u našu temu ili plugin…

Izvršavanje wordpress-ovog koda traje i ima svoj redosled, a pošto se “funkcije-udice” nalaze na različitim mestima u kodu to znači da se izvršavaju u različitim trenutcima na vremenskoj pravoj. Ova činjenica nam omogućava da aktiviramo našu custom funkciju iz functions.php u odredjenom trenutku. Tačno vreme startovanja naše fukcije zavisi od toga na koju smo se funkciju-udicu “zakačili”.

Ugradjene WP akcione udice

Ugradjene akcione udice su podeljene u više kategorija:

Spisak svih WP akcionih-udica možete pogledati u codex-u ali takodje na sajtu adambrown.info, ali šta je okidač za
startovanje funkcije pogledajte u Code Reference.

Dodavanje nove akcione udice

Ukoliko vam je i pored priličnog broja postojećih akcionih-udica naophodna “udica” na nekom specijalnom mestu, to se izvodi sa stavljanjem do_action() funkcije u kod.

Gde je:

  • $tag ime nove udice
  • $arg argument prosledjen udici (opcionalno)

“Kačenje” na udicu

“Kačenje” custom funkcije na akcionu-udicu se vrši koristeći funkciju add_action()

  • hook je udica za koju se kači naša funkcija
  • $function_to_add predstavlja ime naše funkcije koju želimo da pokrenemo
    zajedno sa akcionom-udicom
  • $priority predstavlja broj vezan za prioritet aktiviranja, koristi se u slučaju da ima više custom funkcija na istom mestu tj na istoj udici. Što je manji broj to se pre izvršava dodana funkcija. Default-na vrednost je 10.
  • $accepted_args predstavlja broj parametara koji dolaze uz funkciju, npr.
    function update_ post($a,$b) – tu imamo broj 2 jer se prosljeđuju dva parametra

Na sledećem primeru ćemo zakačiti custom funkciju ubaci_css_still() da se pokrene kad i funkcija
wp_head:

Razlog što smo funkciju ubaci_css_still smo zakačili udicom za funkciju wp_head(),
jeste što se njen kod najčešćé stavlja ispred </head> taga, a to je i mesto gde treba da se
pojavi naša funkcija.

“Skidanje” sa udice

Gde je:

  • $tag ime “akcione-udice”
  • $function_to_remove ime povezane custom funkcije na udicu koja treba da se otkači

Filterske udice

“Filterske udice” su funkcije kroz koje je wordpress omogućio da se menjaju podaci. Filterska-udica našoj custom funkciji uvek prosledi neki parametar, a iz toga sledi da naša custom funkcija mora uvek da vrati neku vrednost tj. mora da ima return naredbu.

Filteri mogu da omoguće promenu podataka u trenutku pre nego što se učita strana tj. da se promena izvrši nakon što su podaci izašli iz baze a nisu još stigli do browsera. Takodje filteri omogućavaju promenu podataka i kada je obrnut proces tj. kada podaci idu ka bazi (npr. kada se dodaju novi postovi ili komentari). Pa se zbog toga kaže da:

” Filterske udice tzv. filteri stoje izmedju baze i browsera “

Ugradjene WP filterske udice

Filter udice su takodje podeljene na kategorije:

Dodavanje novih filter-udica

Gde je:

  • $tag ime nove filterske udice
  • $value vrednost ili cela funkcija koja se može menjati preko neke filter-funkcije
  • $var dodatne vrednosti koje treba proslediti (opcionalno) nekoj custom funkciji

Spisak svih filterskih udica možer te pogledati na sajtu adambrown.info

“Kačenje “na udicu

Funkcija add_filter() izdaje naredbu da se neka custom funkcija unutar plugin-a ili teme zakači za “filter-udicu”. Ključna razlika između akcione-udice i filterske-udice je da prva služi za izvršavanje nekih custom funkcija a filterska-udica za manipulaciju podacima koristeći custom funkciju.

Naredba koja se izdaje custom funkciji da se zakači za “filter udicu” je:

  • hook je funkcija za koju se kači naš filter
  • $function_to_add predstavlja ime naše funkcije koju želimo da pokrenemo
    zajedno sa filter-udicom
  • $priority predstavlja broj vezan za prioritet aktiviranja, koristi se u slučaju da ima više custom funkcija na istom mestu tj na istoj udici. Što je manji broj to se pre izvršava dodana funkcija. Default-na vrednost je 10.
  • $accepted_args predstavlja broj parametara koji dolaze uz funkciju, npr.
    function update_ post($a,$b) – tu imamo broj 2 jer se prosljeđuju dva parametra

“Skidanje” sa udice

Gde je:

  • $tag ime “udice sa koje treba da se “otkači”
  • $function_to_remove ime custom funkcije koja treba da se otkači.

Primer

Prethodna funkcija vraća “unoredered” listu od različitog voća. Pa ukoliko dodamo kod za štampanje funkcije:

Ištampaće se sledeći HTML kod:

Ako želimo da modifikujemo listu voća moramo da dodamo novu “filter-udicu” unutar koda:

Sa ovim dodatim kodom je napravljena nova filter-udica pod nazivom ‘voce_filter_udica’ koja prosledjuje za menjanje $niz_voca kao parametar.

Dodavanje novog voća je sada lako jer ćemo da napravimo novu custom funkciju dodavanje_voca_na_listu koja će promeniti prosledjeni parametar ‘$niz_voca’ na mestu filter-udice.

Podelite:

Ostavite komentar