Przejdź do głównej treści

Jak korzystać z interfejsu API REST WordPress

Divi: najłatwiejszy w użyciu motyw WordPress

Divi: Najlepszy motyw WordPress wszechczasów!

więcej Pobieranie 901.000, Divi jest najpopularniejszym motywem WordPress na świecie. Jest kompletny, łatwy w użyciu i zawiera więcej niż darmowe szablony 62. [Zalecane]

Funkcja po funkcji, WordPress ma tendencję do zrzucania płaszcza systemu blogowania na rzecz systemu tworzenia aplikacji. Pierwszym zauważalnym krokiem w kierunku tej zmiany było wprowadzenie niestandardowe typy postów w wersji 2.9.

Dziś transformacja trwa nadal wraz z nadejściem WordPress REST API.

W tym samouczku wyjaśnię, czym jest WordPress REST API i pokażę, jak z niego korzystać.

Ale wcześniej, jeśli nigdy nie instalowałeś WordPress, odkryj Jak zainstalować WordPress blogu kroki 7 et Jak znaleźć, zainstalować i aktywować WordPress na swoim blogu 

Wróćmy do tego, dlaczego tu jesteśmy

Co to jest REST API

Mówiąc prościej, zrozum, że WordPress REST API pozwala na interakcję z rdzeniem WordPress bez przechodzenia przez jego interfejs graficzny. Oznacza to oddzielenie jądra od GUI. Za pomocą tego interfejsu API możesz na przykład utworzyć nowy artykuł bez konieczności uzyskiwania dostępu do tablica rozdzielcza. REST API zostanie dołączony do jądra, gdy wersja 4.4 zostanie wydana do grudnia.

Biorąc pod uwagę charakter tematu tego samouczka, konieczna jest dobra znajomość języka PHP i WordPress.

Czego potrzebujemy do tego samouczka

Aby rozpocząć korzystanie z REST API, będziesz potrzebować wtyczki REST API a także najnowszą wersję WordPressa. Masz to ? Jeśli nie, zobacz dlaczegoZnajomość WordPress HTTP API będzie również dobra dla firm do wykonywania zdalnych połączeń.

Odkryj, klikając ten link Jak zainstalować (dodać) wtyczkę na WordPress

Jako projekt dla tego ćwiczenia, my utworzy lokalną instalację WordPress z którego będziemy pobierać artykuły z naszej strony internetowej poprzez REST API. Upewnij się, że masz zainstalowaną i aktywowaną wtyczkę REST API na stronie produkcyjnej.

Teraz utwórz widget w twojej instalacji lokalnej. Oto podstawowy kod:

/**
 * Plugin Name: REST API Widget Essai
 * Plugin URI: http://le-site-de-votre-widget-ici.com
 * Description: Ce widget récupère des articles à l'aide de l'API REST
 * Version: 1.0
 * Author: Votre nom
 * Author URI: http://votre-site.com
 */

class Mes_Articles_Widget extends WP_Widget {

    public function __construct() {
        $widget_details = array(
            'classname' => 'widget-essai-rest-api',
            'description' => 'Un widget qui récupère des articles à l'aide de l'API REST depuis un autre site'
        );

        parent::__construct( 'widget-essai-rest-api', 'REST API Widget Essai', $widget_details );

    }

    public function form( $instance ) {
        $title = ( !empty( $instance['title'] ) ) ? $instance['title'] : '';
        ?>

        <p>
            <label for="<?php echo $this->get_field_name( 'title' ); ?>">Title: </label>
            <input class="widefat" id="<?php echo $this->get_field_id( 'title' ); ?>" name="<?php echo $this->get_field_name( 'title' ); ?>" type="text" value="<?php echo esc_attr( $title ); ?>" />
        </p>

        <?php
    }
    public function widget( $args, $instance ) {
        echo $args['before_widget'];
        if( !empty( $instance['title'] ) ) {
            echo $args['before_title'] . apply_filters( 'widget_title', $instance['title'], $instance, $this->id_base ) . $args['after_title'];
        }
        // le code fonctionnel du widget ici
        echo $args['after_widget'];
    }
}
add_action( 'widgets_init', function(){
     register_widget( 'Mes_Articles_Widget' );
});

