Przejdź do treści

WordPress REST API – kompletny przewodnik dla developerów i właścicieli stron

Opublikowano: 17 stycznia 2026 | Zaktualizowano: 29 marca 2026

WordPress REST API to most między Twoją stroną a całym światem aplikacji. Dzięki niemu możesz pobierać treści z WordPressa w dowolnej aplikacji mobilnej, łączyć sklep z systemem magazynowym albo zbudować błyskawiczny frontend w React czy Next.js. W tym przewodniku pokazuję konkretnie – od pierwszego zapytania GET, przez autoryzację, aż po tworzenie własnych endpointów i zabezpieczanie API przed nieautoryzowanym dostępem.

Krótka odpowiedź

WordPress REST API to wbudowany interfejs HTTP dostępny pod adresem /wp-json/wp/v2/. Pozwala pobierać posty (GET /posts), tworzyć nowe (POST), aktualizować (PUT/PATCH) i usuwać (DELETE).

Do odczytu publicznych danych nie potrzebujesz autoryzacji – operacje zapisu wymagają uwierzytelnienia przez Application Passwords, JWT lub OAuth. REST API działa domyślnie od wersji WordPress 4.7 i jest fundamentem podejścia headless WordPress.

Usługi KC Mobile

Sprawdź naszą ofertę

Potrzebujesz pomocy specjalisty? Skorzystaj z naszych usług i rozwiń swój biznes online.

Czym jest WordPress REST API i dlaczego warto je znać

REST API (Representational State Transfer Application Programming Interface) to sposób komunikacji między aplikacjami przez protokół HTTP. W kontekście WordPressa oznacza to, że Twoja strona udostępnia dane – posty, strony, media, użytkowników – w formacie JSON pod konkretnymi adresami URL.

Dlaczego to zmienia grę:
- WordPress przestaje być zamkniętym systemem – staje się platformą danych
- Możesz budować dowolny frontend (React, Vue, Next.js) zasilany treściami z WordPressa
- Integracje z CRM, systemami mailingowymi czy aplikacjami mobilnymi stają się proste
- Automatyzacja procesów – np. automatyczne publikowanie postów z zewnętrznego systemu

Jak to działa w praktyce:
Wpisz w przeglądarce adres swojej strony z dopiskiem `/wp-json/wp/v2/posts` – zobaczysz listę swoich postów w formacie JSON. To właśnie REST API w akcji. Każdy zasób (posty, strony, media) ma swój endpoint, a operacje wykonujesz przez standardowe metody HTTP: GET (pobieranie), POST (tworzenie), PUT/PATCH (aktualizacja), DELETE (usuwanie).

REST API jest wbudowane w WordPressa od wersji 4.7 i nie wymaga instalacji żadnych dodatkowych wtyczek. Używa go sam edytor Gutenberg, WooCommerce, Jetpack i dziesiątki innych popularnych rozwiązań.

Główne endpointy – co możesz pobrać i gdzie

WordPress REST API udostępnia endpointy dla wszystkich kluczowych typów treści. Bazowy adres to zawsze `twojadomena.pl/wp-json/wp/v2/`.

Endpointy treści:
- `/wp/v2/posts` – wpisy blogowe
- `/wp/v2/pages` – strony statyczne
- `/wp/v2/media` – pliki mediów (zdjęcia, filmy, dokumenty)
- `/wp/v2/comments` – komentarze

Endpointy taksonomii:
- `/wp/v2/categories` – kategorie wpisów
- `/wp/v2/tags` – tagi

Endpointy użytkowników:
- `/wp/v2/users` – lista użytkowników (publiczne profile)

Endpointy ustawień:
- `/wp/v2/settings` – ustawienia strony (wymaga autoryzacji)
- `/wp/v2/types` – zarejestrowane typy treści
- `/wp/v2/statuses` – statusy postów

