REST API WordPressa — integracja z React i Next.js
Jak połączyć WordPress z nowoczesnym frontendem bez typowych pułapek? REST API, autentykacja, custom endpoints, cache i praktyczne przykłady z Next.js.
Od razu powinieneś wiedzieć, że WordPress to nie tylko PHP i szablony, ponieważ od wersji 4.7 ma wbudowane REST API to interfejs udostępniający dane przez standardowe metody HTTP (GET, POST...) pod adresami zasobów — w WordPressie domyślnie pod /wp-json/., dzięki któremu może funkcjonować jako headless CMS, czyli Content Management System, to system do zarządzania treścią bez ręcznej edycji kodu.. Backend w WordPressie, podczas gdy frontend istnieje w React lub Next.js to w wielu projektach sensowne rozwiązanie.
W odpowiedzi otrzymujemy czyste dane, które są idealne dla frontendu działającego na JavaScript.
Wbudowane endpointy
WordPress udostępnia domyślnie:
Endpoint
Metody
Opis
/wp/v2/posts
GET, POST, PUT, DELETE
Posty
/wp/v2/pages
GET, POST, PUT, DELETE
Strony
/wp/v2/media
GET, POST, PUT, DELETE
Media
/wp/v2/categories
GET, POST, PUT, DELETE
Kategorie
/wp/v2/tags
GET, POST, PUT, DELETE
Tagi
/wp/v2/users
GET, POST, PUT, DELETE
Użytkownicy
/wp/v2/comments
GET, POST, PUT, DELETE
Komentarze
Przy listingach zwróć uwagę na nagłówki odpowiedzi X-WP-Total i X-WP-TotalPages — to z nich budujesz paginację po stronie klienta. Sam JSON zwraca tylko bieżącą stronę.
Parametr _embed jest flagą — wystarczy jego obecność (?_embed), wartość true jest ignorowana po stronie serwera, choć zadziała. W dalszych przykładach używam _embed=true dla czytelności w URLSearchParams.
Konfiguracja WordPress
1. Permalinki
REST API wymaga ładnych permalinków:
Code
Ustawienia → Bezpośrednie odnośniki → Nazwa wpisu (lub dowolne inne niż "Prosty")
Najważniejsze: dopuszczaj tylko adresy domen, którym ufasz (np. własny frontend), i nigdy nie pozwalaj „każdemu” (*) na zapytania z ciasteczkami logowania — to dwie zasady, które realnie chronią przed kradzieżą sesji użytkowników.
3. Ukrycie wrażliwych danych
Nie zakładaj, że każde pole z odpowiedzi powinno być publiczne. Jeśli wystawiasz własne endpointy albo pola użytkowników, jawnie ograniczaj dane:
To rozwiązanie jest sensowne głównie dla połączeń pomiędzy serwerami (np. Twój backend Next.js rozmawia z WordPressem) albo dla zaplecza redakcyjnego. Nie wysyłaj takich danych uwierzytelniających do publicznego klienta w przeglądarce.
JWT (z wtyczką)
Zainstaluj wtyczkę "JWT Authentication for WP REST API":
// Transient API dla kosztownych operacjifunction get_featured_posts_cached() { $cached = get_transient('featured_posts'); if ($cached !== false) { return $cached; } $posts = expensive_query_here(); set_transient('featured_posts', $posts, HOUR_IN_SECONDS); return $posts;}
Porównanie: REST API vs GraphQL (WPGraphQL)
Aspekt
REST API
WPGraphQL
Instalacja
Wbudowane
Wymaga wtyczki
Elastyczność zapytań
Ograniczona
Pełna
Pobieranie zbędnych pól
Tak (overfetching)
Nie
Próg wejścia
Niższy
Wyższy
Dostępne narzędzia
Standardowe (fetch)
Apollo, urql
Cache
Standardowy HTTP
Wymaga konfiguracji
Dla prostych projektów REST API wystarczy, ale już dla bardziej złożonych projektów warto używać WPGraphQL.
Często zadawane pytania
O autorze
Maciej Sala
Maciej Sala — Product Manager i Frontend Developer z bogatym doświadczeniem w marketingu internetowym oraz SEO. Na co dzień pracuje z Reactem, Next.js i TypeScriptem, a ostatnio także z Astro i narzędziami do automatyzacji procesów AI. Sprawnie łączy perspektywę produktową z praktycznym podejściem do kodu. Przez kilka lat był związany z branżą gier wideo jako project manager i game designer. Absolwent historii na Uniwersytecie Jagiellońskim oraz studiów podyplomowych z marketingu internetowego na AGH w Krakowie. Po godzinach trenuje na siłowni, maluje figurki i rozwija własne projekty side-projecty.
Next.js vs WordPress w 2026 — obiektywne porównanie dla firm, freelancerów i agencji. Wydajność, SEO, bezpieczeństwo, koszty, łatwość edycji — kiedy który wybrać i dlaczego.
Praktyczny przewodnik po projektowaniu REST API. Konwencje URL, metody HTTP, błędy, wersjonowanie, paginacja i kilka ważnych niuansów, które zwykle pomija się w prostych tutorialach.