W katalogu wtyczek lokalnej witryny utwórz folder o nazwie Widget-test-rest-api. W tym folderze utwórz plik o nazwie Widget-test-rest-api.php i wklej powyższy kod.

Odkryj przy okazji Jak zarządzać wersją WordPress i przywracać ją za pomocą VersionPress

Ten kod zawiera nagłówek wtyczki (komentarze na początku kodu), który informuje WordPress, że jest to wtyczka. Następnie pojawia się minimalny kod do stworzenia widżetu, powiększony o kilka linii. 

Położymy większy nacisk na funkcję widżet (), ponieważ wewnątrz tego jest zbudowany wyświetlacz widgetu. Dlatego właśnie wewnątrz tej funkcji będziemy wykonywać wywołania za pomocą HTTP API.

Pobierz artykuły

Będziemy potrzebować pewnych informacji, aby przeszukać witrynę produkcyjną lub witrynę internetową. Będą one w pewnym sensie pytaniem postawionym w rdzeniu WordPress naszej strony internetowej. Są to podstawowa ścieżka API, używana trasa, używane zakończenie, nagłówki i parametry.

Sublimuj swoje ilustracyjne obrazy, odkrywając Jak tworzyć interaktywne obrazy na blogu WordPress

Podstawowa ścieżka API REST WordPress jest zawsze / Wp-json / wp / v2 /, Zatem pełna ścieżka http://votre-domaine.com/wp-json/wp/v2/.

Trasa używana do odzyskania przedmiotów to / posty, To, co stanowi kompletną trasę dla artykułów, to http://votre-domaine.com/wp-json/wp/v2/posts.

Każda trasa może mieć kilka zakończeń, różniących się stosowaną metodą HTTP. W ten sposób może być trasa artykułu / Wiadomości / 291. Ta droga ma końcówki 3:

GET : aby pobrać artykuł
PUT : aby zaktualizować artykuł
DELETE : aby usunąć artykuł.

Korzystając z interfejsu API HTTP i zakończenia GET, pobieranie artykułów sprowadza się do jednej linii kodu:

Łatwo stwórz swoją stronę internetową dzięki Elementor

Elementor pozwala łatwo stworzyć dowolny projekt strony internetowej o profesjonalnym wyglądzie. Przestań płacić drogo za to, co możesz zrobić sam. [Bezpłatny]

$response = wp_remote_get( 'http://mysite.com/wp-json/wp/v2/posts/' );

Spraw, aby Twoje artykuły były popularne, odkrywając Jak dodać udostępniania przyciski na WordPress

Jeśli odpowiedź jest przedmiotem WP_Error, kończymy wykonywanie naszej funkcji widżet ()jeśli nie, badamy treść treści odpowiedzi za pomocą funkcji wp_remote_retrieve_body szukam artykułów zakodowanych w formacie JSON. Tak wygląda funkcja widżet ()  :

 public function widget( $args, $instance ) {
    $response = wp_remote_get( 'http://mysite.com/wp-json/wp/v2/posts/' );

    if( is_wp_error( $response ) ) {
        return;
    }

    $posts = json_decode( wp_remote_retrieve_body( $response ) );

    if( empty( $posts ) ) {
        return;
    }   
    echo $args['before_widget'];

    if( !empty( $instance['title'] ) ) {
        echo $args['before_title'] . apply_filters( 'widget_title', $instance['title'], $instance, $this->id_base ) . $args['after_title'];
    }
    if( !empty( $posts ) ) {
        echo '<ul>';
        foreach( $posts as $post ) {
            echo '<li><a href="' . $post->link. '">' . $post->title->rendered . '</a></li>';
        }
        echo '</ul>';
    }
    echo $args['after_widget'];
}