Parametry filtrowania (query params):
- `per_page=10` – liczba wyników na stronę (max 100)
- `page=2` – numer strony paginacji
- `search=fraza` – wyszukiwanie pełnotekstowe
- `categories=5` – filtrowanie po ID kategorii
- `tags=12,15` – filtrowanie po tagach
- `orderby=date` – sortowanie (date, title, modified, id)
- `order=asc` – kierunek sortowania
- `status=draft` – filtr statusu (wymaga autoryzacji)
- `_fields=id,title,link` – ograniczenie zwracanych pól (optymalizacja)

Przykład praktyczny:

GET /wp-json/wp/v2/posts?per_page=5&categories=3&orderby=title&_fields=id,title,link

Ten request zwróci 5 postów z kategorii o ID 3, posortowanych po tytule, z ograniczonymi polami – idealne do szybkiego listingu na frontendzie.

Nagłówki odpowiedzi:
WordPress zwraca w nagłówkach HTTP przydatne informacje: `X-WP-Total` (łączna liczba wyników) i `X-WP-TotalPages` (liczba stron) – niezbędne do budowy paginacji.

Potrzebujesz profesjonalnej strony WordPress?

Tworzymy strony WordPress, które są szybkie, bezpieczne i zoptymalizowane pod SEO. Od 3000 zł.

Autoryzacja – jak bezpiecznie zapisywać dane przez API

Publiczne endpointy GET (posty, strony, kategorie) nie wymagają autoryzacji – każdy może je odczytać. Ale tworzenie, edycja i usuwanie treści wymaga uwierzytelnienia. WordPress obsługuje kilka metod autoryzacji.

Application Passwords (zalecane od WordPress 5.6+):
Najprostsza i najbezpieczniejsza metoda wbudowana w core WordPressa.
1. Przejdź do Użytkownicy → Twój profil
2. Sekcja Application Passwords → wpisz nazwę aplikacji
3. Kliknij Dodaj nowe hasło – skopiuj wygenerowany klucz
4. Użyj w nagłówku HTTP jako Basic Auth

const credentials = btoa('login:xxxx xxxx xxxx xxxx xxxx xxxx');
fetch('https://twojadomena.pl/wp-json/wp/v2/posts', {
  method: 'POST',
  headers: {
    'Content-Type': 'application/json',
    'Authorization': 'Basic ' + credentials
  },
  body: JSON.stringify({
    title: 'Nowy wpis przez API',
    content: '<p>Treść dodana automatycznie.</p>',
    status: 'draft'
  })
});

JWT (JSON Web Tokens):
Popularne w aplikacjach SPA i mobilnych. Wymaga wtyczki (np. JWT Authentication for WP REST API). Użytkownik loguje się raz, otrzymuje token i używa go w kolejnych zapytaniach. Token ma ograniczony czas życia, co zwiększa bezpieczeństwo.

OAuth 2.0:
Standard dla integracji z zewnętrznymi serwisami. Używany gdy dajesz dostęp aplikacji trzeciej strony bez udostępniania hasła. Wymaga dodatkowej konfiguracji i jest nadmiarowy dla prostych integracji.

Cookie Authentication:
Domyślna metoda dla zalogowanych użytkowników w panelu WordPress. Wymaga przesyłania nonce (`_wpnonce`) w każdym zapytaniu. Używana głównie przez Gutenberg i wtyczki działające w kontekście panelu admina.

Którą wybrać?
- Prosta integracja serwer-serwer → Application Passwords
- Aplikacja SPA/mobilna → JWT
- Integracja z zewnętrznym serwisem → OAuth 2.0
- Skrypt w panelu admina → Cookie + Nonce

Tworzenie własnych endpointów – rozszerzanie API

Domyślne endpointy nie zawsze wystarczą. WordPress pozwala rejestrować własne routes w REST API – to potężne narzędzie do budowania customowych funkcjonalności.

Podstawowy własny endpoint:

