Caratteristica dopo caratteristica, WordPress tende a lasciare il mantello del sistema di blog e quello del sistema di sviluppo delle applicazioni. Il primo passo notevole verso questo cambiamento è stata l'introduzione tipi di post personalizzati nella sua versione 2.9.

Oggi, la trasformazione continua con l'arrivo di API REST di WordPress.

In questo tutorial, spiegherò cos'è l'API REST di WordPress e ti mostrerò come usarla.

Ma prima, se non hai mai installato WordPress, scopri Come installare un blog WordPress in 7 passaggi et Come trovare, installare e attivare un tema WordPress sul tuo blog 

Quindi torniamo al perché siamo qui

Cos'è l'API REST

Per dirla semplicemente, comprendi che l'API REST di WordPress ti consente di interagire con il nucleo di WordPress senza passare attraverso la sua interfaccia grafica. Ciò significa un disaccoppiamento del kernel e della GUI. Con questa API puoi ad esempio creare un nuovo articolo, senza dover accedere al file cruscotto. L'API REST sarà inclusa nel kernel quando la versione 4.4 sarà rilasciata entro dicembre.

Data la natura dell'oggetto di questo tutorial, è necessaria una buona conoscenza del linguaggio PHP e di WordPress.

Di cosa abbiamo bisogno per questo tutorial

Per iniziare con l'API REST, avrai bisogno del plugin API REST così come l'ultima versione di WordPress. Lo avete ? Altrimenti, capire perchéLa conoscenza dell'API HTTP di WordPress sarà anche una buona compagnia per effettuare chiamate remote.

Scopri cliccando su questo link Come installare (aggiungere) un plugin su WordPress

Come progetto per questo tutorial creerà un'installazione locale di WordPress da cui recupereremo gli articoli dal nostro sito web tramite l'API REST. Assicurati di aver installato e attivato il plug-in dell'API REST sul sito Web di produzione.

Ora crea un widget di nella tua installazione locale. Ecco il codice di base:

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

Nella directory dei plugin del tuo sito Web locale, crea una cartella denominata widget di test-resto-api. In questa cartella, creare un file denominato widget di test-riposo-api.php e incolla il codice sopra.

Scopri a proposito Come gestire e ripristinare una versione di WordPress con VersionPress

Questo codice contiene l'intestazione del plugin (i commenti all'inizio del codice) che fa sapere a WordPress che si tratta di un plugin. Poi viene il codice minimo per creare un widget, aumentato di poche righe. 

Metteremo più enfasi sulla funzione Widget (), perché è al suo interno che viene costruita la visualizzazione del widget. Pertanto, è all'interno di questa funzione che effettueremo le chiamate utilizzando l'API HTTP.

Recupera articoli

Avremo bisogno di alcune informazioni per interrogare il sito web di produzione o il sito web online. Questi costituiranno in un certo senso la domanda posta al nucleo di WordPress del nostro sito Web online. Questi sono il percorso API di base, il percorso utilizzato, la terminazione utilizzata, le intestazioni ei parametri.

Sublimate le tue immagini illustrative scoprendo Come creare immagini interattive su un blog WordPress

Il percorso base dell'API REST di WordPress è sempre / Wp-JSON / wp / v2 /. Così, il percorso completo sarà http://votre-domaine.com/wp-json/wp/v2/.

Il percorso utilizzato per recuperare gli elementi è / messaggi. Ciò che rende il percorso completo per gli articoli è http://votre-domaine.com/wp-json/wp/v2/posts.

Ogni rotta può avere un numero di terminazioni, differenziate dal metodo HTTP utilizzato. Quindi il percorso di un articolo può essere / Messaggi / 291. Questo 3 strada finali:

GET : per recuperare l'articolo
PUT : per aggiornare l'articolo
DELETE : per eliminare l'articolo.

Utilizzando l'API HTTP e la terminazione GET, il recupero degli articoli si riduce a una riga di codice:

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

Rendi popolari i tuoi articoli scoprendo Come aggiungere pulsanti di condivisione su WordPress

Se la risposta è un oggetto WP_Error, terminiamo l'esecuzione della nostra funzione Widget ()in caso contrario, esaminiamo il contenuto del corpo della risposta con la funzione wp_remote_retrieve_body alla ricerca di articoli codificati in formato JSON. Questo è l'aspetto della funzione 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'];
}

