Api WordPress immagine in evidenza

API WordPress: cosa sono e come consumarle

Le API WordPress

WordPress mette a disposizioni degli endpoint API per i tipi di dati di WordPress. Questo permette agli sviluppatori di interagire con i siti in modalità remota inviando e ricevendo oggetti JSON (JavaScript Object Notation).

Tramite le API WordPress è quindi possibile creare, leggere e aggiornare i contenuti WordPress da JavaScript lato client o da applicazioni esterne, anche quelle scritte non in PHP.

Perché usare API WordPress REST

Tramite l’uso delle API WordPress potrebbe diventare un sistema di generazione di contenuti dividendo quello che è il backend “Bacheca WordPress” dal frontend vero e proprio. Questo avvicinerebbe WordPress alle nuove idee di CMS Headless.

Questo permetterebbe di mantenere un sistema semplice di inserimento contenuti per gli utilizzatori “base” ma anche maggiore flessibilità nella generazione di grafiche e WebApp per gli sviluppatori.

Infatti non sarebbe nemmeno più necessario scrivere le applicazioni in PHP: qualsiasi linguaggio di programmazione che può fare le richieste HTTP e JSON ed  interpretarle può interagire con WordPress tramite l’API REST, da Node.js a Java e oltre.

Consumare le API WordPress con PHP

Ecco un semplicissimo esempio di come “catturare” gli articoli presenti in un blog WordPress con poche e semplici istruzioni PHP. Inoltre vedremo come leggere il numero di articoli e la paginazione degli stessi, presenti nella testata della risposta REST:

$url = 'http://manuelcesarini.it/wp-json/wp/v2/posts/';

$content = file_get_contents($url);
$json = json_decode($content, true);

foreach($json as $item) {

    if ($item['status']=='publish') {

        print $item['title']['rendered'];
        print ' - ';
        print $item['slug'];
        print ' 
 ';
        print $item['content']['rendered'];
        print '
';

    }
}

Andiamo adesso a leggere i dati di testata del Web Service che indicano il numero di articoli totali ed il numero di pagine:

$ch      = curl_init();
$headers = [];
curl_setopt($ch, CURLOPT_URL           , $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1   );
curl_setopt($ch, CURLOPT_HEADERFUNCTION,
  function($curl, $header) use(&$headers)
  {
    $len    = strlen($header);
    $header = explode(':', $header, 2);
    if (count($header) < 2)
      return $len;

    $headers[strtolower(trim($header[0]))] = trim($header[1]);
    return $len;
  }
);

$data = curl_exec($ch);
//print_r($headers);

$pag_totali = $headers['x-wp-total'];

$num_pagine = $headers['x-wp-totalpages'];

echo "Articoli totali: $pag_totali  - Pagine: $num_pagine ";

curl_close($ch);

Il risultato? date un occhio a questa pagina: http://manuelcesarini.it/test/test-api-wp.php

Documentazione

Per iniziare ad utilizzare le API WP consiglio di iniziare dalla documentazione base sulle API REST fornita da WordPress stesso:

https://developer.wordpress.org/rest-api/

Qui è possibile trovare tutte le informazioni per effettuare chiamate alle API, sia per “ricevere” che per “scrivere”.

In generale comunque può essere consultata la pagina https://codex.wordpress.org/WordPress_APIs che elenca tutte le tipologie di API fornite da WP.

 

0 comments on “API WordPress: cosa sono e come consumarleAdd yours →

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *