WordPress REST API - Šta je i čemu služi? Idi do glavnog sadržaja

WordPress REST API – Šta je i čemu služi?

Poslednjih nekoliko godina WordPress je dobio veliki broj unapređenja, a jedna od najznačajnijih funkcionalnosti je WordPress REST API. Zahvaljući njemu WordPress danas može da služi i kao kompletan backend koji skladišti, obrađuje i isporučuje podatke različitim aplikacijama.

Tako WordPress bez problema opslužuje moderne JavaScript front-end aplikacije, mobilne aplikacije, interne poslovne alate i čak potpuno headless sajtove.

Zato ćemo u ovom tekstu detaljno objasniti kako funkcioniše REST API, kako se priprema okruženje, kako izgleda rad sa GET, POST, PUT i DELETE metodama, na koji način se prave sopstveni endpointi, koje su najčešće upotrebe u praksi i koje su preporučene smernice za njegovu upotrebu.

Pre nego što pređemo na konkretna objašnjenja, važno je da napomenemo da savremene aplikacije retko kada preuzimaju gotove HTML stranice. Umesto toga, traže čiste podatke koje mogu da prikažu na svoj način. Frontend aplikacije, mobilne aplikacije, poslovni sistemi i različiti automatizovani servisi najbolje rade kada dobijaju sadržaj u obliku strukturiranih podataka.

Upravo to omogućava WordPress REST API.

Umesto da generiše kompletne stranice, WordPress u ovom modelu postaje izvor podataka koji drugi sistemi mogu da koriste za sopstveni prikaz i logiku. Zbog toga WordPress sve češće služi kao pouzdana osnova za savremene i fleksibilne aplikacije.

Šta je WordPress REST API i zašto postoji

WordPress REST API je interfejs koji omogućava da se WordPress sadržajem upravlja pozadinski, bez otvaranja admin panela i bez korišćenja klasičnih tema. Komunikacija se odvija putem HTTP zahteva, a podaci se razmenjuju u JSON formatu, koji je već dugo vremena standard za moderni web.

Drugim rečima, WordPress REST API omogućava vašim eksternim aplikacijama da čitaju i menjaju podatke u WordPressu bez direktnog pristupanja WordPressu kao korisnik.

To znači da možete:

  • kreirati React ili Next.js frontend koji koristi WordPress kao backend,
  • razviti mobilnu aplikaciju koja povlači tekstove, proizvode i druge podatke,
  • integrisati WordPress sa ERP, CRM ili drugim poslovnim sistemima,
  • automatizovati objave, obradu sadržaja i sinhronizaciju između više platformi,
  • razviti sopstveni plugin koji izlaže specifične API putanje.

U praksi, REST API WordPressu daje ulogu pravog web servisa. Umesto da frontend i backend budu čvrsto povezani, sada mogu da postoje potpuno odvojeno. To donosi veću fleksibilnost, bolje performanse, a developerima omogućava da koriste moderne alate bez ograničenja klasičnog WordPress templating sistema.

Prednost je u tome što API radi potpuno nezavisno od izgleda vašeg WordPress sajta. Tema i dizajn nemaju uticaj na API odgovore, jer API radi isključivo sa podacima, a ne sa HTML-om.

Kako WordPress REST API funkcioniše

REST je arhitektura koja se oslanja na jasno definisane rute i metode, a WordPress zahvaljujući svom API sloju izlaže te rute i povezuje ih sa funkcijama u pozadini.

API zahtevi rade po jednostavnom principu:

  1. Vaša aplikacija šalje HTTP zahtev (GET, POST, PUT, DELETE)
  2. WordPress prosleđuje zahtev odgovarajućoj ruti
  3. Ruta komunicira sa bazom
  4. WordPress šalje odgovor u JSON formatu

Primer rute koja vraća sve stranice:
https://mojdomen.co.rs/wp-json/wp/v2/pages

WordPress vraća JSON koji sadrži listu svih stranica sa ID vrednostima, naslovima, statusima, sadržajem i meta podacima.