Interesujące w tym przykładzie jest zamiana funkcji wp_remote_get w przeciwnym razie ten przykład będzie poza zakresem WordPress. Oznacza to, że możemy przesyłać zapytania do rdzenia WordPressa z dowolnej innej platformy, czy to Joomla, Prestashop, Drupal, Android czy IOS.

Idź dalej, odkrywając je Wtyczki 8 WordPress, aby zamienić swoją stronę w aplikację mobilną

Możesz więc stworzyć natywną aplikację mobilną połączoną z zapleczem WordPress. REST API zmienia WordPress w platformę do tworzenia aplikacji.

Idź dalej z REST API

Zapytania do rdzenia WordPressa w celu interakcji z danymi stanowią 90% jego wykorzystania. Ale wciąż jest kilka obszarów, które warto zbadać: w pamięci podręcznej odpowiedzi, uwierzytelniania i wykrywania usług.

Buforowanie odpowiedzi

Kiedy pobieramy informacje, takie jak artykuły w naszym przykładzie, dobrą praktyką jest przechowywanie ich w pamięci podręcznej, tj. Skopiowanie ich gdzieś na terminalu wywołującym, aby uniknąć innych wywołań tych samych informacji. serwer. Istnieją różne podejścia, aby to osiągnąć, w tym JP REST API CACHEThe wtyczek pamięci podręcznej, i przejściach.

Ideą przejściową jest lokalne kopiowanie informacji z datą wygaśnięcia. Domyślnie kopia będzie w bazie danych, ale niektóre implementacje pozwalają na kopiowanie bezpośrednio do pamięci, co jeszcze bardziej przyspiesza operację przywracania.

Zobacz także te Wtyczki WordPress premium 7 do optymalizacji buforowania Twojej witryny

Informacje są następnie pobierane z lokalnej bazy danych aż do ich wygaśnięcia, po czym są przywoływane ze zdalnej witryny internetowej. Oto zmodyfikowana wersja naszego widżetu, która zawiera pojęcie przejściowe (z nową funkcją):

public function get_remote_posts() {
    $posts = get_transient( 'remote_posts' );
    if( empty( $posts ) ) {
        $response = wp_remote_get( 'http://votre-domaine.com/wp-json/wp/v2/posts/' );
        if( is_wp_error( $response ) ) {
            return array();
        }

        $posts = json_decode( wp_remote_retrieve_body( $response ) );

        if( empty( $posts ) ) {
            return array();
        }

        set_transient( 'remote_posts', $posts, HOUR_IN_SECONDS );
    }

    return $posts;
}

public function widget( $args, $instance ) {
    $posts = $this->get_remote_posts();

    if( empty( $posts ) ) {
        return;
    }
    
    echo $args['before_widget'];

    if( !empty( $instance['title'] ) ) {
        echo $args['before_title'] . apply_filters( 'widget_title', $instance['title'], $instance, $this->id_base ) . $args['after_title'];
    }

    echo '<ul>';
    foreach( $posts as $post ) {
        echo '<li><a href="' . $post->link. '">' . $post->title->rendered . '</a></li>';
    }
    echo '</ul>';

    echo $args['after_widget'];

}

Poświadczenie

Podczas pracy z zasobami zewnętrznymi zaleca się identyfikację. Odbywa się to poprzez proces uwierzytelniania. Interfejs API REST udostępnia dwie metody identyfikacji: uwierzytelnianie podstawowe i OAuth.

Uwierzytelnianie podstawowe : z dwóch metod, ta jest prostsza. Polega na wysyłaniu nazwy użytkownika i hasła przy każdym żądaniu, co niesie ze sobą duże zagrożenie bezpieczeństwa. Z tego powodu NIE należy go używać w produkcji w jak największym stopniu.

Aby korzystać z uwierzytelniania podstawowego, musisz zainstalować i aktywować wtyczkę Basic Auth. Następnie, aby wykonać uwierzytelnione wywołanie, zadeklaruj nagłówek za pomocą Podstawowy i zadzwoń:

