WordPress REST API: jak uzyskać do niego dostęp, używać go i zabezpieczać (pełny samouczek)

Opublikowany: 2023-03-23

Jeśli planujesz zostać programistą WordPress, natkniesz się na coś, co nazywa się „REST API”. Jest to interfejs rozszerzający funkcjonalność WordPressa i umożliwiający łączenie platformy z innymi aplikacjami. Niektórzy programiści uważają, że jest to bardzo pomocne jako część ich procesu — zwłaszcza jeśli chcą wdrożyć zaawansowaną funkcjonalność.

Na szczęście nie musisz być doświadczonym programistą, aby zdobyć wiedzę z WordPress REST API. Gdy już dobrze zrozumiesz interfejs i sposób jego działania, możesz łatwo wdrożyć go w swoich projektach tworzenia stron internetowych.

W tym poście przedstawimy szczegółowy przewodnik po interfejsie API REST WordPress. Omówimy, czym jest, jak go używać i jak chronić przed zagrożeniami. Pokażemy Ci również, jak naprawić typowe błędy REST API, jak używać interfejsu z innymi frameworkami i jak wypada w porównaniu z innymi rozwiązaniami WordPress API. Na koniec omówimy kilka często zadawanych pytań.

Czym jest API REST WordPressa?

Aby zrozumieć interfejs API REST WordPress, musimy rozbić jego różne komponenty. Zacznijmy od wprowadzenia do interfejsów API.

Co to jest interfejs API?

Interfejs programowania aplikacji (API) to program, który umożliwia komunikację między dwiema aplikacjami. Służy jako pośrednik między dwoma częściami oprogramowania, ułatwiając bezproblemową współpracę.

Na przykład, jeśli chcesz wyświetlić produkt Google w swojej witrynie, taki jak mapy, musisz użyć interfejsu API Map Google.

Biblioteka Google Cloud API

Dzięki temu Twoja witryna WordPress może komunikować się z Mapami Google, dzięki czemu może pobierać wszystkie istotne dane i funkcje potrzebne do wyświetlania tych map.

Podobnie jak Google, inne firmy mają interfejsy API i udostępniają je twórcom stron internetowych. Produkty te mogą być bardzo atrakcyjne, ponieważ eliminują konieczność kodowania funkcji (np. mapy) od zera. Zamiast tego możesz użyć oprogramowania innej firmy i połączyć je ze swoją witryną za pośrednictwem interfejsu API.

Co to jest ODPOCZYNEK?

Representational State Transfer (REST) ​​to zestaw wytycznych, których muszą przestrzegać programiści podczas tworzenia interfejsów API. Dlatego REST API to interfejs zbudowany z myślą o tych standardach.

Zwykle interfejs API REST jest zgodny z następującymi zasadami:

  • Separacja klient-serwer: interfejs API powinien umożliwiać klientowi (lub stronie internetowej) i serwerowi odseparowanie od siebie i dalsze funkcjonowanie niezależnie od siebie.
  • Buforowanie: interfejsy API REST powinny w miarę możliwości używać danych zapisanych w pamięci podręcznej, aby poprawić wydajność i informować witrynę internetową, które informacje mogą być buforowane.
  • Bezstanowość: interfejsy API REST nie mogą przechowywać na swoim serwerze żadnych informacji o stronie internetowej, z którą są połączone, i należy podać tylko informacje potrzebne do przetworzenia żądania.
  • Jednolity interfejs: Wnioski o zasoby powinny być przetwarzane w ten sam sposób, niezależnie od ich pochodzenia.
  • Architektura warstwowa: interfejsy API REST są zbudowane wokół systemu warstwowego, w którym każda warstwa spełnia określoną rolę i działa niezależnie od innych. Dzięki temu interfejs API jest bezpieczniejszy i łatwiejszy do aktualizacji.

Ponieważ interfejs API REST spełnia te standardy, może zapewnić większe bezpieczeństwo i wydajność.

Co robi WordPress REST API?

WordPress ma własne API REST. Dzięki temu platforma może komunikować się z prawie każdą inną aplikacją internetową i stroną internetową, niezależnie od używanego przez nie języka programowania.