Zahtevi se vrše standardnim HTTP metodama:

  • GET – dohvatanje podataka iz baze
  • POST – kreiranje novog sadržaja
  • PUT – ažuriranje postojećeg sadržaja
  • DELETE – brisanje sadržaja

Ovo WordPress REST API čini univerzalnim. Bilo koja aplikacija koja zna da šalje HTTP zahteve može da komunicira sa WordPressom.

Imajte u vidu da API nikada ne generiše HTML. Uvek vraća strukturiran JSON. Zato React, Next.js, Flutter ili bilo koji drugi sistem može bez ikakvog WordPress znanja da radi sa ovim podacima. To je jedan od razloga zašto je headless koncept toliko popularan.

Kako proveriti da li je REST API uključen

REST API je podrazumevano uključen u WordPress 4.7 i svim novijim verzijama.

Najjednostavnija provera je da u browser unesete:
https://mojdomen.co.rs/wp-json/

Ako vidite JSON strukturu sa listom ruta, API radi.

Ako vam se umesto toga pojavi greška, moguće je da neki sigurnosni plugin blokira API, ili da server ima ograničenja, pa se preporučuje da tada proverite podešavanja.

Kako podesiti okruženje za rad sa WordPress REST API-jem

Za testiranje API-ja ili razvoj integracija potrebno je pripremiti osnovno okruženje.

1. Instalirajte cURL ili koristite Postman

cURL je najjednostavniji način da testirate API pozive iz terminala.

Primer:

curl -X GET https://mojdomen.co.rs/wp-json/wp/v2/posts

Ako preferirate vizuelno okruženje, Postman je mnogo lakši za čitanje odgovora i testiranje.

Postman jasno prikazuje i zaglavlja zahteva, kolačiće, statusne kodove i omogućava izgradnju kompletnih kolekcija API poziva. Za korisnike koji se prvi put susreću sa API konceptom, Postman je prijatniji i lakši za razumevanje.

2. Omogućite autentikaciju

Javni sadržaj kao što su objavljeni blog postovi ne zahteva autentikaciju. Sve ostalo, uključujući kreiranje, menjanje i brisanje sadržaja, zahteva bezbednosni mehanizam.

Najčešći načini autentikacije:

  • Basic Auth
  • JWT
  • OAuth 2.0
  • Cookie Auth

Ako razvijate mobilnu aplikaciju ili headless frontend, najbolji izbor su JWT ili OAuth 2.0.
– Basic Auth se koristi uglavnom u okruženju za razvoj, jer u produkciji zahteva HTTPS i nije toliko bezbedan.
– JWT je jednostavan i brz, jer nakon logovanja korisnik dobija token koji se šalje u svakom narednom zahtevu.
– OAuth 2.0 je standard za veće sisteme i daje najviši nivo kontrole nad privilegijama korisnika i aplikacija.

Kako raditi sa WordPress REST API-jem

Četiri osnovne metode su GET, POST, PUT i DELETE. U nastavku su dodatna objašnjenja za svaku.

GET – šta zapravo radi i kako izgleda odgovor

GET je metoda koja samo čita podatke. Ne menja bazu i zato je najbezbedniji način za početak rada sa API-jem.

Primeri GET ruta:

  • svi postovi
    https://mojdomen.co.rs/wp-json/wp/v2/posts
  • sve stranice
    https://mojdomen.co.rs/wp-json/wp/v2/pages
  • custom postovi
    https://mojdomen.co.rs/wp-json/wp/v2/proizvodi

Sortiranje:
/wp-json/wp/v2/posts?orderby=date&order=desc

Paginacija:
/wp-json/wp/v2/posts?page=2&per_page=10

Kada WordPress primi GET zahtev, u pozadini se dogodi sledeće:

  1. Proveri koje parametre ste poslali
  2. Iz baze preuzme odgovarajuće podatke
  3. Pretvori ih u JSON format
  4. Pošalje ih vašoj aplikaciji

