Caracteristică după caracteristică, WordPress tinde să renunțe la sistemul de blogging și la cel al sistemului de dezvoltare a aplicațiilor. Primul pas vizibil către această schimbare a fost introducerea tipuri de postare personalizate în versiunea sa 2.9.

Astăzi, transformarea continuă odată cu venirea lui API WordPress REST.

În acest tutorial, vă voi prezenta ce este API-ul WordPress REST și vă voi arăta cum să îl utilizați.

Dar înainte, dacă nu ați instalat niciodată WordPress, descoperiți Cum se instalează a WordPress blog în 7 pași et Cum de a găsi, a instala și a activa o temă WordPress pe blog-ul dvs. 

Apoi să revenim la motivul pentru care suntem aici

Ce este API-ul REST

Mai simplu spus, înțelegeți că WordPress REST API vă permite să interacționați cu nucleul WordPress fără a trece prin interfața sa grafică. Aceasta înseamnă o decuplare a nucleului și a interfeței grafice. Cu acest API, puteți crea, de exemplu, un articol nou, fără a fi nevoie să accesați tablou de bord. API-ul REST va fi inclus în nucleu atunci când versiunea 4.4 este lansată până în decembrie.

Având în vedere natura subiectului acestui tutorial, este necesară o bună cunoaștere a limbajului PHP și WordPress.

De ce avem nevoie pentru acest tutorial

Pentru a începe cu API-ul REST, veți avea nevoie de plugin API-ul REST precum și cea mai recentă versiune de WordPress. Îl aveți ? Dacă nu, vezi de ceCunoașterea API-ului HTTP WordPress va fi, de asemenea, companii bune pentru efectuarea de apeluri la distanță.

Descoperiți făcând clic pe acest link Cum se instalează (se adaugă) un plugin pe WordPress

Ca un proiect pentru acest tutorial am va crea o instalare locală a WordPress din care vom prelua articole de pe site-ul nostru web prin intermediul API-ului REST. Asigurați-vă că aveți instalat și activat pluginul REST API pe site-ul de producție.

Acum, creați o widget în instalația dvs. locală. Iată codul de bază:

/**
 * 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' );
});

În directorul de pluginuri al site-ului dvs. web local, creați un folder numit widget-test-rest-api. În acest folder, creați un fișier numit widget-test-rest-api.php și lipiți codul de mai sus.

Descoperiți apropo Cum să gestionați și să restaurați o versiune de WordPress cu VersionPress

Acest cod conține antetul pluginului (comentariile de la începutul codului) care îi permite WordPress să știe că este un plugin. Urmează codul minim pentru crearea unui widget, mărit cu câteva linii. 

Vom pune mai mult accent pe funcție widget (), deoarece este în interiorul căruia se construiește afișajul widgetului. Prin urmare, în această funcție vom efectua apelurile folosind API-ul HTTP.

Obține articole

Vom avea nevoie de câteva informații pentru a interoga site-ul web de producție sau site-ul online. Acestea vor constitui într-un fel întrebarea adresată nucleului WordPress al site-ului nostru online. Acestea sunt calea API de bază, ruta utilizată, terminarea utilizată, anteturile și parametrii.

Sublimează-ți imaginile ilustrative descoperind Cum să creezi imagini interactive pe un blog WordPress

Calea de bază WordPress REST API este întotdeauna / Wp-json / wp / v2 /. Astfel, calea completă va http://votre-domaine.com/wp-json/wp/v2/.

Ruta folosită pentru preluarea articolelor este / posturi. Ceea ce face traseul complet pentru articole este http://votre-domaine.com/wp-json/wp/v2/posts.

Fiecare rută poate avea un număr de terminații, diferențiate prin metoda HTTP utilizată. Astfel traseul unui articol poate fi / Posturi / 291. Acest 3 rutier finaluri:

GET : pentru a recupera articolul
PUT : pentru a actualiza articolul
DELETE : pentru a șterge articolul.

Folosind API-ul HTTP și terminarea GET, preluarea articolelor se reduce la o linie de cod:

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

Faceți-vă articolele populare descoperind Cum de a adăuga butoane de partajare de pe WordPress

Dacă răspunsul este un obiect WP_Error, încheiem executarea funcției noastre widget ()dacă nu, examinăm conținutul corpului răspunsului cu funcția wp_remote_retrieve_body caută articole codificate în format JSON. Așa arată funcția widget ()  :

 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'];
}

Ceea ce este interesant în acest exemplu este că prin înlocuirea funcției wp_remote_get în caz contrar, acest exemplu va fi în afara scopului WordPress. Aceasta înseamnă că putem interoga nucleul WordPress de pe orice altă platformă, fie că este vorba de Joomla, Prestashop, Drupal, Android sau IOS.

Mergeți mai departe descoperind acestea 8 pluginurile WordPress pentru a transforma site-ul dvs. într-o aplicație mobilă

Prin urmare, puteți crea o aplicație mobilă nativă conectată la un back office WordPress. API-ul REST transformă WordPress într-o platformă de dezvoltare a aplicațiilor.

Mergeți mai departe cu API-ul REST

Interogarea nucleului WordPress în scopul interacțiunii cu datele constituie 90% din utilizarea sa. Dar există încă câteva domenii pe care ar fi interesant să le explorăm: Caching răspuns, autentificare și descoperire de servicii.

Memorie în cache de răspuns

Când preluați informații, cum ar fi articolele din exemplul nostru, este o bună practică să le cache, adică să le copiați undeva pe terminalul apelant pentru a evita alte apeluri pentru aceleași informații către server-ul. Există diferite abordări pentru a realiza acest lucru, inclusiv JP REST API CACHE, cache-plugin-uri, și fenomene tranzitorii.

Ideea de tranzitorie este de a copia informațiile la nivel local cu o dată de expirare. În mod implicit, copia va fi în baza de date, dar unele implementări permit copierea direct în memorie, ceea ce face ca operațiunea de restaurare să fie și mai rapidă.

Vezi și acestea Pluginuri WordPress 7 premium pentru a optimiza memorarea în cache a site-ului dvs. web

Informațiile sunt apoi preluate din baza de date locală până la expirarea acesteia, unde sunt apoi recuperate de pe site-ul web la distanță. Iată o versiune modificată a widgetului nostru care include noțiunea de tranzitoriu (cu o nouă funcție):

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'];

}

Autentificare

Când lucrați cu resurse externe, este recomandabil să vă identificați. Acest lucru se face prin procesul de autentificare. API-ul REST vă oferă două metode pentru a vă identifica: autentificare de bază și OAuth.

Autentificare de bază : dintre cele două metode, aceasta este cea mai simplă. Acesta constă în trimiterea numelui de utilizator și a parolei cu fiecare solicitare, ceea ce prezintă riscuri mari de securitate. Din acest motiv, NU trebuie utilizat în producție cât mai mult posibil.

Pentru a utiliza autentificarea de bază, trebuie să instalați și să activați pluginul Basic-Auth. Apoi, pentru a efectua un apel autentificat, declarați antetul cu De bază și efectuați apelul:

$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
));

Vezi și cum să adăugați autentificare cu doi factori pe WordPress

Aveți grijă cu acest exemplu, deoarece dacă îl încercați pe site-ul dvs. web, veți șterge articolul care are ID-ul 1234 dacă există..

OAuth : Această metodă, încă obscură din punctul de vedere al documentației, necesită instalarea și activarea pluginului OAuth1. Implementarea acestei metode de autentificare include instalarea și utilizarea combinată a WP-CLI, o linie de comandă pentru WordPress și WP CLI Client.

Introducerea interfețelor de linie de comandă nu este o problemă în sine, dar problema este lipsa listei de comenzi.

Descoperirea serviciului

O parte din învățarea oricărui API se familiarizează cu opțiunile sale. Așadar, vă recomand să verificați piesa descoperirea serviciului din documentația API WordPress REST.

Acolo veți găsi metode de interacțiune cu articole, tipuri de postări, media, metadate, precum și nereguli precum incapacitatea de a șterge un utilizator sau alte preocupări minore.

Amintiți-vă că aceasta este o lucrare în curs, care este deja foarte interesantă.

Cine folosește WordPress REST API?

În toate lucrurile există pionieri, API-ul WordPress REST nu face excepție. Iată o scurtă listă a puținelor companii care folosesc API-ul, în ciuda tinereții sale:

Fabricate uman utilizați API-ul pentru a crea site-uri web pentru clienții care doresc ceva mai flexibil pentru frontend.

WP Live Search este un plugin gratuit care folosește API-ul pentru funcțiile sale de căutare.

editus este un plugin premium care folosește API-ul pentru funcțiile sale de editare frontend.

D'après Cine folosește chestia asta? alte persoane și companii implementează WordPress REST API pentru a crea aplicații mobile.

În ciuda tinereții sale, API-ul WordPress REST deține o mare promisiune ca o caracteristică majoră în transformarea WordPress într-o platformă de dezvoltare a aplicațiilor.

Folosiți și API-ul WordPress REST?  Am dori să avem impresiile dvs. despre acest subiect.

Cum găsiți oportunitățile pe care le oferă? Distribuiți reacțiile dvs. cu noi în secțiunea noastră de comentarii.

Descoperiți și câteva plugin-uri premium WordPress  

Puteți folosi altele WordPress plugin-uri pentru a oferi un aspect modern și pentru a optimiza gestionarea blogului sau site-ului dvs.

Vă oferim aici câteva plugin-uri WordPress premium care vă vor ajuta să faceți asta.

1. WordPress Ultimate Redirect

Pluginul „WordPress Ultimate Redirect” este singura soluție de care aveți nevoie pentru a gestiona toate redirecționările, 404-urile, migrarea site-ului și / sau schimbarea domeniului sau nevoile de transfer.

Plugin de redirecționare Wordpress

Există pluginuri care fac ceea ce face pluginul, dar nu toate în același timp. Acest plugin oferă toate funcționalitățile obișnuite de redirecționare 404, plus „redirecționarea automată către cea mai apropiată potrivire URL”.

Descarca | Demo | web hosting

2. Leadeo

Știați că utilizarea unui videoclip pe pagina dvs. de destinație poate îmbunătăți conversiile cu mai mult de 80%. De asemenea, pe paginile de vânzări cu peste 46%. Leadeo vă poate ajuta să obțineți mai multe oportunități și vânzări de la persoanele care urmăresc videoclipul pe blogul dvs.Leadeo

Datorită acestui plugin, puteți face un videoclip util pentru un public vizat, partajați-l pe rețelele dvs. de socializare și pe lista de contacte prin e-mail și trimiteți câteva reclame. Așa că oamenii vor vedea videoclipul și vor aprecia.

Deoarece videoclipul generează interesul așteptat, celor care l-au vizionat li se oferă:

  • înscrieți-vă pentru lista de e-mailuri pentru a primi sfaturi grozave
  • să vă contacteze
  • împărtășește un lucru interesant pe care l-ai spus în videoclip
  • împărtășesc videoclipul cu prietenii lor
  • faceți clic pe butonul de îndemn
  • și altele

Și toate aceste acțiuni sunt oferite chiar în dreapta videoclipului.

Descarca | Demo | web hosting

3. CommentPress

CommentPress este un puternic plugin compact WordPress care vă permite să introduceți, să editați și să ștergeți comentariile rapid și ușor. CommentPress utilizează Ajax, jQuery și PHP pentru a oferi vizitatorilor posibilitatea de a insera comentarii fără a fi nevoie să reîncarce pagina.Commentpress ajax comments inserați editați și ștergeți comentariile

Acest plugin are multe opțiuni de personalizare, oferindu-i în sfârșit aspectul și senzația dorită. Are un captcha pentru a bloca spam și aduce securitate la secțiunea de comentarii.

Principalele sale caracteristici sunt: ​​inserarea ușoară a comentariilor, posibilitatea utilizatorilor de a răspunde la comentarii specifice, paginarea comentariilor, gestionarea completă a administrării secțiunii de comentarii, butoane pentru inserarea ușoară a imaginilor, videoclipuri și linkuri, un aspect complet receptiv, un Captcha pentru securizarea formularului și prevenirea spamului și multe altele.

Descarca | Demo | web hosting

Resurse recomandate

Aflați despre alte resurse recomandate pentru a vă ajuta să construiți și să gestionați site-ul dvs. web.

Concluzie

Acolo! Gata pentru acest tutorial. Sperăm că acest tutorial v-a arătat cum să utilizați WordPress REST API. simte-te liber sa împărtășește acest articol cu ​​prietenii de pe rețelele de socializare preferate

Cu toate acestea, veți putea, de asemenea, să ne consultați Resurse, dacă aveți nevoie de mai multe elemente pentru a vă derula proiectele de creare a site-urilor de internet, consultați ghidul nostru cu privire la Creare blog WordPress.

Dacă aveți sugestii sau observații, lăsați-le în secțiunea noastră comentarii.

...