Dzięki temu interfejsowi API aplikacja innej firmy będzie mogła uzyskać dostęp do bazy danych WordPress i pobierać z niej dane. W rzeczywistości większość wtyczek i motywów WordPress korzysta z interfejsu API REST platformy, aby działać poprawnie.

WordPress REST API zostało wydane jako część podstawowego oprogramowania w wersji 4.7. Wcześniej był dostępny tylko jako wtyczka.

Podczas gdy oprogramowanie WordPress jest zbudowane z PHP, API REST wysyła i odbiera dane jako obiekty JSON (JavaScript Object Notation), co otwiera nowe możliwości dla programistów.

Jakie są najczęstsze polecenia REST API?

Interfejsy API REST są zaprojektowane do odbierania i odpowiadania na określone żądania za pośrednictwem poleceń HTML.

Najczęściej używane polecenia to:

  • GET: Możesz użyć tego polecenia, aby pobrać określony zasób z serwera, taki jak post lub fragment danych.
  • POST: To polecenie umożliwia modyfikowanie zasobu na serwerze poprzez dodanie kodu.
  • PUT: Za pomocą tego polecenia możesz edytować zasób, który już znajduje się na serwerze.
  • DELETE: To polecenie usuwa zasób z serwera.

Po tych poleceniach następuje linia zawierająca więcej informacji o żądaniu. Są to tak zwane punkty końcowe.

Na przykład, jeśli chcesz pobrać listę opublikowanych postów w swojej witrynie, użyjesz następującego punktu końcowego:

 GET http://mysite.com/wp-json/wp/v2/posts/?status=published

Spójrzmy na inny przykład. Jeśli chcesz dodać nową stronę, użyj następującego polecenia:

 POST http://mysite.com/wp-json/wp/v2/posts/page

Jest wiele rzeczy, które możesz zrobić za pomocą tych czterech poleceń. Listę punktów końcowych można znaleźć na stronie zasobów dla programistów WordPress.

Rzeczywiste przykłady interfejsu API REST WordPress

Teraz, gdy masz podstawową wiedzę na temat działania WordPress REST API, spójrzmy na kilka przykładów z życia wziętych, zaczynając od WordPress.com.

Pulpit administratora WordPress.com (zwany „Calypso”) jest zbudowany w całości w języku JavaScript za pośrednictwem interfejsu API REST.

Pulpit nawigacyjny WordPress Calypso, który korzysta z interfejsu API REST

Calypso to aplikacja internetowa i komputerowa, która umożliwia użytkownikom dodawanie nowych treści, edytowanie istniejących postów i nie tylko. Korzysta z interfejsu API REST, aby uzyskać dostęp do danych w Twojej witrynie WordPress.com.

Innym przykładem jest Edytor bloków. W samoobsługowym WordPressie Edytor bloków używa interfejsu API REST do interakcji z bazą danych i tworzenia bloków.

Wiele publikacji internetowych, takich jak USA Today, również korzysta z interfejsu API REST WordPress. Dzięki temu mogą automatycznie publikować artykuły w innych aplikacjach informacyjnych, takich jak Apple News.

Jak włączyć i wyłączyć REST API w WordPress

Nie musisz nic robić, aby włączyć interfejs API REST — jest on wbudowany w WordPress. W dalszej części postu pokażemy, jak uzyskać do niego dostęp.

Chociaż interfejs API REST jest potężnym narzędziem do tworzenia aplikacji za pomocą WordPress, może sprawić, że Twoja witryna będzie podatna na ataki DDoS (Distributed Denial-of-Service) i złośliwe oprogramowanie. Ponadto hakerzy mogą uzyskać dostęp do Twoich danych za pośrednictwem połączenia z innymi aplikacjami.

Wyłączanie API REST WordPress nie jest zalecane. Dzieje się tak, ponieważ może to prowadzić do problemów z Edytorem bloków i wszelkimi wtyczkami w Twojej witrynie.

Jeśli nadal chcesz go wyłączyć, najłatwiej to zrobić za pomocą wtyczki takiej jak WPCode.

Obraz strony głównej kodu WP

Po zainstalowaniu i aktywowaniu wtyczki na swojej stronie przejdź do Fragmenty kodu → Biblioteka na pulpicie nawigacyjnym WordPress.