Tipičan JSON odgovor izgleda ovako:

[

  {

    "id": 21,

    "date": "2025-03-02T10:15:00",

    "title": { "rendered": "Naslov objave" },

    "content": { "rendered": "<p>Ovo je sadržaj…</p>" },

    "excerpt": { "rendered": "Kratak opis…" }

  }

]

U headless aplikacijama frontend uzme ovaj JSON i prikazuje ga kao listu kartica, blog sekciju ili proizvode. Prednost je u tome što potpuno kontrolišete prikaz, ne zavisite od WordPress teme i sve radi mnogo brže.

POST – kako WordPress obrađuje nove sadržaje

POST metoda kreira novi sadržaj. Da biste je koristili, morate biti autorizovani, jer WordPress neće dozvoliti anonimno kreiranje objava.

Primer zahteva:

POST https://mojdomen.co.rs/wp-json/wp/v2/posts

Telo zahteva:

{

  "title": "Novi API post",

  "content": "Ovo je sadržaj dodat putem REST API-ja.",

  "status": "publish"

}

Kada WordPress primi POST zahtev, on:

  1. proverava vaše privilegije
  2. čisti sadržaj radi bezbednosti
  3. ubacuje novi zapis u bazu
  4. vraća JSON odgovor sa detaljima o novom postu

Na primer:

{

  "id": 150,

  "title": { "rendered": "Novi API post" },

  "status": "publish"

}

Ovo je korisno kada želite da automatizujete objave, da omogućite korisnicima da kreiraju sadržaj putem aplikacije, ili kada imate drugi sistem koji sinhronizuje podatke sa WordPressom. Sve radi tiho u pozadini, bez potrebe da se neko loguje u WordPress admin.

PUT – kako se ažuriraju postojeći podaci

PUT metoda menja sadržaj koji već postoji.

Primer:

PUT https://mojdomen.co.rs/wp-json/wp/v2/posts/55

Telo:

{

  "content": "Ovo je ažurirani tekst."

}

U pozadini, WordPress:

  1. proverava dozvole
  2. preuzima postojeći sadržaj
  3. menja samo ono što ste poslali u telu zahteva
  4. vraća JSON sa izmenjenim vrednostima

PUT se koristi za uređivanje objava, menjanje kategorija, ažuriranje slika, menjanje meta polja i sve druge promene koje biste inače radili u WordPress editoru.

DELETE – brisanje sadržaja preko API-ja

DELETE https://mojdomen.co.rs/wp-json/wp/v2/posts/55

Ovo premesti objavu u korpu.

Trajno brisanje:

DELETE https://mojdomen.co.rs/wp-json/wp/v2/posts/55?force=true

DELETE je najosetljivija metoda, jer može dovesti do gubitka podataka. Zbog toga se koristi samo sa punim pristupom i najčešće uz zaštitu na nivou tokena ili korisničkih privilegija.

Kreiranje sopstvenih REST API ruta

WordPress ima mnogo ugrađenih ruta, ali neretko je potrebno kreirati svoje.

Primer jednostavnog endpointa:

add_action('rest_api_init', function () {

    register_rest_route('custom/v1', '/test', [

        'methods'  => 'GET',

        'callback' => 'my_custom_endpoint'

    ]);

});

function my_custom_endpoint() {

    return [

        'status' => 'ok',

        'message' => 'Custom endpoint radi.'

    ];

}

Složeniji primer:

add_action('rest_api_init', function () {

    register_rest_route('custom/v1', '/form-submissions', [

        'methods'  => 'GET',

        'callback' => 'get_form_submissions',

    ]);

});

function get_form_submissions() {

    $posts = get_posts([

        'post_type' => 'form_submission',

        'posts_per_page' => -1,

    ]);

    $data = [];

    foreach ($posts as $post) {

        $data[] = [

            'id'    => $post->ID,

            'title' => $post->post_title,

            'content' => $post->post_content,

            'author' => $post->post_author,

            'created_at' => $post->post_date

        ];

    }

    return $data;

}

