Rzut okiem na WordPress REST API

Posted on Categories Backend, WordPress

Słowem wstępu o WordPress REST API

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 tego API?

Sposobom na komunikację z API poświęciłem osobny, całkiem obszerny wpis. Omawiam tam także narzędzie do testowania API  – Postman. Jeśli jeszcze go nie przeczytałeś to zachęcam Cię do nadrobienia zaległości: Komunikacja z API.

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 deprecadted, natomiast wciąż można z niej korzystać.

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. Zdaję sobie sprawę, że brzmi to skomplikowanie, dlatego też zamieszczam przykładowe endpointy, aby rozwiać Twoje wątpliwości:

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.

Mam nadzieję że ten krótki wpis zachęcił Cię do skorzystania z REST API WordPressa.

Jeśli pominąłem jakiś ważny aspekt, napisz mi o tym w komentarzu!

Dominik Szczepaniak

Zawodowo Software Engineer w CKSource. Prywatnie bloger, fan włoskiej kuchnii, miłośnik jazdy na rowerze i treningu siłowego. Oprócz programowania, interesuję się tematami gospodarczymi, ekonomicznymi i inwestycjami na rynkach kapitałowych.

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

Zapisz się na mailing

Zapisując się na mój mailing będziesz otrzymywać wartościowe treści powiadomienia o najnowszych wpisach na skrzynkę email.

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
4 lat temu

Słuszna uwaga!