Biblioteka fragmentów kodu WPCode

Tutaj poszukaj opcji o nazwie Wyłącz WordPress REST API . Gdy go znajdziesz, najedź na niego kursorem i wybierz Użyj fragmentu .

za pomocą fragmentu kodu „wyłącz interfejs API REST”.

Spowoduje to uruchomienie strony z podglądem kodu.

edytowanie fragmentu kodu WPCode

Jeśli przewiniesz w dół do pola Wstaw , możesz wybrać opcję Automatyczne wstawianie , aby wtyczka automatycznie zastosowała ten kod w Twojej witrynie.

za pomocą funkcji automatycznego wstawiania

Następnie przewiń z powrotem do góry i przesuń przełącznik z pozycji Nieaktywny na Aktywny. Na koniec kliknij Aktualizuj , aby wprowadzić te zmiany w życie.

Jak korzystać z API REST WordPress

Teraz przyjrzyjmy się, jak korzystać z interfejsu API REST WordPress. Powyżej omówiliśmy już kilka przykładów, ale w tej sekcji pokażemy dokładnie, jak uzyskać dostęp do danych i je pobrać.

Krok 1: Uzyskaj dostęp do interfejsu API REST

Jeśli chcesz pobrać dane z działającej witryny WordPress, możesz uzyskać dostęp do interfejsu API REST bezpośrednio z przeglądarki. Wystarczy, że wpiszesz w wyszukiwarkę następujący adres (wstawiając własną nazwę domeny i rozszerzenie):

 mysite.com/wp-json/wp/v2

Spowoduje to wyświetlenie pliku JSON Twojej witryny WordPress.

przeglądanie interfejsu API REST

Następnie możesz dodać elementy do tego adresu URL, aby uzyskać dostęp do określonych danych, co pokażemy w następnym kroku.

Krok 2: Wysyłaj żądania do interfejsu API REST

Jak wspomnieliśmy wcześniej, możesz użyć punktów końcowych, aby uzyskać dostęp do określonych danych w swojej witrynie. Jeśli chcesz pobrać listę wszystkich swoich postów, po prostu dodaj punkt końcowy /posts do swojego adresu:

 mysite.com/wp-json/wp/v2/posts

Jeśli chcesz pobrać konkretny post, możesz po prostu dodać jego identyfikator (znajdziesz go na stronie Posty w pulpicie nawigacyjnym WordPress):

 mysite.com/wp-json/wp/v2/posts/4567

Tymczasem, jeśli chcesz pobrać dane o swoich użytkownikach, użyjesz następującego żądania:

 mysite.com/wp-json/wp/v2/users

To tylko proste przykłady, ale możesz zrobić o wiele więcej. Możesz na przykład pobierać posty zawierające określone hasła, zmieniać stan posta z „wersja robocza” na „opublikowany” i nie tylko.

Krok 3: Uwierzytelnij swoje żądania

WordPress REST API umożliwia pobieranie dowolnego typu danych z Twojej witryny, ale nie wszystkie z nich są publicznie dostępne. W niektórych przypadkach konieczne będzie uwierzytelnienie żądania.

Aby wysyłać uwierzytelnione żądania do interfejsu API REST WordPress, musisz najpierw uzyskać klucz API. Aby to zrobić, przejdź do Użytkownicy → Profil na pulpicie nawigacyjnym WordPress.

Następnie przewiń w dół do sekcji Hasła aplikacji . Tutaj musisz wprowadzić nazwę swojego hasła (w celach informacyjnych) i kliknąć Dodaj nowe hasło do aplikacji .

tworzenie hasła do aplikacji w WordPress

Spowoduje to wygenerowanie klucza API, którego będziesz potrzebować w swoich żądaniach. Na przykład, jeśli klucz API to „1234567890”, możesz umieścić go w nagłówku autoryzacji w następujący sposób:

 https://mysite.com/wp-json/wp/v2/posts?Authorization=Bearer1234567890

Pamiętaj, aby zastąpić kod 1234567890 skopiowanym kluczem API i usunąć spacje.

