WordPress API: register_​rest_​route – Tworzenie niestandardowych tras REST API

Wprowadzenie:

W świecie WordPres­sa API pełni istot­ną rolę, umożli­wia­jąc rozbu­do­wę funkcjo­nal­no­ści stron inter­ne­to­wych. Jednym z kluczo­wych elemen­tów WordPress API jest funkcja register_rest_route. W niniej­szym artyku­le opiszę tę funkcję wraz z jej parame­tra­mi oraz przed­sta­wię przykła­dy ich użycia. Dzięki temu zdobę­dziesz wiedzę potrzeb­ną do tworze­nia niestan­dar­do­wych tras REST API w WordPressie.

Co to jest register_rest_route?

Funkcja register_rest_route to wbudo­wa­ne narzę­dzie w WordPress API, które pozwa­la na tworze­nie niestan­dar­do­wych tras REST API. Jest to metoda umożli­wia­ją­ca definio­wa­nie własnych punktów końco­wych (endpo­ints), które mogą obsłu­gi­wać różne rodza­je żądań HTTP, takie jak GET, POST, PUT, DELETE, itp.

Parametry funkcji register_rest_route.

Funkcja register_rest_route przyj­mu­je trzy główne parame­try: namespa­ce, route oraz args. Pozwól, że opiszę je dokładniej:

  1. Namespa­ce:
    • Opis: Namespa­ce to unikal­ny identy­fi­ka­tor grupu­ją­cy nasze trasy REST API. Zapobie­ga kolizjom nazw w przypad­ku wielu zdefi­nio­wa­nych tras.
    • Przykład: 'moj-plugi­n/v1'
  2. Route:
    • Opis: Route to ścież­ka URL dla naszej trasy REST API. Może zawie­rać zmien­ne w forma­cie {zmien­na}.
    • Przykład: '/moja-trasa/{id}'
  3. Args:
    • Opis: Args to tabli­ca opcji konfi­gu­ra­cyj­nych dla naszej trasy REST API. Pozwa­la na precy­zyj­ne dosto­so­wa­nie jej działania.
    • Przykład: array( 'methods' => 'GET', 'callback' => 'moja_​funkcja_​callback' )

Przykłady użycia parametrów funkcji register_rest_route.

Poniżej przed­sta­wiam przykła­dy wykorzy­sta­nia poszcze­gól­nych parame­trów funkcji register_rest_route:

  1. Parametr 'methods':
    • Opis: Określa, jakie metody HTTP są obsłu­gi­wa­ne przez naszą trasę REST API.
    • Przykład: 'methods' => 'GET' /​/​ Tylko żądania GET są obsługiwane
  2. Parametr 'callback':
    • Opis: Wskazu­je nazwę funkcji, która zosta­nie wywoła­na przy trafie­niu na daną trasę REST API.
    • Przykład: 'callback' => 'moja_​funkcja_​callback' /​/​ Moja funkcja obsługi
  3. Parametr 'permission_​callback':
    • Opis: Pozwa­la na spraw­dze­nie upraw­nień dostę­pu do danej trasy REST API.
    • Przykład: 'permission_​callback' => 'sprawdz_​uprawnienia' /​/​ Spraw­dze­nie upraw­nień przed dostępem
  4. Parametr 'args':
    • Opis: Definiu­je argumen­ty, które mogą być przeka­zy­wa­ne do naszej trasy REST API.
    • Przykład: 'args' => array( 'id' => array( 'required' => true ) ) /​/​ Argument 'id' jest wymagany

Przykłady kompletnych definicji tras REST API.

Poniżej znajdu­ją się przykła­do­we defini­cje tras REST API wraz z pełny­mi parametrami:

  1. a) Trasa REST API obsłu­gu­ją­ca pobie­ra­nie infor­ma­cji o użytkow­ni­ku:
    register_rest_route( 'moj-plugin/v1', '/uzytkownik/{id}', array(
        'methods'  => 'GET',
        'callback' => 'pobierz_dane_uzytkownika',
    ) );
  2. b) Trasa REST API obsłu­gu­ją­ca tworze­nie nowego posta:
    register_rest_route( 'moj-plugin/v1', '/nowy-post', array(
        'methods'  => 'POST',
        'callback' => 'utworz_nowy_post',
        'permission_callback' => 'sprawdz_uprawnienia',
        'args'     => array(
            'tytul'   => array( 'required' => true ),
            'tresc'   => array( 'required' => true ),
            'autor'   => array( 'required' => true ),
        ),
    ) );

Podsumowanie:

Funkcja register_rest_route w WordPress API pozwa­la na tworze­nie niestan­dar­do­wych tras REST API. W niniej­szym artyku­le opisa­łem wszyst­kie parame­try tej funkcji oraz przed­sta­wi­łem przykła­dy ich użycia. Dzięki temu będziesz miał(a) pełną kontro­lę nad tym, jak działa­ją Twoje trasy REST API. Pamię­taj, że korzy­sta­jąc z tych funkcji, możesz dosto­so­wać swoje strony inter­ne­to­we do różno­rod­nych potrzeb i wymagań. Bądź kreatywny(a) i wykorzy­staj WordPress API w pełni!

Dodaj komentarz

Witryna wykorzystuje Akismet, aby ograniczyć spam. Dowiedz się więcej jak przetwarzane są dane komentarzy.