add_action('rest_api_init', function() {
    register_rest_route('mojaaplikacja/v1', '/statystyki', array(
        'methods'  => 'GET',
        'callback' => 'pobierz_statystyki',
        'permission_callback' => '__return_true'
    ));
});

function pobierz_statystyki() {
    $posty = wp_count_posts();
    $komentarze = wp_count_comments();
    return new WP_REST_Response(array(
        'posty_opublikowane' => $posty->publish,
        'komentarze' => $komentarze->approved,
        'ostatnia_aktualizacja' => current_time('mysql')
    ), 200);
}

Dostępny pod: `/wp-json/mojaaplikacja/v1/statystyki`

Endpoint z parametrami:

register_rest_route('mojaaplikacja/v1', '/produkty/(?P<kategoria>[\w-]+)', array(
    'methods'  => 'GET',
    'callback' => 'pobierz_produkty_kategorii',
    'permission_callback' => '__return_true',
    'args' => array(
        'kategoria' => array(
            'required' => true,
            'validate_callback' => function($param) {
                return is_string($param) && strlen($param) > 0;
            }
        )
    )
));

Endpoint z autoryzacją:

register_rest_route('mojaaplikacja/v1', '/ustawienia', array(
    'methods'  => 'POST',
    'callback' => 'zapisz_ustawienia',
    'permission_callback' => function() {
        return current_user_can('manage_options');
    }
));

Dobre praktyki:
- Zawsze definiuj `permission_callback` – nawet jeśli endpoint jest publiczny, użyj `__return_true`
- Używaj namespace z wersjonowaniem (np. `mojaaplikacja/v1`) – ułatwia zarządzanie zmianami
- Waliduj parametry wejściowe przez `validate_callback` i `sanitize_callback`
- Zwracaj odpowiednie kody HTTP (200, 201, 400, 403, 404)
- Rejestruj endpointy w osobnej wtyczce, nie w `functions.php` motywu

Bezpieczeństwo REST API – jak chronić swoją stronę

REST API otwiera Twoją stronę na zewnątrz, więc bezpieczeństwo to priorytet. Oto konkretne kroki, które powinieneś podjąć.

Ogranicz dostęp do endpointów użytkowników:
Domyślnie `/wp/v2/users` ujawnia loginy użytkowników. To potencjalny wektor ataku brute-force.

add_filter('rest_endpoints', function($endpoints) {
    if (isset($endpoints['/wp/v2/users'])) {
        unset($endpoints['/wp/v2/users']);
    }
    return $endpoints;
});

Wymuś HTTPS:
REST API przesyła dane (w tym tokeny autoryzacji) przez HTTP. Bez szyfrowania SSL każdy może przechwycić Twoje credentials. Certyfikat SSL to absolutne minimum.

Rate limiting:
Ogranicz liczbę zapytań do API, żeby zapobiec atakom DDoS i nadmiernemu obciążeniu serwera. Możesz to zrobić na poziomie serwera (nginx/Apache) lub przez wtyczkę bezpieczeństwa.

CORS (Cross-Origin Resource Sharing):
Kontroluj, które domeny mogą odpytywać Twoje API.

add_action('rest_api_init', function() {
    remove_filter('rest_pre_serve_request', 'rest_send_cors_headers');
    add_filter('rest_pre_serve_request', function($value) {
        header('Access-Control-Allow-Origin: https://twojafrontendowa-domena.pl');
        header('Access-Control-Allow-Methods: GET, POST, PUT, DELETE');
        header('Access-Control-Allow-Headers: Authorization, Content-Type');
        return $value;
    });
});

Dodatkowe zabezpieczenia:
- Regularnie aktualizuj WordPressa i wtyczki – łatki bezpieczeństwa często dotyczą właśnie API
- Loguj zapytania do API i monitoruj anomalie
- Nie eksponuj wrażliwych danych (np. maili użytkowników) w publicznych endpointach
- Używaj silnych Application Passwords i rotuj je regularnie
- Rozważ wyłączenie REST API dla niezalogowanych użytkowników, jeśli nie potrzebujesz publicznego dostępu