Możesz także pobrać listę postów napisanych przez określonego autora wraz z jego identyfikatorem użytkownika. Możesz znaleźć ich identyfikator, przechodząc do sekcji Użytkownicy na pulpicie nawigacyjnym WordPress i klikając nazwisko autora. Identyfikator będzie wyświetlany w adresie URL strony autora.

Załóżmy, że autor nazywa się „Joe”, a jego identyfikator to „123”. W tym scenariuszu możesz użyć następującego adresu URL, aby pobrać listę wszystkich postów napisanych przez Joe:

 https://mysite.com/wp-json/wp/v2/posts?author=123&Authorization=Bearer1234567890

Jeśli nie możesz znaleźć identyfikatora użytkownika, jego profil mógł zostać zmodyfikowany w taki sposób, że identyfikator nie jest już wyświetlany. W takim przypadku możesz pobrać listę wszystkich postów napisanych przez użytkownika, używając jego nazwy logowania lub adresu e-mail zamiast identyfikatora.

Aby to zrobić, musisz użyć parametru „slug” zamiast parametru „author” w swoim żądaniu:

 https://mysite.com/wp-json/wp/v2/posts?slug=joe&Authorization=Bearer1234567890

Parametr „slug” umożliwia określenie nazwy logowania lub adresu e-mail użytkownika. WordPress REST API zwróci listę wszystkich postów napisanych przez użytkownika.

Kiedy używać API REST WordPress

Interfejs API REST WordPress może być używany w szerokiej gamie projektów. Oto kilka przykładów:

  • Integracja strony WordPress z aplikacją mobilną. Jeśli jesteś programistą, możesz użyć interfejsu API REST do pobierania i edytowania danych w witrynie WordPress z aplikacji mobilnej. Dzięki temu możesz tworzyć niestandardowe aplikacje, które wchodzą w interakcję z Twoją witryną.
  • Tworzenie niestandardowych integracji. Korzystając z WordPress REST API, możesz tworzyć niestandardowe integracje z innym oprogramowaniem, takim jak narzędzia CRM.
  • Tworzenie niestandardowych skryptów. Możesz użyć interfejsu API REST, aby zautomatyzować niektóre zadania w witrynie WordPress, takie jak planowanie postów lub aktualizowanie profili użytkowników.

Jak widać, REST API umożliwia integrację WordPressa z aplikacjami lub witrynami zbudowanymi na innych platformach.

Kiedy nie używać API REST WordPress

Chociaż WordPress REST API może być potężnym narzędziem, nie zawsze może być odpowiednie dla Twojego projektu. Przyjrzyjmy się kilku powodom, dla których możesz nie chcieć go używać.

Jak być może pamiętasz, WordPress REST API jest zbudowany z JavaScript. W związku z tym, jeśli tworzysz aplikację, która nie obsługuje języka JavaScript, nie będzie działać poprawnie, jeśli używasz interfejsu API REST.

Ponadto aplikacje oparte na JavaScript mogą być mało dostępne. Na przykład sposób renderowania zawartości dynamicznej może być niezgodny z czytnikami ekranu. W rezultacie może to spowodować, że Twoje treści będą niedostępne dla użytkowników z wadami wzroku.

Jak zabezpieczyć WordPress REST API przed exploitami

Jak wspomniano wcześniej, korzystanie z WordPress REST API może narazić Twoją witrynę na zagrożenia. Interfejs API działa jak pomost między dwiema platformami, a hakerzy mogą znaleźć drogę do Twojej witryny za pośrednictwem tego połączenia.

W związku z tym przed rozpoczęciem korzystania z interfejsu API REST WordPress ważne jest utworzenie kopii zapasowej witryny WordPress. W ten sposób, jeśli coś pójdzie nie tak, możesz przywrócić najnowszą wersję swoich treści.

Ponadto będziesz chciał upewnić się, że masz wystarczające środki bezpieczeństwa. Oznacza to użycie narzędzia takiego jak Jetpack Protect.

Strona główna Jetpack Protect

Ta wtyczka jest wyposażona w funkcje bezpieczeństwa, w tym skanowanie złośliwego oprogramowania, skanowanie luk w zabezpieczeniach i zaporę sieciową aplikacji (WAF).

