Neizrečeni problem kratkih kodova

The-Unspoken-Problem-of-Shortcodes

Kratki kodovi (shortcodes) jedan su od vrhunaca WordPressa. Kratki kodovi predstavljaju most između programera i kreatora web-mjesta, omogućujući korisnicima postavljanje složenih dijelova sadržaja gotovo kamo god požele. Autori dodataka vole kratke kodove jer im to pruža veću fleksibilnost u načinu na koji i gdje njihovi korisnici prikazuju svoj sadržaj.

Ako ne znate što su kratki kodovi i kako izgledaju, to su oni arhaični tekstovi nalik na kôd omotani uglatim zagradama. Izgledaju otprilike ovako:

Ovaj konkretni naziva se embed kratki kod i zadano je ugrađen u WordPress. Upravo ovaj ugrađuje videozapis s URL-a u vaš sadržaj. Samo kopirajte i zalijepite gornji kratki kod na svoje web-mjesto ako ga želite isprobati.

Iza kulisa događa se to da, kada WordPress naiđe na kratki kod u vašem sadržaju, on se obrađuje i pretvara u nešto drugo. U našem gornjem slučaju, kad god se otkrije

kratki kod, WordPress uzima URL iz kratkog koda i provjerava ga s nizom pružatelja sadržaja koje podržava. Kada ga pronađe, dohvaća odgovarajući iframe kôd za ugradnju i prikazuje njega umjesto poveznice.

U čemu je onda problem? Zvuči dovoljno jednostavno: samo unesete kratki tekst sa zagradama i gotovi ste.

Upoznajte Shortcode API..

Kratki kodovi u izobilju

Shortcode API otvara mogućnost izrade kratkih kodova programerima. Zahvaljujući tome, programeri mogu dodavati vlastite kratke kodove unutar svojih dodataka.

To je sjajno, sada uz samo jedan kratki isječak nalik na kôd (otuda i naziv „shortcode”), i početnici i napredni korisnici mogu postaviti praktički bilo koju vrstu sadržaja kamo god požele.

WordPress prema zadanim postavkama nudi tek nekolicinu kratkih kodova. Lako ih je upisati iz glave jer ih je svega nekoliko. No ako instalirate nekoliko dodataka, broj kratkih kodova brzo naraste na tucet ili više, a u nekim slučajevima i na više od stotinu. Svaki kratki kod ima vlastiti skup atributa i uputa o tome kako ga koristiti. Svaki dodatak najvjerojatnije ima neku vrstu dokumentacije o tome kako svi njegovi kratki kodovi funkcioniraju i navodi sve dostupne parametre za svaki od njih. No bili biste ludi kada biste pokušali zapamtiti sve kratke kodove i njihove atribute.

Problem je u tome što ne postoji središnje mjesto na kojem možete vidjeti sve kratke kodove dostupne na vašem web-mjestu i upute kako ih koristiti.

Neki pokušavaju riješiti problem

Neki dodaci pokušavaju riješiti ovaj problem prikazivanjem svih vlastitih kratkih kodova u lako dostupnom padajućem izborniku. Klikom na jedan od njih ispisao bi se kratki kod, zajedno sa svim mogućim atributima. Više ga nema potrebe pamtiti, što je odlična stvar.

Screen-Shot-2016-06-22-at-11.27.09-AM

Neki idu i korak dalje te dodaju skočni prozor s postavkama koji sadrži potvrdne okvire i alate za odabir boja kako bi popunili atribute kratkog koda.

Screen-Shot-2016-06-22-at-11.28.54-AM

Ovo rješenje donekle funkcionira. Međutim, svaki dodatak navodi isključivo vlastite kratke kodove. Pa ako svaki dodatak izradi vlastiti oblik birača kratkih kodova, neminovno ćete doći u situaciju da imate višestruke birače kratkih kodova na zaslonu (to mi se već dogodilo).

Screen-Shot-2016-06-22-at-11.22.41-AM

