Functie na functie heeft WordPress de neiging om de mantel van het blogsysteem en die van het applicatieontwikkelingssysteem te laten vallen. De eerste opvallende stap op weg naar deze verandering was de introductie aangepaste berichttypen in de 2.9-versie.

Vandaag gaat de transformatie verder met de komst van WordPress REST API.

In deze zelfstudie laat ik je zien wat de WordPress REST API is en laat ik je zien hoe je deze kunt gebruiken.

Maar eerder, als je WordPress nog nooit hebt geïnstalleerd, ontdek je Hoe installeer ik een WordPress blog in 7 stappen et Hoe te vinden, installeren en activeren van een WordPress theme op uw blog 

Laten we dan teruggaan naar waarom we hier zijn

Wat is de REST API

Simpel gezegd, begrijp dat u met de WordPress REST API kunt communiceren met de kern van WordPress zonder de grafische interface te doorlopen. Dit betekent een ontkoppeling van de kernel en de GUI. Met deze API kun je bijvoorbeeld een nieuw artikel aanmaken, zonder dat je daarvoor het tableau de bord. De REST API wordt in de kernel opgenomen als versie 4.4 in december wordt uitgebracht.

Gezien de aard van het onderwerp van deze tutorial is een goede kennis van PHP-taal en WordPress noodzakelijk.

Wat hebben we nodig voor deze tutorial

Om aan de slag te gaan met de REST API, heb je de plug-in nodig REST API evenals de nieuwste versie van WordPress. Je hebt het ? Als niet, zie waaromKennis van de WordPress HTTP API zal ook goede bedrijven zijn om op afstand te bellen.

Ontdek door op deze link te klikken Hoe een plug-in op WordPress te installeren (toevoegen)

Als project voor deze zelfstudie, we maakt een lokale installatie van WordPress waaruit we artikelen van onze website halen via de REST API. Zorg ervoor dat u de REST API-plug-in hebt geïnstalleerd en geactiveerd op de productiewebsite.

Maak nu een widget in uw lokale installatie. Hier is de basiscode:

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

Maak een map met de naam in de map met plug-ins van uw lokale website widget test-rest-api. Maak in deze map een bestand met de naam widget test-rest-api.php en plak de bovenstaande code.

Ontdek het trouwens Een versie van WordPress beheren en herstellen met VersionPress

Deze code bevat de plug-in-header (de opmerkingen aan het begin van de code) waarmee WordPress weet dat het een plug-in is. Vervolgens komt de minimumcode voor het maken van een widget, verhoogd met een paar regels. 

We zullen meer nadruk leggen op functie widget (), omdat het hierin is dat de weergave van de widget is gebouwd. Daarom is het binnen deze functie dat we de aanroepen zullen doen met behulp van de HTTP API.

Artikelen ophalen

We hebben wat informatie nodig om de productiewebsite of online website te raadplegen. Deze vormen in zekere zin de vraag die aan de WordPress-kern van onze online website wordt gesteld. Dit zijn het basis-API-pad, de gebruikte route, de gebruikte terminatie, de headers en de parameters.

Sublimeer uw illustratieve afbeeldingen door te ontdekken Hoe interactieve afbeeldingen te maken op een WordPress-blog

Het standaard WordPress REST API-pad is altijd / Wp-json / wp / v2 /. Zo zal het volledige pad http://votre-domaine.com/wp-json/wp/v2/.

De route die wordt gebruikt om de items op te halen is / berichten. Wat de complete route voor artikelen maakt, is http://votre-domaine.com/wp-json/wp/v2/posts.

Elke route kan een aantal terminaties hebben, gedifferentieerd door de gebruikte HTTP-methode. Zo kan de route van een artikel zijn / Berichten / 291. Deze weg heeft 3-eindpunten:

GET : om het artikel op te halen
PUT : om het artikel bij te werken
VERWIJDEREN : om het artikel te verwijderen.

Met behulp van de HTTP API en de GET-beëindiging komt het ophalen van de artikelen neer op één regel code:

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

Maak uw artikelen populair door te ontdekken Hoe kan ik toevoegen sharing knoppen op WordPress

Als het antwoord een object is WP_Errorbeëindigen we de uitvoering van onze functie widget ()zo niet, dan onderzoeken we de inhoud van het antwoordgedeelte met de functie wp_remote_retrieve_body op zoek naar artikelen die zijn gecodeerd in JSON-indeling. Dit is hoe de functie eruit ziet 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'];
}