Ponadto dobrym pomysłem jest użycie interfejsu API REST w witrynie testowej WordPress przed wprowadzeniem zmian w życie. W ten sposób, jeśli przypadkowo uszkodzisz swoją witrynę, nie wpłynie to na wrażenia użytkownika na interfejsie.

Jak naprawić typowe błędy i problemy z interfejsem API REST

Możesz napotkać pewne błędy podczas korzystania z API REST WordPress. Przyjrzyjmy się więc niektórym najczęstszym problemom i krokom, które można podjąć, aby je rozwiązać.

Długie czasy reakcji i limity czasu

Podczas wywoływania interfejsu API REST WordPress możesz napotkać wolne czasy odpowiedzi i przekroczenia limitu czasu. Problemy te są zwykle spowodowane następującymi czynnikami:

  • Niewystarczające zasoby serwera. Twój serwer może nie mieć wystarczających zasobów do obsługi żądań wysyłanych za pośrednictwem interfejsu API REST. W takim przypadku musisz przejść na mocniejszy plan hostingowy WordPress.
  • Konflikty wtyczek lub motywów. Wtyczki i motywy WordPress mogą czasami powodować konflikty z interfejsem API REST. W takim przypadku spróbuj wyłączyć wszystkie wtyczki i przełączyć się na motyw domyślny, aby sprawdzić, czy to rozwiąże problem. Jeśli tak, możesz ponownie aktywować wtyczki pojedynczo, aby zidentyfikować winowajcę.
  • Rozmiar danych. Duże transfery danych podczas wywołań interfejsu API mogą spowodować przekroczenie limitu czasu. Aby temu zapobiec, możesz spróbować zmniejszyć liczbę elementów wyświetlanych na stronie (pokażemy Ci, jak to zrobić w dalszej części wpisu).
  • Kwestie bazy danych. Jeśli Twoja baza danych WordPress nie jest zoptymalizowana, może to prowadzić do wolnych czasów odpowiedzi i przekroczenia limitu czasu podczas wywoływania interfejsu API REST. Możesz go zoptymalizować, usuwając niepotrzebne dane i instalując wtyczkę optymalizacyjną.

Ponadto możesz chcieć śledzić wydajność swojego interfejsu API za pomocą narzędzia takiego jak pakiet operacyjny Google Cloud (wcześniej Stackdriver) i Application Insights firmy Microsoft. Narzędzia te mogą zapewnić wgląd w wydajność WordPress REST API i pomóc zidentyfikować przyczyny wolnych czasów odpowiedzi.

Błąd 403 Forbidden podczas wywoływania interfejsu API REST

Błąd 403 Forbidden to kod stanu HTTP wskazujący, że klient nie ma autoryzacji dostępu do żądanego zasobu. Przyjrzyjmy się niektórym typowym przyczynom tego błędu i potencjalnym rozwiązaniom:

  • Nieprawidłowy klucz API. Jeśli żądanie wymaga klucza interfejsu API, upewnij się, że klucz, którego używasz, jest prawidłowy i że jest prawidłowo przekazywany w nagłówkach żądania.
  • Nieprawidłowy identyfikator jednorazowy. „Nonce” to liczba losowa używana raz, aby zapobiec fałszerstwu wniosku. Jeśli jest nieprawidłowy, może spowodować błąd 403 zabroniony.
  • Uprawnienia użytkownika. Będziesz także chciał się upewnić, że masz niezbędne uprawnienia dostępu do określonego punktu końcowego interfejsu API. Jeśli nie jesteś właścicielem strony, być może będziesz musiał poprosić administratora o nadanie Ci odpowiednich uprawnień.
  • Wtyczki bezpieczeństwa. Wtyczki bezpieczeństwa mogą blokować wywołania API, ponieważ postrzegają je jako zagrożenie bezpieczeństwa. Możesz dodać punkt końcowy API do białej listy w ustawieniach wtyczki, aby rozwiązać ten typ problemu.
  • Zapora ogniowa. Być może używasz zapory sieciowej, która blokuje żądanie interfejsu API. Upewnij się, że zapora sieciowa jest poprawnie skonfigurowana lub spróbuj ją wyłączyć podczas korzystania z interfejsu API.
  • Konfiguracja serwera. Niektóre serwery nie są skonfigurowane do obsługi niektórych wywołań interfejsu API, dlatego warto skontaktować się z dostawcą usług hostingowych w celu uzyskania pomocy.