Drugim riječima, svaki dodatak vodi svoju politiku i implementira vlastito rješenje za svoje kratke kodove. Neki dodaci dodaju novi gumb pokraj gumba „Dodaj medij”, dok ga drugi smještaju unutar TinyMCE uređivača.

Stoga biste sada mogli pomisliti: „Zašto jednostavno ne prikupiti i kratke kodove drugih dodataka te ih također uvrstiti u taj padajući izbornik / birač kratkih kodova?” Upravo sam to i ja pomislio. No to je lakše reći nego učiniti. Objasnit ću zašto za koji trenutak, ali prvo pogledajmo kako bi izgledalo idealno rješenje.

Idealno rješenje

Savršen plan bio bi izraditi dodatak koji prikuplja sve dostupne kratke kodove na vašem web-mjestu, prikazuje vam njihov popis i pomaže vam ispuniti sve atribute. Svaki put kada instalirate novi dodatak, svi ti novouvedeni kratki kodovi također bi vam se automatski ponudili.

Zamislite središnje mjesto na kojem bi se nalazili svi vaši kratki kodovi radi lakšeg pristupa. Za svaki kratki kod bilo bi opisano što radi i kojem dodatku pripada. Zatim zamislite da za svaki dostupni atribut postoji jasna oznaka, odgovarajući način odabira vrijednosti i opis. Na raspolaganju bi vam bili padajući izbornici, birači boja, radio gumbi, sklopke i još mnogo toga.

Nešto takvo znatno bi olakšalo život nama kao kreatorima web-mjesta i sadržaja. Nema više pretraživanja raznoraznih dokumentacija ili različitih dijelova administracije samo kako biste kopirali generirani kratki kod za klizač (slider) koji želite upotrijebiti.

Kvaka

Nažalost, trenutno je prilično teško izvesti nešto takvo. Ne postoji pouzdan način da se saznaju sve pojedinosti o nekom kratkom kodu. Možete dobiti popis svih kratkih kodova, ali samo njihove stvarne oznake/nazive; ne možete dobiti nikakve dodatne pojedinosti o njima poput popisa atributa, što rade i kojeg su tipa – primjerice tekstualni niz (string), boja ili broj. Niti možete dobiti ikakav privid opisa za pojedini atribut.

Napomena programerima: da, postoji novododani treći argument za funkciju shortcode_atts, no on nije obavezan. Sve dok ga svaki autor dodataka na svijetu ne implementira, i dalje nećemo imati siguran način za određivanje svih atributa kratkog koda.

Shortcode API ne pruža nikakav mehanizam za dodavanje opisa kratkih kodova, određivanje tipova atributa ili opise atributa. A sve dok sam WordPress ne doda središnje sučelje za pristup kratkim kodovima, sumnjam da će takva mogućnost uopće biti stvorena.

Zaključak

Trenutno je zadatak organizacije kratkih kodova prepušten svakom pojedinom programeru. Sve dok se unutar WordPressa ne razvije centralizirana metoda, očekujte da ćete i dalje viđati više gumba „Dodaj kratki kod” u svojoj administraciji. Treba li nešto ovakvo dodati u samu jezgru WordPressa (WordPress Core) ili ne, posve je zasebna i opsežna rasprava.

Alternativa

Postoje dodaci za vizualno uređivanje stranica (page builder) koji ovom problemu pristupaju drugačije. Umjesto programskog otkrivanja kratkih kodova, oni nude mapere kratkih kodova u koje korisnici mogu ručno unijeti svaki detalj kratkog koda. Nakon što se to postavi, kratki kod postaje dostupan unutar alata za uređivanje. Iako  ovo funkcionira, ti su kratki kodovi dostupni isključivo na vašem web-mjestu.

Mi ovdje u Page Builder Sandwichu stvaramo rješenje koje bi, nadamo se, moglo riješiti ovu zavrzlamu s kratkim kodovima. Pretplatite se na naš bilten u nastavku kako biste bili obaviješteni o našem napretku.