Ciò che è interessante in questo esempio è che sostituendo la funzione wp_remote_get in caso contrario, questo esempio esulerà dall'ambito di WordPress. Ciò significa che puoi interrogare il core di WordPress da qualsiasi altra piattaforma, sia essa Joomla, Prestashop, Drupal, Android o IOS.

Vai oltre scoprendoli Plugin 8 WordPress per trasformare il tuo sito Web in un'applicazione mobile

È quindi possibile creare un'applicazione mobile nativa collegata a un back office di WordPress. L'API REST trasforma WordPress in una piattaforma di sviluppo di applicazioni.

Vai oltre con l'API REST

L'interrogazione del core di WordPress allo scopo di interagire con i dati costituisce il 90% del suo utilizzo. Ma ci sono ancora alcune aree che sarebbe interessante esplorare: caching risposta, autenticazione e rilevamento dei servizi.

Memorizzazione nella cache

Quando recuperiamo informazioni come gli articoli del nostro esempio, è buona norma memorizzarle nella cache, ovvero copiarle da qualche parte sul terminale chiamante per evitare altre chiamate per le stesse informazioni il server. Esistono diversi approcci per raggiungere questo obiettivo, incluso JP REST API CACHE, il Cache plugin, e transitori.

L'idea del transitorio è copiare le informazioni localmente con una data di scadenza. Per impostazione predefinita, la copia sarà nel database, ma alcune implementazioni consentono la copia direttamente in memoria, il che rende l'operazione di ripristino ancora più veloce.

Vedi anche questi Plugin WordPress 7 premium per ottimizzare la memorizzazione nella cache del tuo sito Web

Le informazioni vengono quindi recuperate dal database locale fino alla loro scadenza, dove vengono poi richiamate dal sito remoto. Ecco una versione modificata del nostro widget che include la nozione di transitorio (con una nuova funzione):

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

}

Autenticazione

Quando si lavora con risorse esterne, è consigliabile identificarsi. Questo viene fatto tramite il processo di autenticazione. L'API REST offre due metodi per identificarti: autenticazione di base e OAuth.

Autenticazione di base : dei due metodi, questo è il più semplice. Consiste nell'invio del nome utente e della password con ogni richiesta, il che comporta grandi rischi per la sicurezza. Per questo motivo, NON dovrebbe essere utilizzato il più possibile in produzione.

Per utilizzare l'autenticazione di base, è necessario installare e attivare il plug-in Basic-Auth. Quindi, per effettuare una chiamata autenticata, dichiara l'intestazione con Di base e fai la chiamata:

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

Vedi anche come aggiungere l'autenticazione a doppio fattore su WordPress

Fai attenzione con questo esempio, perché se lo provi sul tuo sito web, cancellerai l'articolo che ha l'ID 1234 se esiste..

OAuth : Questo metodo, ancora oscuro dal punto di vista della documentazione, richiede l'installazione e l'attivazione del plugin OAuth1. L'implementazione di questo metodo di autenticazione include l'installazione e l'uso combinato di WP-CLI, una riga di comando per WordPress e WP CLI client.

L'introduzione di interfacce a riga di comando non è un problema in sé, ma è la mancanza di un elenco di comandi il problema.

Rilevazione del servizio

Parte dell'apprendimento di qualsiasi API sta acquisendo familiarità con le sue opzioni. Quindi ti consiglio di controllare la parte scoperta del servizio della documentazione dell'API REST di WordPress.

Lì troverai metodi per interagire con articoli, tipi di post, media, metadati e irregolarità come l'impossibilità di eliminare un utente o altre preoccupazioni minori.

Ricorda che questo è un lavoro in corso che è già molto interessante.

Chi utilizza l'API REST di WordPress?

In tutte le cose ci sono dei pionieri, l'API REST di WordPress non fa eccezione. Ecco un breve elenco delle poche aziende che utilizzano l'API, nonostante la sua giovane età:

fatta umana utilizza l'API per creare siti web per i clienti che desiderano qualcosa di più flessibile per il frontend.

WP Live Search è un plugin gratuito che utilizza l'API per le sue funzioni di ricerca.