Możesz także użyć narzędzi programistycznych przeglądarki, aby sprawdzić żądania sieciowe i nagłówki żądań. Jeśli używasz przeglądarki Chrome, po prostu naciśnij Ctrl+Shift+C, aby otworzyć DevTools.

Ponadto możesz sprawdzić dzienniki serwera, aby uzyskać więcej informacji o błędzie. Powinieneś mieć do nich dostęp za pośrednictwem swojego konta hostingowego. Jeśli nie, możesz poprosić o pomoc swojego dostawcę usług hostingowych.

Interfejs API REST napotkał nieoczekiwany wynik

Błąd „REST API napotkał nieoczekiwany wynik” jest częstym problemem. Zwykle jest to spowodowane następującymi czynnikami:

  • Uprawnienia. Możesz nie mieć odpowiednich uprawnień dostępu do żądanego zasobu. W takim przypadku musisz skontaktować się z administratorem witryny.
  • Problem z konfiguracją adresu URL. Ten błąd może wystąpić, jeśli adres URL punktu końcowego interfejsu API jest nieprawidłowo skonfigurowany. Sprawdź dwukrotnie adres URL, aby upewnić się, że jest poprawny i że uwzględniono wszystkie niezbędne parametry zapytania.
  • Niepoprawne polecenie. Być może używasz niewłaściwego polecenia (np. GET, POST, PUT, DELETE) dla żądania. Sprawdź dokumentację interfejsu API, aby upewnić się, że używasz poprawnego polecenia dla określonego punktu końcowego.
  • Nieprawidłowy format żądania. Upewnij się, że w swojej prośbie używasz odpowiedniego formatu. W WordPress REST API dane muszą być przesyłane w formacie JSON.
  • Zły punkt końcowy. Być może próbujesz wywołać punkt końcowy, który nie istnieje. W tym scenariuszu dwukrotnie sprawdź adres URL punktu końcowego, aby upewnić się, że jest poprawny.
  • Problemy po stronie serwera . Twój serwer może mieć problemy. Jest to bardziej powszechne w przypadku wspólnych planów hostingowych. Jeśli tak się stanie, być może nadszedł czas, aby przejść na serwer z większą ilością zasobów.

Możesz także wyłączyć wtyczki, aby sprawdzić, czy problem został rozwiązany. Jak wspomniano wcześniej, niektóre narzędzia mogą powodować problemy ze zgodnością z WordPress REST API.

rest_api_init nie działa

Błąd „rest_api_init nie działa” to kolejny częsty błąd interfejsu API REST WordPress. Zwykle jest to spowodowane konfliktami wtyczek i motywów, a także ograniczonymi zasobami serwera.

Mimo to istnieją inne czynniki, które mogą prowadzić do tego, że API REST WordPressa nie działa, takie jak:

  • Niestandardowe punkty końcowe interfejsu API REST. Jeśli wysyłasz żądania z niestandardowymi punktami końcowymi, upewnij się, że używasz odpowiednich haków i funkcji.
  • plik .htaccess . Może być konieczne sprawdzenie pliku .htaccess , aby upewnić się, że jest poprawnie skonfigurowany.
  • Błąd CORS. Jeśli próbujesz wykonać żądania między źródłami (CORS), a interfejs API WordPress REST nie działa, być może serwer nie jest skonfigurowany do ich akceptowania. Możesz skontaktować się ze swoim dostawcą hostingu, aby sprawdzić, czy serwer akceptuje CORS.

Ponadto możesz używać starej instalacji WordPressa, która nie obsługuje interfejsu API. Jeśli tak, ważne jest, aby uaktualnić do najnowszej wersji.

Uwierzytelnianie podstawowe nie działa

Błąd „Uwierzytelnianie podstawowe nie działa” może wystąpić podczas próby wywołania interfejsu API REST WordPress przy użyciu uwierzytelniania podstawowego. Uwierzytelnianie podstawowe to prosty schemat uwierzytelniania wbudowany w protokół HTTP. Wykorzystuje nazwę użytkownika i hasło do uwierzytelnienia kogoś.