$headers = array (
    'Authorization' => 'Basic ' . base64_encode( 'username:password' ),
);

$response = wp_remote_request( 'http://votre-domaine.com/wp-json/wp/v2/posts/1234/', array(
    'method' => 'DELETE',
    'headers' => $headers
));

Zobacz także jak dodać uwierzytelnianie dwuskładnikowe w WordPress

Uważaj na ten przykład, ponieważ jeśli spróbujesz go na swojej stronie internetowej, usuniesz artykuł, który ma identyfikator 1234, jeśli istnieje..

OAuth : Ta metoda, nadal niejasna z punktu widzenia dokumentacji, wymaga zainstalowania i aktywacji wtyczki OAuth1. Wdrożenie tej metody uwierzytelniania obejmuje instalację i połączone użycie WP-CLI, wiersz poleceń dla WordPress i WP CLI Client.

Wprowadzenie interfejsów linii poleceń samo w sobie nie jest problemem, ale problemem jest brak listy poleceń.

Odkrycie usługi

Częścią uczenia się dowolnego interfejsu API jest zapoznanie się z jego opcjami. Dlatego polecam sprawdzić tę część odkrycie usługi dokumentacji WordPress REST API.

Znajdziesz tam metody interakcji z artykułami, typami postów, mediami, metadanymi, a także nieprawidłowości, takie jak brak możliwości usunięcia użytkownika lub inne drobne problemy.

Pamiętaj, że jest to praca w toku, która już jest bardzo interesująca.

Kto korzysta z API REST WordPress?

We wszystkim są pionierzy, WordPress REST API nie jest wyjątkiem. Oto krótka lista nielicznych firm, które mimo młodego wieku korzystają z API:

Ludzkie używaj API do tworzenia stron internetowych dla klientów, którzy chcą czegoś bardziej elastycznego dla frontendu.

WP Search Live to darmowa wtyczka, która wykorzystuje API do swoich funkcji wyszukiwania.

editus to wtyczka premium, która wykorzystuje API do swoich funkcji edycji frontendu.

D'après Kto tego używa? inne osoby i firmy wdrażają WordPress REST API do tworzenia aplikacji mobilnych.

Pomimo swojej młodości, WordPress REST API jest bardzo obiecujący jako główna funkcja w przekształcaniu WordPressa w platformę do tworzenia aplikacji.

Czy korzystasz także z WordPress REST API?  Chcielibyśmy mieć Twoje wrażenia na ten temat.

Jak oceniasz możliwości, jakie oferuje? Podziel się z nami swoimi reakcjami w naszej sekcji komentarzy.

Odkryj także niektóre wtyczki premium WordPress  

Możesz użyć innych wtyczek WordPress, aby nadać nowoczesny wygląd i zoptymalizować chwyt swojego bloga lub strony internetowej.

Oferujemy tutaj kilka premium wtyczek WordPress, które pomogą Ci to zrobić.

1. Przekierowanie Ultimate w WordPress

Wtyczka „WordPress Ultimate Redirect” to jedyne rozwiązanie potrzebne do zarządzania wszystkimi przekierowaniami, błędami 404, migracją witryny i / lub potrzebą zmiany lub transferu domeny.

Wtyczka Wordpress Ultimate do przekierowań

Istnieją wtyczki, które robią to samo, co wtyczka, ale nie wszystkie w tym samym czasie. Ta wtyczka zapewnia wszystkie zwykłe funkcje przekierowania 404, a także nasze ulubione „automatyczne przekierowanie do najbliższego adresu URL”.

Pobierz | Demo | hosting

2. Leadeo

Czy wiesz, że użycie filmu na stronie docelowej może poprawić konwersje o więcej niż 80%. Podobnie na stronach sprzedaży z więcej niż 46%. Leadeo może pomóc Ci uzyskać więcej potencjalnych klientów i sprzedaży od osób oglądających wideo na Twoim blogu.Leadeo

