WordPress REST API - okładka

Rzut okiem na WordPress REST API

Opublikowano Kategorie Backend, WordPressCzas czytania 3min

WordPress wraz z wersją 4.7 otrzymał REST API. Dzięki niemu, w łatwy sposób możemy uzyskać dane w formacie JSON z naszego systemu zarządzania treścią. Jest to świetna alternatywa dla motywów. Rozwiązanie to ma wiele zalet, ale też kilka wad, które teraz pokrótce opiszę.

Zalety WordPress REST API

Główną zaletą jest brak konieczności znajomości języka PHP. Nie korzystamy tu z żadnych funkcji, pętli etc. Jedyne co musimy podać to odpowiedni endpoint, który zwróci nam żądane dane. Co więcej, korzystanie z tego API jest dość proste i intuicyjne. Sytuacja, w której nie wiedziałem, jak skonstruować dany endpoint zdarzyła mi się raz. Kolejną zaletą jest to, że możemy osadzić naszego WordPressa na innym serwerze niż nasza aplikacja.

Wady WordPress REST API

Główną wadą korzystania z tego API jest bardzo mocno okrojona możliwość korzystania z głównej siły WordPressa, jaką są wtyczki. Oczywiście są wtyczki, które mają wsparcie dla tego rozwiązania — przykładem może być Advanced Custom Fields, gdzie do dyspozycji mamy pełne wsparcie dla API, ale zdecydowana większość wtyczek tego wsparcia nie posiada.

Wordpress REST API - Pływające logo

Jak zacząć korzystać z WordPress REST API?

Z WordPress REST API możesz rozpocząć korzystać zarówno z poziomu klasycznych klientów HTTP, jak i z poziomu kodu aplikacji. O tym, jak wykorzystać WordPress REST API w aplikacji JavaScript dowiesz się z artykułu o klientach HTTP w JavaScript.

Pierwsze zapytanie do REST API WordPressa

Aby zacząć korzystać z API, musimy znać ścieżkę do niego. Domyślną ścieżką w najnowszej wersji jest http://example.com/wp-json/wp/v2/. Być może zastanawiasz się dlaczego na końcu jest v2. Spowodowane jest to tym, że pierwsza wersja API została oznaczona jako deprecated, natomiast wciąż można z niej korzystać. Konwencja ta znana jest również jako wersjonowanie API.

Po skorzystaniu z wyżej podanej ścieżki otrzymamy swojego rodzaju cheat sheet, gdzie mamy opisane tak naprawdę wszystko, czego potrzebujemy, by skonstruować dowolny endpoint. Co więcej, informacje te dostępne są też w języku polskim!

Następnie podajemy, co konkretnie chcemy podać. Możemy na przykład żądać wpisów, kategorii, użytkowników, tagów, stron, a nawet komentarzy i taksonomii.

Gdy już wiemy jaki typ informacji chcemy otrzymać, możemy określić dodatkowe argumenty. Takie argumenty podajemy po znaku zapytania. Argumentem może być na przykład liczba wyników (domyślnie jest ustawione na 10), sortowanie, numer konkretnej strony z wynikami czy slug. Samych parametrów jest znacznie więcej, a dokładne opisy wszystkich znajdziesz w dokumentacji.

Inaczej wygląda sprawa, jeśli chodzi o ID. Ten parametr podajemy po ukośniku bez podawania nazwy parametru. Poniżej znajdziesz przykładowe endpointy.

Wordpress REST API - endpointy

Wpis ten skupia się głównie na odczytywaniu danych. Oczywiście możemy również w ten sposób publikować, aktualizować i usuwać dane. W przypadku aktualizowania i publikowania danych musimy podać zestaw danych w body zapytania.

Podsumowanie

Wiedząc już czym jest WordPress REST API najwyzszy czas wykorzystać je w praktyce. Zachęcam Cię do przetestowania omówionego API i podzielenia się odczuciami w komentarzach. Koniecznie sprawdź źródła i materiały dodatkowe, ponieważ znajdziesz tam sporo materiałów pomocnych w pracy z REST API.

Materiały dodatkowe i źródła

Dominik Szczepaniak

Zawodowo Senior Software Engineer w CKSource. Prywatnie bloger, fan włoskiej kuchni, miłośnik jazdy na rowerze i treningu siłowego.

Inne wpisy, które mogą Cię zainteresować

Zapisz się na mailing i odbierz e-booka

Zapisując się na mój mailing, otrzymasz darmowy egzemplarz e-booka 106 Pytań Rekrutacyjnych Junior JavaScript Developer! Będziesz też otrzymywać wartościowe treści i powiadomienia o nowych wpisach na skrzynkę e-mail.

Subscribe
Powiadom o
guest

2 komentarzy
oceniany
najnowszy najstarszy
Inline Feedbacks
View all comments
Piotr z blog.piotrnalepa.pl

Jeśli nie korzystamy z REST API WordPressa to warto go sobie zablokować, aby uniknąć włamań tamtą drogą.
Odnośnie używania WordPress REST API to kiedyś napisałem tekst u siebie na ten temat: https://blog.piotrnalepa.pl/2017/03/24/php-jak-zwiekszyc-wydajnosc-rest-api-wbudowanego-w-wordpress/

Dominik Szczepaniak
5 lat temu

Słuszna uwaga!