WordPress razvoj za početnike – prvi koraci

Učenje WordPressa može delovati kao izuzetno komplikovan i dug proces. Iako izuzetno dobro napisan i organizovan, WordPress Developers Documentation često ume da odbije početnike upravo zbog svoje obimnosti i kompleksnosti. A onda je tu i komplikovana terminologija – taksonomije, vidžeti, teme, dodaci, filteri, akcije, post tipovi, praćeno mnogobrojnim internim API-jima koje WordPress nudi.

Mnogi, koji žele da se okvirno upoznaju sa razvojem u WordPressu, nisu spremni da pročitaju stotine stranica dokumentacije niti da utroše dane i nedelje na to. Iz tog razloga, ovim tekstom počinjem kratak serijal tekstova koji će vam omogućiti baš to – upoznavanje sa osnovama WordPress razvoja.

U naredne četiri nedelje, kroz jednostavne primere, naučićete kako da samostalno napravite jednostavnu temu, dodatak, upravljate vižetima i menijima, ali i iskoristite integrisani REST API.

Ukoliko ste propustili neki od članaka u našem serijalu WordPress razvoj za početnike, ovde se nalazi kompletan spisak:

Kako WordPress radi?

Pre nego što se upustimo u sve ono što WordPress nudi, potrebno je da shvatimo kako on radi.

Najjednostavnije rečeno, WordPress se sastoji od tri osnovne komponente: osnove (core), tema i dodataka (plugins).

WordPress Core je skup funkcionalnosti koje su vam dostupne odmah nakon što instalirate WordPress. One uključuju kompletnu administraciju za upravljanje sadržajem sa jedne strane i ogroman broj funkcija i API-ja koji služe za proširivanje funkcionalnosti, sa druge strane.

Nakon što instalirate WordPress, možete da instalirate teme koje su odgovorne za prikaz sadržaja korisnicima i pružaju mogućnost interakcije sa sadržajem kroz odgovarajuće funkcionalnosti koje tema može da ima. Kada napravite neku stranicu ili napišete članak koristeći WordPress administraciju, kroz temu možete da oblikujete taj sadržaj i da diktirate pravila pod kojim će se prikazati korisnicima. WordPress u startu dolazi sa podrazumevanim temama koje poseduju minimum funkcionalnosti, ali možete i da napravite svoje u koje je moguće integrisati namenski dizajn.

Iako WordPress nudi jako mnogo funkcionalnosti u startu, uvek je potrebno još nešto. Tu na scenu stupaju dodaci (plugins). Zadatak dodataka je da prošire ili dopune postojeće funkcionalnosti koje WordPress nudi. Na primer, ako želite da dodate kontakt formu, možete da instalirate neki dodatak poput Contact Form 7, koji će olakšati proces pravljenja i kontrole formi na vašem sajtu.

Šta sve možete da razvijate?

Što se samog WordPress razvoja tiče, možete razvijati bilo koju od gore navedenih osnovnih komponenti. Međutim, bez obzira na to šta želite da uradite sa WordPressom, savetujem da se dobro upoznate sa svim delovima prateći sledeći redosled:

  1. Teme
  2. Dodaci
  3. REST API
  4. Core

Teme

Kada naučite kako teme rade, od kojih komponenti se sastoje i koja je dobra praksa koju treba pratiti u toku razvoja, bićete u mogućnosti da pravite sve od jednostavnih sajtova, do izuzetno kompleksnih dinamičkih prezentacija sa jako mnogo sadržaja.

Pored razvoja za potrebe trećih lica, postoje i mesta (ThemeForest, Mojo Marketplace) na kojima se teme prodaju, ali gde možete i sami da učestvujete sa svojim kreacijama. Koliko je ovo tržište veliko, govori i činjenica da je najprodavanija tema na ThemeForest-u prodata više od 1500 puta – to je čak $90.000 samo u jednoj nedelji.