Wat in dit voorbeeld interessant is, is dat door de functie te vervangen wp_remote_get anders valt dit voorbeeld buiten het bereik van WordPress. Dit betekent dat u de WordPress-kern vanaf elk ander platform kunt opvragen, of het nu Joomla, Prestashop, Drupal, Android of IOS is.

Ga verder door deze te ontdekken 8 WordPress plug-ins om van uw website een mobiele applicatie te maken

U kunt daarom een ​​native mobiele applicatie maken die is verbonden met een WordPress-backoffice. De REST API verandert WordPress in een applicatieontwikkelingsplatform.

Ga verder met de REST API

Het opvragen van de WordPress-kern met het oog op interactie met gegevens vormt 90% van het gebruik ervan. Maar er zijn nog een paar gebieden die interessant zouden zijn om te verkennen: caching respons, authenticatie en serviceopsporing.

Reactie caching

Wanneer we informatie ophalen, zoals de artikelen in ons voorbeeld, is het een goede gewoonte om ze in de cache te plaatsen, d.w.z. ze ergens op de oproepende terminal te kopiëren om andere oproepen voor dezelfde informatie naar de server. Er bestaan ​​verschillende benaderingen om dit te bereiken, waaronder JP REST API CACHEde cacheplugins, en transiënten.

Het idee van voorbijgaand is om de informatie lokaal te kopiëren met een vervaldatum. Standaard bevindt de kopie zich in de database, maar bij sommige implementaties is het mogelijk om rechtstreeks naar het geheugen te kopiëren, waardoor het terugzetten nog sneller verloopt.

Zie ook deze 7 premium WordPress-plug-ins om de caching van uw website te optimaliseren

De informatie wordt vervolgens opgehaald uit de lokale database tot de vervaldatum en wordt vervolgens opgehaald van de externe website. Hier is een aangepaste versie van onze widget die het begrip voorbijgaand bevat (met een nieuwe functie):

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

}

Authenticatie

Bij het werken met externe middelen is het raadzaam om u te identificeren. Dit wordt gedaan door middel van het authenticatieproces. De REST API biedt u twee methoden om uzelf te identificeren: basisverificatie en OAuth.

Basisverificatie : van de twee methoden is dit de eenvoudigste. Het bestaat uit het verzenden van uw gebruikersnaam en wachtwoord bij elk verzoek, wat grote veiligheidsrisico's met zich meebrengt. Om deze reden mag het NIET zoveel mogelijk in productie worden gebruikt.

Om basisverificatie te gebruiken, moet u de plug-in installeren en activeren Basic Auth. Om vervolgens een geverifieerde oproep te doen, declareert u de koptekst met Basic en maak de oproep:

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

Zie ook hoe dual factor authenticatie toe te voegen op WordPress

Wees voorzichtig met dit voorbeeld, want als u het op uw website probeert, verwijdert u het artikel met de ID 1234 als het bestaat..

OAuth : Voor deze methode, nog steeds onduidelijk vanuit het oogpunt van de documentatie, moet u de plug-in installeren en activeren OAuth1. De implementatie van deze authenticatiemethode omvat de installatie en het gecombineerd gebruik van WP-CLI, een opdrachtregel voor WordPress en WP CLI Client.

De introductie van opdrachtregelinterfaces is op zich geen probleem, maar het probleem is het ontbreken van een lijst met opdrachten.

Service ontdekking

Een deel van het leren van een API is vertrouwd raken met de opties. Dus ik raad je aan om het gedeelte te bekijken service ontdekking uit de WordPress REST API-documentatie.

Daar vindt u methoden voor interactie met artikelen, berichttypen, media, metadata en onregelmatigheden zoals het onvermogen om een ​​gebruiker te verwijderen of andere kleine problemen.

Bedenk dat dit werk in uitvoering is dat al erg interessant is.

Wie gebruikt de WordPress REST API?

In alles zijn er pioniers, de WordPress REST API is geen uitzondering. Hier is een korte lijst van de weinige bedrijven die, ondanks zijn jeugd, gebruik maken van de API:

Menselijk gemaakt gebruik de API om websites te bouwen voor klanten die iets flexibeler willen voor de frontend.

WP Zoek Live is een gratis plug-in die gebruik maakt van de API voor zijn zoekfuncties.

