Wprowadzenie do interfejsu API REST WordPress
Opublikowany: 2022-10-19W grudniu 2016 r., wraz z wydaniem WordPress 4.7, nastąpił długo dyskutowany kamień milowy: interfejs WordPress REST API został oficjalnie włączony jako część WordPress Core.
Chociaż interfejs API REST istniał jako wtyczka przed oficjalnym połączeniem z rdzeniem, jego późniejsze włączenie wywołało sporo debaty, przy czym argumentowano zarówno za jego włączeniem, jak i za potrzebą dalszych testów.
Ostatecznie interfejs API REST został włączony do Core i teraz obsługuje edytor bloków, a także wiele integracji i interfejsów innych firm z witrynami WordPress w Internecie.
Jednak dla wielu użytkowników WordPress był to pierwszy raz, kiedy słyszeli o jakimkolwiek interfejsie API REST, nie mówiąc już o tak ściśle zintegrowanym z WordPress.
Dlatego w tym artykule przyjrzymy się, czym jest interfejs API REST, w jaki sposób interfejs API REST WordPress jest wyjątkowy, a także przyjrzymy się kilku przykładom jego działania i niektórym rodzajom technologii, które są włączone teraz, gdy są zawarte w WordPress Rdzeń.
Co to jest interfejs API REST?
Termin API REST to w rzeczywistości dwa akronimy w jednym i oba są ważne, aby zrozumieć, jak działa interfejs API REST WordPress i co robi.
Co to jest ODPOCZYNEK?
Pierwsza część, REST, oznacza REpresentational State Transfer. Mówiąc najprościej, jak to możliwe, jest to specyfikacja określająca, w jaki sposób dwa oddzielne zasoby w sieci powinny się ze sobą komunikować. Tymi dwoma interfejsami mogą być dwie różne strony internetowe, serwer WWW, aplikacja mobilna i wiele więcej.
Usługa zgodna z tą specyfikacją jest często określana jako usługa RESTful i działa w celu zapewnienia, że klient żądający informacji nie musi nic wiedzieć o stanie serwera ani o tym, w jaki sposób klient i serwer mogą być bardziej modułowe i oddzielne niż w przypadku innych metody przesyłania danych w Internecie.
Zasadniczo, jeśli programista wie, że wchodzi w interakcję z usługą RESTful, może przyjąć pewne założenia dotyczące formatowania żądań i rodzaju danych, które otrzyma w zamian, co jest bardzo pomocne przy opracowywaniu połączonych technologii.
Jeśli chcesz zagłębić się w to, co dokładnie składa się na usługę RESTful i jak tworzone są tego typu żądania, gorąco polecam zapoznanie się z artykułem Codecademy zatytułowanym Czym jest REST?
Co to jest interfejs API?
API to skrót od Application Programming Interface i, jak sama nazwa wskazuje, zapewnia interfejs dla innych klientów i usług w sieci w celu interakcji z określoną aplikacją. Określa punkty końcowe, zwykle adresy URL, do których dane mogą być wysyłane, czy te adresy URL zwracają jakiekolwiek dane lub tworzą zasoby na serwerze oraz czy wymagany jest jakiś szczególny rodzaj uwierzytelnienia, aby uzyskać dostęp do tych punktów końcowych.
W przypadku wielu popularnych obecnie usług internetowych interfejsy API zapewniają zautomatyzowany sposób robienia tego, co użytkownik mógłby zrobić ręcznie, umożliwiając skryptowi lub fragmentowi kodu wykonanie tej samej czynności, gdy użytkownik jest obecny. Na przykład, jeśli korzystasz z Reddita i zauważysz, że piszesz ten sam komentarz w wielu przeglądanych wątkach, możesz stworzyć skrypt, który przeszukiwał Reddita w poszukiwaniu tego typu komentarzy i automatycznie publikował Twoją standardową odpowiedź za pośrednictwem interfejsu API Reddita.
Ujawniając swoją infrastrukturę za pośrednictwem interfejsu API, użytkownicy nie muszą polegać na kruchych metodach skrobania sieci w celu automatyzacji tego rodzaju zadań, a Reddit może śledzić, kto uzyskuje dostęp do ich zasobów za pośrednictwem interfejsu API, jak często to robi, i kontrolować do użytku niezgodnego z ich warunkami świadczenia usług.
Dlaczego WordPress potrzebował REST API?
Jeśli kiedykolwiek wysyłałeś żądania podobne do API do WordPressa, zanim API REST było częścią Core, być może znasz koncepcję admin-ajax. To był oryginalny sposób wysyłania takich żądań w WordPress, gdzie każde żądanie było kierowane przez plik admin-ajax.php, sprawdzane pod kątem konkretnych działań, które zarejestrowali twórcy aktywnych wtyczek lub motywów, a następnie używało tych zarejestrowanych funkcji do spełnić prośby.
Jak można się było spodziewać, oznaczało to, że każdy programista, który korzystał z żądań podobnych do API, włączył tę funkcjonalność jako część swojej wtyczki lub motywu, zrobił to nieco inaczej i każdy, kto chciał wejść w interakcję z tą funkcją, musiał zapoznać się z tym, jak każda wtyczka lub motyw była wybudowany. Interfejs API REST WordPress został wprowadzony w celu ujednolicenia sposobu wykonywania tych żądań i zapewnienia znacznie szerszego zestawu punktów końcowych, które można wykorzystać do interakcji z samym rdzeniem WordPress.
Przykładowe żądanie do WordPress REST API
Podręcznik API REST WordPress zawiera pełną listę punktów końcowych, które są obsługiwane w interfejsie API REST WordPress od razu po wyjęciu z pudełka. I chociaż wspaniale jest mieć pełną listę, może to być nieco przytłaczające. Przyjrzyjmy się temu, co można uznać za najbardziej podstawową funkcjonalność dowolnej interakcji API: pobieranie podstawowego zasobu API. W przypadku WordPressa ten zasób jest publikowany.
Wszystkie punkty końcowe interfejsu API REST WordPress są poprzedzone ścieżką URL wp-json
między domeną główną a tym, co Podręcznik interfejsu API REST określa jako Base Route
. Oznacza to, że jeśli uzyskujemy dostęp do punktu końcowego w celu wyświetlenia listy postów witryny, a adres URL naszej witryny to example.com
, musielibyśmy wysłać żądanie do adresu URL https://example.com/wp-json/wp/v2/posts
.
Wykonanie żądania GET, po prostu ładując ten adres URL w ulubionej przeglądarce internetowej lub za pomocą przeglądarki API, takiej jak Postman, powinno zwrócić listę postów z interfejsu API, chociaż mogą one nie mieć formatu, z którego korzystasz Do. Jeśli wszystko, co widzisz, to jeden długi ciąg tekstu, patrzysz na format danych znany jako JSON. Jeśli uzyskujesz dostęp do punktu końcowego interfejsu API przez przeglądarkę i chcesz zobaczyć te informacje w bardziej czytelnym formacie, polecam zainstalowanie rozszerzenia JSON Viewer. To wykryje wszelkie dane wyjściowe w przeglądarce, które są w formacie JSON, i sformatuje je, abyś mógł je łatwiej odczytać. Po zainstalowaniu tego powinieneś zobaczyć dane wyjściowe z WordPress REST API i pomyślnie wykonałeś swoje pierwsze żądanie REST API!
Co jeszcze potrafi WordPress REST API?
Poza pobieraniem listy najnowszych postów w witrynie WordPress, patrząc na Endpoint Reference, zobaczysz, że istnieje mnóstwo innych sposobów interakcji z WordPress REST API. Jeśli jesteś uwierzytelniony jako użytkownik WordPress, możesz publikować posty za pośrednictwem interfejsu API, uzyskiwać listę motywów dostępnych w witrynie, przeglądać i edytować ustawienia, a także wiele innych funkcji dostępnych do ręcznej interakcji za pośrednictwem wp-admin .
Kilka przykładów działania WordPress REST API
Ujawnienie możliwości interakcji z WordPress za pośrednictwem interfejsu API REST otworzyło szeroki zakres możliwości witryn, które mogłyby teraz wykorzystywać WordPress jako zaplecze do zarządzania treścią.
TechCrunch : Wkrótce po ogłoszeniu WordPress REST API, TechCrunch ogłosił, że przebudował swoją witrynę przy użyciu architektury bezgłowej, co oznaczało, że używa WordPress na zapleczu jako systemu zarządzania treścią, a jednocześnie może korzystać z „pojedynczej strony style React app” na interfejsie użytkownika.
Edytor bloków (Gutenberg) : Być może korzystanie z interfejsu API REST, z którego skorzystała większość ludzi, to edytor bloków WordPress. Teraz główny edytor w WordPressie, większość funkcji Block Editor jest możliwa dzięki temu, że może on wchodzić w interakcje z punktami końcowymi WordPress REST API bez
Wszelkiego rodzaju projekty społecznościowe : kiedy po raz pierwszy rozważano połączenie interfejsu REST API z rdzeniem, wysłano publiczne wezwanie, w którym poproszono ludzi o mówienie więcej o tym, jak korzystają z interfejsu API REST. Odpowiedzi były bardzo różnorodne, czego można się spodziewać po społeczności tak dużej jak WordPress, ale obejmowały wszystko, od wtyczek z bardziej interaktywnymi interfejsami niż było to wcześniej możliwe, po ludzi tworzących aplikacje mobilne dla swoich klientów, które mogłyby konsumować treści WordPress.
Podsumowanie
Nawet jeśli nie masz żadnego doświadczenia w korzystaniu z interfejsów API, prawdopodobnie w pewnym momencie swojej kariery korzystałeś z czegoś, co opiera się na interfejsie WordPress REST API. Ponieważ interfejsy stają się coraz bardziej dynamiczne, a strony internetowe zaczynają mieć więcej działań, które nie wymagają ładowania strony.
Teraz, gdy już wiesz, czym jest WordPress REST API, możesz pomyśleć o kilku rzeczach, które możesz z nim zbudować! Interfejs API REST z pewnością może być potężnym narzędziem w zestawie narzędzi do tworzenia jeszcze lepszych motywów i wtyczek WordPress.
Jeśli potrzebujesz nieco więcej wyjaśnień lub przykładów tego, co jest możliwe, zajrzyj do dokumentów i wskocz od razu!