Headless WordPress – oddzielenie frontendu od backendu

Headless WordPress to podejście, w którym WordPress służy wyłącznie jako system zarządzania treścią (CMS), a cała warstwa prezentacji jest budowana w osobnej technologii. REST API jest mostem między tymi dwoma światami.

Jak to działa:
1. Redaktorzy tworzą i zarządzają treścią w panelu WordPress – tak jak zawsze
2. Frontend (React, Next.js, Vue, Nuxt) pobiera dane przez REST API (lub WPGraphQL)
3. Strona jest renderowana po stronie klienta (CSR) lub serwera (SSR/SSG)

Zalety headless WordPress:
- Wydajność – statycznie generowane strony ładują się błyskawicznie
- Bezpieczeństwo – frontend nie eksponuje panelu WordPress
- Elastyczność – możesz serwować te same treści na stronie, w aplikacji mobilnej i na digital signage
- Nowoczesny stack – React, TypeScript, Tailwind zamiast PHP i jQuery
- Skalowalność – frontend na CDN, WordPress na oddzielnym serwerze

Wady i wyzwania:
- Wyższy koszt developmentu – potrzebujesz developera frontendowego
- Utrata ekosystemu wtyczek WordPress (np. formularze, SEO w panelu)
- Preview treści wymaga dodatkowej konfiguracji
- Konieczność zarządzania dwoma środowiskami (frontend + backend)

Popularne stacki headless w 2026:
- Next.js + WordPress REST API – najczęstszy wybór, SSR/SSG out of the box
- Astro + WordPress – idealne dla stron contentowych, minimalne JavaScript
- Nuxt + WordPress – odpowiednik Next.js w ekosystemie Vue

Kiedy headless ma sens:
- Strona wymaga ekstremalnej wydajności (np. duży ruch, Core Web Vitals)
- Treść jest serwowana w wielu kanałach (web, mobile, kiosk)
- Zespół ma kompetencje frontendowe (React/Vue)

Kiedy zostać przy klasycznym WordPress:
- Budżet jest ograniczony
- Strona korzysta intensywnie z wtyczek (WooCommerce z wieloma rozszerzeniami)
- Klient sam zarządza stroną i potrzebuje prostoty

Praktyczne zastosowania REST API w biznesie

REST API to nie tylko zabawka dla developerów. Oto konkretne scenariusze biznesowe, w których API WordPressa rozwiązuje realne problemy.

Automatyzacja publikacji treści:
Piszesz artykuły w zewnętrznym systemie (np. headless CMS, Notion, Google Docs)? Przez API możesz automatycznie publikować je na WordPressie. Oszczędzasz czas na ręcznym kopiowaniu i formatowaniu.

Integracja z CRM i systemami mailingowymi:
Formularz na stronie WordPress wysyła dane przez API do Twojego CRM (np. HubSpot, Pipedrive). Nowy lead automatycznie trafia do lejka sprzedażowego i sekwencji mailowej.

Synchronizacja produktów:
Sklep WooCommerce automatycznie aktualizuje stany magazynowe i ceny z systemu ERP przez REST API. Koniec z ręcznym wklepywaniem zmian.

Dashboard z danymi ze strony:
Budujesz wewnętrzny panel, który pobiera statystyki ze strony – liczba postów, komentarzy, nowych zamówień – i prezentuje je w jednym miejscu.

Multi-site content distribution:
Jedna redakcja, wiele stron. Treść tworzona w centralnym WordPressie jest dystrybuowana przez API do satelickich stron w różnych domenach lub językach.

Aplikacje mobilne:
Aplikacja na iOS/Android pobiera treści z WordPressa przez REST API. Blog, portfolio, katalog produktów – wszystko dostępne natywnie na telefonie.