Oto kilka typowych przyczyn tego błędu (oraz sposoby ich rozwiązania):

  • Nieprawidłowe dane uwierzytelniające. Sprawdź nazwę użytkownika i hasło w nagłówkach żądań, aby upewnić się, że są poprawne.
  • Problem z Secure Sockets Layer (SSL). Upewnij się, że masz zainstalowany ważny certyfikat SSL i że jest on poprawnie skonfigurowany. Jeśli nie, zapoznaj się z naszym przewodnikiem krok po kroku, jak uzyskać bezpłatny i ważny certyfikat SSL.
  • Przekierowania HTTP na HTTPS. Niektóre strony internetowe są skonfigurowane do przekierowywania żądań HTTP do HTTPS. Jeśli przeglądarka próbuje uwierzytelnić się przez HTTP, może wystąpić ten błąd. W związku z tym będziesz chciał się upewnić, że uruchamiasz żądanie w punkcie końcowym HTTPS.

Podobnie jak inne problemy z interfejsem API REST, ten błąd może być również spowodowany konfliktami motywu i wtyczki. Po raz kolejny będziesz chciał przełączyć się na domyślny motyw i dezaktywować wtyczki, aby rozwiązać problem.

Jeśli to nie pomoże, możesz tymczasowo wyłączyć zaporę sieciową. Może to blokować żądanie uwierzytelnienia.

Jeśli tworzysz CORS, Twój serwer może nie być skonfigurowany do ich akceptowania. Warto skontaktować się z dostawcą usług hostingowych, aby sprawdzić, czy jest coś, co może zrobić po swojej stronie.

Wreszcie, jeśli nie jesteś administratorem witryny, możesz nie mieć odpowiednich uprawnień lub roli, aby wykonać żądanie. W takim przypadku musisz skontaktować się z właścicielem witryny.

Zaawansowane przypadki użycia REST API

Dzięki WordPress REST API możesz pobierać dane ze swojej witryny przy użyciu popularnych frameworków i innych języków programowania. Rzućmy okiem na kilka przykładów.

Jak korzystać z WordPress REST API z React

React to popularna biblioteka JavaScript do budowania interfejsów użytkownika. Możesz użyć klienta Node-WPAPI do wysyłania żądań HTTP do API REST WordPress.

Na przykład, aby pobrać listę postów na swojej stronie WordPress, musisz wprowadzić następujące dane w Node-WPAPI:

 import WPAPI from 'wpapi'; const wp = new WPAPI({ endpoint: 'http://example.com/wp-json' }); wp.posts().then(posts => {  console.log(posts); });

Aby uzyskać więcej informacji na temat korzystania z WordPress REST API z React, możesz sprawdzić dokumentację Node-WPAPI.

Jak korzystać z API REST WP z Angular

Angular to framework JavaScript do tworzenia aplikacji internetowych. Aby używać go z WordPress REST API, musisz użyć modułu @angular/common/http .

Na przykład możesz wprowadzić następujący kod, aby pobrać listę postów:

 import { HttpClient } from '@angular/common/http'; @Injectable() export class PostService {  constructor(private http: HttpClient) {}  getPosts(): Observable<any> {    return this.http.get('http://mysite.com/wp-json/wp/v2/posts');  } }

Możesz sprawdzić dokumentację Angulara, aby uzyskać więcej informacji na temat używania jego HttpClient do wysyłania żądań do WordPress REST API.

Jak korzystać z WordPress REST API z Pythonem

Możesz także użyć WordPress REST API z Pythonem. Jest to popularny język programowania, którego można używać do tworzenia aplikacji internetowych i innego oprogramowania.

Aby rozpocząć, musisz użyć biblioteki Requests . Jeśli chcesz pobrać listę swoich postów WordPress, wpisz:

 import requests response = requests.get('http://example.com/wp-json/wp/v2/posts') posts = response.json() print(posts)

Możesz przeczytać dokumentację biblioteki Requests, aby uzyskać bardziej szczegółowe instrukcje.

Jak interfejs API REST wypada w porównaniu z innymi rozwiązaniami API WordPress?