editus is een premium plug-in die de API gebruikt voor het bewerken van de frontend.

D'après Wie gebruikt dit ding? andere mensen en bedrijven implementeren de WordPress REST API om mobiele applicaties te bouwen.

Ondanks zijn jeugd is de WordPress REST API een grote belofte als een belangrijke functie bij de transformatie van WordPress naar een applicatieontwikkelingsplatform.

Gebruik je ook de WordPress REST API?  We willen graag uw indrukken over het onderwerp hebben.

Hoe vind je de kansen die het biedt? Deel uw reacties met ons in onze commentarensectie.

Ontdek ook enkele premium WordPress-plug-ins  

U kunt andere gebruiken WordPress plugins om een ​​moderne uitstraling te geven en de afhandeling van uw blog of website te optimaliseren.

We bieden je hier enkele premium WordPress-plug-ins die je daarbij kunnen helpen.

1. WordPress Ultimate Redirect

De plug-in "WordPress Ultimate Redirect" is de enige oplossing die u nodig hebt om al uw omleidingen, 404s, sitemigratie en / of domeinwijzigingen of overdrachtsbehoeften af ​​te handelen.

WordPress ultieme omleidingsplug-in

Er zijn plug-ins die doen wat de plug-in doet, maar niet allemaal tegelijkertijd. Deze plug-in biedt alle gebruikelijke 404-omleidingsfunctionaliteit, plus onze favoriete "auto-omleiding naar de dichtstbijzijnde URL-overeenkomst".

Downloaden | demonstratie | web hosting

2. Leadeo

Wist u dat het gebruik van een video op uw bestemmingspagina conversies met meer dan 80% kan verbeteren. Evenzo op verkooppagina's met meer dan 46%. Leadeo kan u helpen meer leads en verkopen te krijgen van mensen die de video op uw blog bekijken.Leadeo

Dankzij deze plug-in kan dat Maak een video handig voor een gericht publiek, deel het op uw sociale netwerken en uw contactenlijst via e-mail, en stuur wat advertenties. Zodat mensen de video zien en leuk vinden.

Omdat de video de verwachte interesse wekt, krijgen degenen die deze hebben bekeken het volgende aangeboden:

  • meld je aan voor je e-maillijst om geweldige tips te krijgen
  • om contact met u op te nemen
  • deel een interessant ding dat je in de video zei
  • deel de video met hun vrienden
  • klik op uw call-to-action-knop
  • en andere

En al deze acties worden rechts van de video aangeboden.

Downloaden | demonstratie | web hosting

3. CommentPress

CommentPress is een krachtige compacte WordPress-plug-in waarmee u opmerkingen snel en gemakkelijk kunt invoegen, bewerken en verwijderen. CommentPress maakt gebruik van Ajax, jQuery en PHP om bezoekers de mogelijkheid te geven opmerkingen in te voegen zonder de pagina opnieuw te hoeven laden.Commentpress ajax comments invoegen bewerken en verwijderen opmerkingen

Deze plug-in heeft veel aanpassingsmogelijkheden, waardoor het eindelijk de look en feel krijgt die u wilt. Het heeft een captcha om spam te blokkeren en biedt uw commentaarsectie meer beveiliging.

De belangrijkste kenmerken zijn: het gemakkelijk invoegen van opmerkingen, de mogelijkheid voor gebruikers om op specifieke opmerkingen te reageren, de paginering van opmerkingen, volledig beheer van de administratie van de opmerkingensectie, knoppen voor het eenvoudig invoegen van afbeeldingen, video's en links, een volledig responsieve lay-out, een captcha om het formulier te beveiligen en spam te voorkomen, en nog veel meer.

Downloaden | demonstratie | web hosting

Aanbevolen bronnen

Lees meer over andere aanbevolen bronnen om u te helpen bij het bouwen en beheren van uw website.

Conclusie

Hier! Dat is het voor deze tutorial. We hopen dat deze tutorial je heeft laten zien hoe je de WordPress REST API gebruikt. Aarzel niet om deel deze artikelen met je vrienden op je favoriete sociale netwerken

U kunt echter ook onze ressources, als u meer elementen nodig hebt om uw projecten voor het maken van internetsites uit te voeren, raadpleeg onze gids op de WordPress blog creatie.

Als u suggesties of opmerkingen heeft, laat ze dan achter in onze rubriek commentaires.

...