Ukoliko želite da pronađete neke dobre primere tema i saznate šta je sve moguće uraditi sa njima, svakako preporučujem da posetite gore navedene prodavnice. Pored njih, nije loše da posetite i WordPress Theme Directory u kojem su sve teme besplatne.

Dodaci

Ukoliko frontend nije vaš “cup of tea”, uvek možete da razvijate dodatke i time proširite postojeće ili dodate kompletno nove funkcionalnosti. Kroz dodatke možete kontrolisati gotovo sve aspekte WordPressa što znači da su mogućnosti praktično beskonačne.

Kao i kod tema, i ovde postoji ogromno tržište i potražnja za kvalitetnim WordPress dodacima. CodeCanyon, koji se nalazi u sastavu ThemeForest platfome, verovatno je najveća prodavnica WordPress dodataka koja trenutno postoji. Iako se dodaci prodaju slabije nego teme, potražnja je i dalje jako velika, a samim tim i šansa za adekvatnu zaradu.

REST API

Kada savladate razvoj tema i dodataka, na red dolazi upoznavanje sa WordPress REST API-jem. REST API, kao svojevrstan interfejs, nudi vam mogućnost da sadržaj koji imate u okviru WordPressa preselite na neke druge platforme u vidu Android ili iOS aplikacija.

Nakon instalacije WordPressa, REST API je automatski aktivan sa predefinisanim endpoint-ima, ali pored njih možete da dodate i svoje uz punu kontrolu prava pristupa. Kroz REST API možete da povlačite sadržaj, ali i da ga dodajete, upravljate korisnicima, taksononimaja i sl.

Ukoliko želite da odete korak dalje, možete da iskoristite REST API za frontend i time kompletno izolujete WordPress.

Core

U razvoju WordPressa učestvuje izuzetno veliki broj ljudi. Postoje mnogi aspekti razvoja, koji nisu striktno vezani za pisanje programskog koda, već i za lokalizaciju, podršku i sl.

Čak iako nemate programerske veštine, možete se odmah priključiti i doprineti razvoju WordPressa, najčešće u domenu lokalizacije koja je izuzetno važna. Ukoliko pak posedujete programerske veštine, možete učestvovati u identifikovanju, verifkovanju i otklanjanju bagova korišćenjem WordPress Trac platforme.

Ukoliko ste pronašli bag – prijavite ga ili napišite zakrpu i objavite je. Ukoliko vaša prijava i rešenje prođu proces provere, kod može vrlo lako da postane sastavni deo WordPress Core-a.

WordPress hosting

Idealno rešenje za WordPress

Odaberi 100% optimizovan hosting za WordPress – dizajniran sa ciljem da tvoj WordPress sajt funkcioniše savršeno bilo da kreiraš blog, e-commerce prodavnicu ili prezentacioni sajt za sebe ili svoje klijente

Pogledaj ponudu
Mint Hosting

Šta morate da znate?

Iako, teoretski, možete da napravite funkcionalnu prezentaciju koristeći gotove WordPress teme i dodatke, za bilo kakvu dalju namensku nadogradnju ili razvoj potrebno je ipak da poznajete osnovne definisanog seta alata.

Osnovni set alata se sastoji iz poznavanja HTML-a, CSS-a, JavaScript-a i PHP-a. Poznavanje MySQL-a je svakako plus. Kada savladate osnove pomenutih jezika, na scenu stupaju i naprednije alatke poput Git-a, LESS/SASS, Webpack-a i sl.

Šta je HTML/CSS?

html css logoPrve stvari koje svakako morate da naučite kada je bilo kakav web razvoj u pitanju su HTML i CSS.

HTML vašem sajtu daje strukturu – na primer, kroz HTML određujete šta će biti naslov, lista ili gde će se neki element pojaviti.