W KC Mobile regularnie wdrażamy integracje oparte o REST API – od prostych automatyzacji po pełne rozwiązania headless. Jeśli Twoja strona internetowa wymaga połączenia z zewnętrznymi systemami lub szukasz sposobów na automatyzację procesów, REST API to fundament, na którym można budować.

Wspomniane narzędzia

Postman Insomnia Next.js Astro Nuxt WPGraphQL WooCommerce Gutenberg

Potrzebujesz pomocy z WordPress?

Tworzymy i naprawiamy strony na WordPress. Optymalizacja prędkości, bezpieczeństwo, aktualizacje. 500+ zrealizowanych projektów.

Najczęściej zadawane pytania

Czy WordPress REST API jest włączone domyślnie?
Tak, REST API jest wbudowane w WordPressa od wersji 4.7 i działa bez żadnej dodatkowej konfiguracji. Nie zaleca się go wyłączać, ponieważ korzysta z niego edytor Gutenberg, WooCommerce i wiele popularnych wtyczek. Możesz natomiast ograniczyć dostęp do wybranych endpointów.
Czy REST API spowalnia stronę WordPress?
Samo REST API nie wpływa na szybkość strony dla zwykłych odwiedzających. Endpointy są wywoływane tylko wtedy, gdy ktoś lub coś wyśle do nich zapytanie. Problem może pojawić się przy bardzo dużej liczbie jednoczesnych zapytań – wtedy warto wdrożyć cache na poziomie serwera i rate limiting.
Jak wyłączyć REST API dla niezalogowanych użytkowników?
Możesz to zrobić jednym filtrem w functions.php: dodaj rest_authentication_errors i zwróć WP_Error dla niezalogowanych. Pamiętaj jednak, że zablokujesz wtedy publiczny dostęp do postów i stron przez API, co uniemożliwi działanie headless frontendu i niektórych wtyczek.
Czym się różni REST API od WPGraphQL?
REST API to wbudowane rozwiązanie oparte o endpointy HTTP – każdy zasób ma swój adres URL. WPGraphQL to wtyczka implementująca standard GraphQL, w którym wysyłasz jedno zapytanie i dokładnie określasz, jakie dane chcesz otrzymać. GraphQL jest wydajniejszy przy złożonych zapytaniach, ale wymaga dodatkowej instalacji i nauki.
Czy mogę używać REST API z WooCommerce?
Tak, WooCommerce ma własne rozszerzenie REST API z endpointami do produktów, zamówień, klientów, kuponów i raportów. Dostępne pod /wp-json/wc/v3/. Wymaga osobnych kluczy API (consumer key i secret), które generujesz w ustawieniach WooCommerce. To podstawa integracji sklepów z systemami ERP i magazynowymi.
Jak przetestować REST API bez pisania kodu?
Najprościej użyć narzędzia Postman lub Insomnia – pozwalają wysyłać zapytania HTTP z interfejsem graficznym. Dla szybkiego testu wystarczy przeglądarka: wpisz adres strony z dopiskiem /wp-json/wp/v2/posts i zobaczysz odpowiedź JSON. Do testowania autoryzacji potrzebujesz już Postmana lub podobnego narzędzia.
#wordpress#rest-api#api#headless#integracja#autoryzacja#bezpieczenstwo#endpointy#woocommerce
Zdjęcie autora: Krzysztof Czapnik
O autorze

Krzysztof Czapnik

CEO KC Mobile

20+ lat doświadczenia w digital marketingu i tworzeniu stron internetowych. Specjalizuję się w SEO, kampaniach Google Ads oraz budowaniu skutecznych strategii online dla firm z całej Polski.

Potrzebujesz pomocy?

Potrzebujesz profesjonalnej strony WordPress?

Tworzymy strony WordPress, które są szybkie, bezpieczne i zoptymalizowane pod SEO. Od 3000 zł.

Bezpłatna wycena