wordpress-short-kodovi

U 2.5 verziji WordPress-a predstavljeni su short kodovi i većina developera je imala prilike da se susretne sa njima u nekom trenutku. Oni obično dolaze u paketu sa dodacima ili čak temama, a njihova glavna funkcija je da kod koji se nalazi

unutar uglastih zagrada zamene sa nekim drugim sadržajem. To može biti jednostavna rečenica ili masivna PHP funkcija, zavisno od toga što šta želite da postignete.

Upakovani short kodovi su odlična opcija i mogu znatno da ubrzaju stvari, ali zar ne bi dobro kada bi znali sami da ih kreirate ?

U ovom postu ćemo objasniti kreiranje nekih jednostavnih short kodova, da bi Vam pomogli da kreirate funkcionalnosti koje želite.

Jednostavni short kodovi

Short kod API funkcionišu veoma jednostavno: prvo je potrebno kreirati funkciju koja će se pokrenuti kad god je short kod u upotrebi, zatim je potrebno povezati tu funkciju sa specifičnim kodom da bi mogla da se koristi. Kod je često smešten u functions.php, ali ako planirate da imate više short kodova, ima smisla da se kreira poseban fajl koji će se pozvati u functions.php fajlu.

U našem prvom primeru kreiraćemo short kod koji pozivati lorem ispum tekst svaki put kada se [lorem] ukuca u editoru. Potrebno je kreirati funkciju koja će ispisivati lorem ipsum tekst.

[php gutter="false"]
function lorem_function() {
return 'Lorem ipsum dolor sit amet, consectetur adipiscing elit. Donec nec nulla vitae lacus mattis volutpat eu at sapien. Nunc interdum congue libero, quis laoreet elit sagittis ut.
Pellentesque lacus erat, dictum condimentum pharetra vel, malesuada volutpat risus.';
}
[/php]

Sledeći korak koji treba da se uradi je dodavanje ovoga short koda u WordPress upotrebom add_shortcode funkcije u functions.php ili putem fajla koji se poziva u njemu. Ova funkcija  dodaje short kod i povezuje ga sa funkcijom koju smo kreirali.

add_shortcode uzima samo dva argumenta, prvi je ime koje želimo da short kod ima (ono što ćemo kucati između uglastih zagrada) i drugi je funkcija koju želimo da zakačimo za taj short kod.

[php]add_shortcode('lorem', 'lorem_function');[/php]

To je sve što je potrebno za kreiranje jednostavnog short koda u WordPress-u.

Dodavanje parametara

Nadovezujući se na predhodni primer pozivanja jednostavnog teksta, često imamo potrebu da ubacujemo slike u naš sadržaj i te slike treba da budu različitih dimenzija, pa ćemo sada kreirati short kod za ubacivanje slika:

[html][picture width="500" height="500"][/html]

Kada WordPress naiđe na ovaj kod treba da se pozove funkcija koja će ubaciti sliku i da pročita atribute za visinu i širinu. U svakom slučaju potrebno je  obezbediti i podrazmevane vrednosti koje će se korisititi kada ne želimo nista da menjamo. Za potrebe ovoga primera iskoristićemo sajt lorempixel.com da bi obezbedili slučajnu sliku.

Prvo moramo da kreiramo funkciju:

[php]
function random_picture($atts) {
extract(shortcode_atts(array(
'width' => 400,
'height' => 200,
), $atts));
return '<img alt="" src="http://lorempixel.com/'. $width . '/'. $height . '" />';
}
[/php]

Ovu funkciju smo nazvali random_picture, a s obzirom da će ovaj short kod biti u mogućnosti da prima argumente dodali smo $atts parametar. Da bi koristili atribute potrebne su nam dve funkcije: shortcode_atts koja je WordPress-ova funkcija koja kombinuje naše atribute sa poznatim atributima i popunjava ih sa podrazumevanim vrednostima kada je potrebno i extract PHP funkcija koja, kako joj i samo ime kaže izvalači te atribute koje smo postavili u short kodu.

Na kraju funkcija vraća vrednost koju želimo, u ovom slučaju HTML kod za našu sliku kombinovano sa varijablama za visinu i širinu.

Jedina stvar koja preostaje je da registrujete ovaj short kod:

[php]add_shortcode('picture', 'random_picture');[/php]

Naš short kod je spreman, kada ukucamo samo [picture] dobićemo sliku sa podrazumevanim dimenzijama 400 x 200px, a ako koristimo atribute možemo dobiti sliku bilo kojih dimenzija.

Zaključak

Kreiranje short kodova za stvari koje često koristimo može biti od koristi kada pišemo blog postove zbog toga što možete dodati sve što želite, od jednostavnih rečenica, formi, pa do liste poslednjih postova sortiranih po mesecima.

Jovan Ivezic

E-business and internet marketing specialist.