Być może zastanawiasz się, czym REST API różni się od innych rozwiązań WordPress API. Aby dać ci pomysł, porównamy go z niektórymi z najpopularniejszych alternatyw.

WordPress REST API a AJAX

Interfejs API REST WordPress zapewnia skuteczny sposób uzyskiwania dostępu do danych WordPress. Umożliwia programistom tworzenie niestandardowych aplikacji i integracji z WordPress.

Tymczasem WordPress API AJAX to starsza metoda dostępu do danych WordPress. Został wprowadzony w WordPress 2.0 i umożliwia programistom wysyłanie asynchronicznych żądań z frontonu witryny za pomocą JavaScript.

Interfejs API WordPress AJAX może być nieco restrykcyjny pod względem funkcjonalności, dlatego nie jest zalecany do stosowania w złożonych projektach.

WordPress REST API a WPGraphQL

WPGraphQL to implementacja GraphQL dla WordPress, która zapewnia alternatywny sposób dostępu do danych WordPress. GraphQL to język zapytań dla twojego API. Umożliwia klientom żądanie dokładnie tych danych, których potrzebują, i nic więcej.

W przeciwieństwie do WordPress REST API, WPGraphQL wymaga wygenerowania oddzielnego hasła do aplikacji dla każdego użytkownika, który potrzebuje dostępu. Ponadto dostarczanie treści może być nieco powolne, ponieważ używa bardziej złożonego języka zapytań.

WordPress REST API a XML-RPC

Wprowadzony w WordPress 1.5 interfejs WordPress XML-RPC API umożliwia zdalne wysyłanie żądań do WordPress przy użyciu protokołu XML-RPC.

XML-RPC jest prosty i lekki, dzięki czemu może szybciej dostarczać wyniki. Problem polega na tym, że podobnie jak Ajax, ma ograniczoną funkcjonalność w porównaniu do WordPress REST API.

Często zadawane pytania dotyczące interfejsu API REST WordPress

W tym przewodniku omówiliśmy większość najważniejszych elementów interfejsu API REST WordPress. Ale na wszelki wypadek spójrzmy na kilka często zadawanych pytań dotyczących tego potężnego narzędzia.

Czy WordPress REST API ma limit zwrotów?

Domyślnie WordPress REST API ma maksymalny limit zwrotów wynoszący 100 elementów na stronę. Oznacza to, że jeśli wyślesz żądanie do punktu końcowego, który zwróci listę elementów (takich jak posty, strony lub użytkownicy), interfejs API wyświetli w odpowiedzi maksymalnie 100 elementów.

Na szczęście możesz użyć parametru „per_page”, aby zwiększyć limit do maksymalnie 500 elementów na stronę.

Na przykład, jeśli chcesz mieć 200 elementów na stronie, możesz użyć następujących opcji:

 https://mysite.com/wp-json/wp/v2/posts?per_page=200

Pamiętaj, że możesz także zmniejszyć liczbę elementów wyświetlanych na stronie.

Czy mogę używać REST API z WooCommerce?

WooCommerce ma własne API REST. Interfejs API REST WooCommerce umożliwia dostęp i modyfikację danych ze sklepu WooCommerce. Obejmuje to informacje o produktach, zamówieniach i klientach. Ponadto możesz użyć interfejsu API REST WooCommerce do integracji WooCommerce z innymi platformami e-commerce.

Rozpocznij pracę z interfejsem API REST WordPress

WordPress REST API umożliwia integrację witryny z innymi aplikacjami i narzędziami innych firm. Twórcy stron internetowych mogą go używać do pobierania danych dla aplikacji jednostronicowych, łączenia WordPressa z aplikacją mobilną i wielu innych.

Ponadto możesz używać WordPress REST API z innymi frameworkami i językami programowania, w tym React, Angular i Python. Chociaż interfejs API REST WordPress jest potężnym i niezawodnym narzędziem, nadal ważne jest tworzenie kopii zapasowych witryny i korzystanie z narzędzia bezpieczeństwa, aby zapobiegać atakom za pośrednictwem tych połączeń.

Dzięki Jetpack Protect możesz zabezpieczyć swoją witrynę WordPress przed złośliwym oprogramowaniem i hakerami oraz korzystać z WordPress REST API w bezpieczniejszym środowisku.