Dzięki tej wtyczce będziesz mógł stworzyć przydatne wideo dla wybranej grupy docelowej, udostępnić je w swoich sieciach społecznościowych i liście kontaktów za pośrednictwem poczty elektronicznej oraz wysłać reklamy. Więc ludzie zobaczą film i będą się nim cieszyć.

Ponieważ film wzbudza oczekiwane zainteresowanie, tym, którzy go obejrzeli, oferujemy:

  • zasubskrybuj swoją listę e-mailową, aby otrzymywać wskazówki
  • skontaktować się z tobą
  • podziel się interesującą rzeczą, którą powiedziałeś na filmie
  • udostępnij wideo znajomym
  • kliknij przycisk wezwania do działania
  • i inne

Wszystkie te czynności znajdują się po prawej stronie filmu.

Pobierz | Demo | hosting

3. CommentPress

CommentPress to potężna kompaktowa wtyczka WordPress, która pozwala szybko i łatwo wstawiać, edytować i usuwać komentarze. CommentPress używa Ajax, jQuery i PHP, aby dać odwiedzającym możliwość wstawiania komentarzy bez konieczności przeładowywania strony.Komentarze Commentpress ajax wstawianie edycji i usuwania komentarzy

Ta wtyczka ma wiele opcji dostosowywania, w końcu nadając jej pożądany wygląd. Ma captcha do blokowania spamu i zapewnia większe bezpieczeństwo w sekcji komentarzy.

Jego główne cechy to: łatwe wstawianie komentarzy, możliwość odpowiadania na określone komentarze, paginacja komentarzy, pełne zarządzanie administracją sekcją komentarzy, przyciski do łatwego wstawiania zdjęć, filmy i linki, w pełni responsywny układ, Captcha do zabezpieczania formularza i zapobiegania spamowi i wiele więcej.

Pobierz | Demo | hosting

Polecane zasoby

Dowiedz się o innych zalecanych zasobach, które pomogą Ci zbudować witrynę i zarządzać nią.

Wnioski

Nie! To wszystko w tym samouczku. Mamy nadzieję, że ten samouczek pokazał, jak korzystać z API REST WordPress. Nie wahaj się udostępnij ten artykuł znajomym w swoich ulubionych sieciach społecznościowych

Będziesz jednak mógł również skonsultować się z nami Zasoby, jeśli potrzebujesz więcej elementów do realizacji projektów tworzenia stron internetowych, zapoznaj się z naszym przewodnikiem na stronie Tworzenie bloga WordPress.

Jeśli masz sugestie lub uwagi, zostaw je w naszej sekcji commentaires.

... 

Ten artykuł zawiera komentarze 5

  1. Bracie, jak mogę utworzyć element modelu dla pozostałego interfejsu API lub element modelu, który został utworzony, nazwa modelu, identyfikator modelu, plik json, link do adresu URL podglądu ? Dziękuję za wyjaśnienie

  2. Dzięki za ten artykuł, osobiście mam teraz problem z REST API i Woocommerce. Używam wtyczki bezpieczeństwa Secupress i niektórych reguł .htaccess, od tego czasu mam problemy z synchronizacją LET IT BILL.

    Przeniosłem się ze środowiska produkcyjnego Legacy do stabilnego.

    Każdy pomysł?

  3. Witam, mówisz zadeklarować nagłówek

    $ nagłówki = tablica (
    „Autoryzacja” => „Podstawowa”. base64_encode ('nazwa użytkownika: hasło'),
    );

    ale w którym pliku mam mały problem ze zrozumieniem wszystkiego, przepraszam

Zostaw komentarz

Twoj adres e-mail nie bedzie opublikowany. Wymagane pola są oznaczone *

Ta strona używa Akismet, aby zmniejszyć niechciane. Dowiedz się więcej o sposobie wykorzystania danych komentarzy.

Powrót do góry