CSS služi za stilizaciju vaše HTML strukture. Pod stilizacijom se podrazumeva definisanje veličina, boja i oblika elemenata, na primer veličina fonta paragrafa ili naslova, boja pozadine nekog bloka, širina sajta i sl.

CSS i HTML su izuzetno jednostavni za učenje, a dobro mesto za start je W3Schools.

Šta je PHP?

php logoPHP je stekao popularnost zbog svoje jednostavnosti i sintakse nasleđene iz programskog jezika C. Tokom vremena jezik se proširivao i sticao mogućnosti za objektno orijentisano programiranje, naročito od verzije 5.0. Nalikuje jeziku C++ u smislu što dozvoljava i čisto-proceduralno programiranje, ali istovremeno omogućava i korišćenje klasa i drugih koncepata objektno orijentisanog programiranja (nasleđivanje, apstraktne klase i metode, interfejse itd.).

Iako se PHP može koristiti za programiranje konzolnih aplikacija i grafičkih interfejsa (biblioteka PHP-GTK), njegova osnovna i glavna upotreba je u programiranju dinamičnih stranica na Internetu.

Program koji se napiše u PHP-u ne zahteva prevođenje (kompajliranje), nego se interpretira pri svakom izvršavanju. PHP interpretator može raditi po PHP CGI principu, odnosno tako što će interpretator postojati kao eksterna aplikacija, koja se poziva da izvrši datu skriptu svaki put kad bude zahtevana od nekog korisnika, a može biti instaliran i kao modul web-servisa. Druga varijanta je danas u najvećoj upotrebi jer pruža znatno veću brzinu izvršavanja — interpretator je na taj način uvek učitan u memoriju te se ne mora pozivati spoljašnji program.

W3Schools je dobro mesto za učenje PHP-a i savetujem da ga posetite.

Šta je JavaScript?

javascript logoJavaScript je dinamičan, slabo tipiziran i interpretiran programski jezik visokog nivoa. Standardizovan je po EKMASkript specifikaciji jezika. Pored HTML-a i CSS-a, Javaskript je jedna od tri vodeće tehnologije za definisanje sadržaja na Webu; većina web-sajtova koristi Javascript, a svi moderni web-čitači ga podržavaju bez potrebe za instaliranjem dodataka.

JavaScript je jezik zasnovan na prototipovima sa funkcijama prvog reda, što ga čini jezikom višestruke paradigme koji podržava objektno-orijentisani, imperativni i funkcionalni način programiranja. Sadrži API za rad sa tekstom, nizovima, datumima i regularnim izrazima, ali ne i ulazno/izlazne funkcionalnosti, kao što su povezivanje, skladištenje podataka ili grafičke funkcionalnosti, za šta se oslanja na okruženje u kome se izvršava.

JavaScript je najpopularniji skriptni jezik na internetu kojeg podržavaju svi poznatiji web pregledači. Neke primene JS su:

  • JavaScript daje HTML dizajnerima alat za programiranje – HTML autori obično nisu programeri, ali JavaScript je skriptni jezik sa veoma jednostavnom sintaksom,
  • JavaScript može da dinamički unese kod u HTML stranu,
  • JavaScript može da reaguje na događaje odnosno može da se podesi tako da se izvrši kad se nešto desi, npr. kad se strana učita ili kad korisnik klikne na HTML element,
  • JavaScript može da pročita ili ispiše HTML elemente, ali i da promeni sadržaj HTML elementa,
  • JavaScript može da se koristi za proveru ispravnosti unetih podataka pre nego što se pošalju serveru,
  • JavaScript može da se koristi za detektovanje browser-a korisnika – u zavisnosti od pretraživača, učitava se strana specijalno dizajnirana za taj pretraživač,
  • JavaScript može da se koristi za kreiranje kukija (cookies) – JavaScript može da se koristi za čuvanje i vraćanje informacija o računaru posetioca, itd.