Custom API rute su naročito korisne kada vam treba kontrolisana struktura podataka. Na primer, možda želite da frontend dobije samo tri polja iz postova, bez nepotrebnih informacija. Ili pravite sopstveni sistem za prijave, rezervacije, popunjavanje formi itd. Sve to je mnogo lakše uraditi kada imate svoj API endpoint.

Autentikacija

  • Cookie Auth – koristi se kada su korisnici već ulogovani u WordPress
  • Basic Auth – jednostavno, pogodno za razvoj
  • JWT – idealno za aplikacije koje nisu deo WordPressa
  • OAuth 2.0 – najbezbedniji izbor za produkciju

Najviše se koristi JWT jer pruža dobar balans između jednostavnosti i bezbednosti. OAuth je standard za veće i složenije sisteme gde treba precizno definisati privilegije.

Primeri upotrebe WordPress REST API-ja

REST API se koristi u velikom broju realnih scenarija:

1. Headless WordPress

Frontend je potpuno odvojen od WordPressa. Recimo, imate Next.js aplikaciju koja preuzima sadržaj preko API-ja i prikazuje ga kao vizuelno moderan sajt. WordPress služi samo kao baza i alat za uređivanje sadržaja. Prednost je u tome što frontend može biti neverovatno brz i potpuno prilagođen, bez ograničenja WordPress tema.

2. Mobilne aplikacije

WordPress postaje backend za mobilnu aplikaciju. Na primer, mobilna aplikacija može povlačiti vesti, galerije, proizvode, komentare ili bilo koji sadržaj iz WordPress baze.
Sve što vidite u aplikaciji zapravo dolazi iz API-ja.

3. WooCommerce automatizacija

  • automatsko ažuriranje lagera
  • sinhronizacija porudžbina sa ERP-om
  • ažuriranje cena
  • izmena inventara

Ovo je posebno korisno za firme koje imaju više prodajnih kanala i žele da objedine podatke.

4. Interni administrativni paneli

Možete napraviti potpuno drugačiji admin panel, koji izgleda moderno i jednostavno, ali koristi WordPress REST API za sve operacije. Na primer, panel za zaposlene koji ne moraju da ulaze u WordPress admin.

5. Prikazivanje sadržaja na drugim sajtovima

Ako imate mrežu sajtova, API može služiti za deljenje sadržaja između njih.
Na primer, glavni sajt objavi vest, a ostali automatski preuzmu položaj sadržaja preko API-ja.

6. Automatizacije objavljivanja

Drugi sistemi, kao što su analitičke platforme, novinski alati ili aplikacije za zakazivanje objava, mogu automatski slati sadržaj u WordPress.

Najbolje prakse za rad sa WordPress REST API-jem

  • koristite sigurnu autentikaciju
  • sanitizujte ulazne podatke
  • keširajte odgovore
  • smanjite broj API poziva
  • redovno ažurirajte WordPress i pluginove
  • uvek koristite HTTPS

Keširanje API odgovora drastično smanjuje broj upita prema serveru i čini aplikacije mnogo bržim.Takođe, ažuriranje WordPressa i sigurnosnih pluginova direktno utiče na stabilnost API-ja.

Zaključak

Kao što ste videli, WordPress REST API je postao ključni deo modernog WordPress razvoja. Uz pravilnu upotrebu, on je bezbedan, brz i fleksibilan, i omogućava izgradnju naprednih sistema kao što su headless sajtovi, mobilne aplikacije, WooCommerce integracije i interni poslovni alati.

REST API WordPress predstavlja mnogo više od platforme za objave: on ga pretvara u ozbiljan backend. Kada naučite da ga koristite, dobijate otvorena vrata za razvoj savremenih aplikacija i sistema koji predstavljaju osnov savremenog weba.

Nenad Mihajlović


Ostavite odgovor