Editus è un plugin premium che utilizza l'API per le sue funzioni di modifica frontend.

Secondo il Chi sta usando questa cosa? altre persone e aziende stanno implementando l'API REST di WordPress per creare applicazioni mobili.

Nonostante la sua giovinezza, l'API REST di WordPress è una grande promessa come caratteristica principale nella trasformazione di WordPress in una piattaforma di sviluppo di applicazioni.

Utilizzi anche l'API REST di WordPress?  Vorremmo avere le tue impressioni sull'argomento.

Come trovi le opportunità che offre? Condividi le tue reazioni con noi nella nostra sezione commenti.

Scopri anche alcuni plugin WordPress premium  

Puoi usare altro plugin di WordPress per dare un aspetto moderno e per ottimizzare la gestione del tuo blog o sito web.

Ti offriamo qui alcuni plugin WordPress premium che ti aiuteranno a farlo.

1. WordPress Ultimate Redirect

Il plugin "WordPress Ultimate Redirect" è l'unica soluzione di cui hai bisogno per gestire tutti i tuoi reindirizzamenti, 404, migrazione del sito e / o cambio di dominio o esigenze di trasferimento.

Il plugin di reindirizzamento definitivo per Wordpress

Esistono plugin che fanno quello che fa il plugin, ma non tutti contemporaneamente. Questo plugin fornisce tutte le solite funzionalità di reindirizzamento 404, più il nostro preferito "reindirizzamento automatico alla corrispondenza URL più vicina".

Download | Demo | Web hosting

2. Leadeo

Sapevi che l'utilizzo di un video sulla tua Pagina di destinazione può migliorare le conversioni di oltre il 80%. Allo stesso modo sulle pagine di vendita con oltre il 46%. Leadeo può aiutarti a ottenere più lead e vendite dalle persone che guardano il video sul tuo blog.Leadeo

Grazie a questo plugin, puoi farlo fare un video utile per un pubblico mirato, condividilo sui tuoi social network e sulla tua lista di contatti via email e invia qualche pubblicità. Quindi le persone vedranno il video e gli piaceranno.

Poiché il video genera l'interesse atteso, a chi lo ha visto viene offerto:

  • iscriviti alla tua mailing list per ricevere ottimi consigli
  • per contattarti
  • condividi una cosa interessante che hai detto nel video
  • condividere il video con i loro amici
  • fare clic sul pulsante di invito all'azione
  • e altri

E tutte queste azioni sono offerte solo a destra del video.

Download | Demo | Web hosting

3. CommentPress

CommentPress è un potente plug-in compatto per WordPress che consente di inserire, modificare ed eliminare i commenti in modo rapido e semplice. CommentPress utilizza Ajax, jQuery e PHP per offrire ai visitatori la possibilità di inserire commenti senza dover ricaricare la pagina.Commentpress ajax commenti inserire modificare ed eliminare commenti

Questo plugin ha molte opzioni di personalizzazione, che finalmente danno l'aspetto e la sensazione che desideri. Ha un captcha per bloccare lo spam e porta nella sezione commenti una maggiore sicurezza.

Le sue caratteristiche principali sono: il facile inserimento dei commenti, la possibilità per gli utenti di rispondere a commenti specifici, l'impaginazione dei commenti, la completa gestione dell'amministrazione della sezione commenti, pulsanti per un facile inserimento di immagini, video e collegamenti, un layout completamente reattivo, un captcha per proteggere il modulo e prevenire lo spam e molto altro ancora.

Download | Demo | Web hosting

Risorse raccomandate

Scopri altre risorse consigliate per aiutarti a costruire e gestire il tuo sito web.

Conclusione

Ecco! Questo è tutto per questo tutorial. Ci auguriamo che questo tutorial ti abbia mostrato come utilizzare l'API REST di WordPress. Non esitate a condividi questi articoli con i tuoi amici sui tuoi social network preferiti

Tuttavia, sarai anche in grado di consultare il nostro risorse, se hai bisogno di più elementi per realizzare i tuoi progetti di creazione di siti Internet, consultando la nostra guida su Creazione di blog WordPress.

Se hai suggerimenti o commenti, lasciali nella nostra sezione commentaires.

...