Sa WordPress instalacijom dolazi trenutno najpopularnija biblioteka jQuery, koja se i dan danas koristi u milionima projekata na internetu zahvaljujući neverovatnoj količini dodatnih modula koji su napravljeni oko ove bilbioteke. Naravno, JavaScript je mnogo mnogo više od jedne bilbioteke i uložiti vreme u učenje samog jezika je izuzetno dobra ideja.

Šta je MySQL?

mysql logoMySQL je popularan u razvoju web aplikacija, naročito u kombinaciji “LAMP” (Linux-Apache-MySQL-PHP/Perl/Piton). Njegova popularnost se veže za popularnost PHP-а, koji se obično kombinuje sa MySQL-om. WordPress koristi MySQL za smeštanje podataka o korisnicima, člancima, stranama itd.

Sa WordPressom dolazi jako dobar set alata koji vam olakšavaju posao smeštanja i dohvatanja podataka iz baze. Ukoliko planirate da razvijate svoje dodatke može se desiti da ćete morati da pišete sopstvene MySQL upite, pa je poznavanje MySQL-a više nego preporučljivo.

Šta dalje?

Ukoliko ste stigli do kraja teksta, svaka čast! Ako ste početnik sve gore navedeno može delovati izuzetno komplikovano  i može jako brzo da vas obeshrabri. Nemojte odustati jer pre ili kasnije svako od nas ko se bavi razvojem je morao proći taj put.

Stoga, da biste se spremili za praćenje ovog serijala tekstova savetujem da:

  1. Unapredite svoje znanje HTML-a i CSS-a. Kao što sam već naveo, W3Schools je odlično mesto za start. Ukoliko poznajete osnove i želite da se oprobate u konkretnim primerima, Codecademy je definitivno sledeće mesto koje treba da posetite.
  2. Upoznajte se sa PHP-om. Bez osnovnog znanja PHP-a razvoj u WordPressu prosto nije moguć. PHP.net i W3Shcools su dobra mesta za start.
  3. Podesite lokalno okruženje za razvoj – neophodno je da instalirate Apace (ili nginx), PHP i MySQL. U zavisnosti od operativnog sistema koji koristite, pročitajte naše članke kako instalirati i podesiti razvojno okruženje na Windowsu i Mac OS sistemu.
  4. Odaberite dobar editor. Moja preporuka su Sublime Text ili Visual Studio Code.

 

Da li vam se dopao ovaj članak? Da li postoji nešto o čemu biste želeli da posebno pišemo kada je WordPress razvoj u pitanju? Ostavite komentar i uključite se u diskusiju!

2 komentara

  • sarajevo

    Hvala na tekstu, ipak kao neko ko 8 godina predaje web moram dati savjet – posto je tekst za pocetnike, rijecnik i objasnjenja trebas da prilagodis njima, dakle maksimalno uprostiti i jednostavnim rijecnikom ispricati pricu. Imao sam namjeru da ovaj tekst podijelim sa ljudima koji su trenutno kod mene na pocetnom kursu wordpressa medjutim veliki dio ovog teksta niko od njih ne bi shvatio. Ova recenica na primjer pocetniku nista ne znaci “JavaScript je dinamičan, slabo tipiziran i interpretiran programski jezik visokog nivoa. Standardizovan je po EKMASkript specifikaciji jezika.” osim sto ga moze uplasiti da se nikada ne upusti u JS. Svako dobro i hvala na trudu.

    • Ćao!

      Svestan sam činjenice da neki termini nisu baš skroz prevedeni na jezik početnika, ali ako izuzmemo deo sa JS, sve ostalo zaista jesste. Pored toga, tu je i linkovan tekst sa terminologijom za početnike i upravo taj članak može da pomogne oko boljeg razumevanja materije.

      Biće još dosta reči o svemu tome u narednim tekstovima pa će, verujem, mnoge stvari biti jasnije 🙂

Leave a Reply to Igor Hrček Cancel reply