Funksjon etter funksjon har WordPress en tendens til å slippe bloggsystemets mantel og inn i applikasjonsutviklingssystemet. Det første merkbare trinnet mot denne endringen var introduksjonen tilpassede innleggstyper i 2.9-versjonen.

I dag fortsetter transformasjonen med ankomsten av WordPress REST API.

I denne veiledningen vil jeg gå gjennom hva WordPress REST API er og vise deg hvordan du bruker det.

Men før, hvis du aldri har installert WordPress Discover Hvordan installere en WordPress blog i 7 trinn et Hvordan finne, installere og aktivere en WordPress tema på bloggen din 

Så la oss gå tilbake til hvorfor vi er her

Hva er REST API

For å si det enkelt, forstå at WordPress REST API lar deg samhandle med kjernen i WordPress uten å gå gjennom det grafiske grensesnittet. Dette betyr en frakobling av kjernen og GUI. Med denne API-en kan du for eksempel opprette en ny artikkel uten å måtte ha tilgang til dashbord. REST API vil bli inkludert i kjernen når versjon 4.4 er utgitt innen desember.

Gitt innholdet i emnet i denne opplæringen, er det nødvendig med god kunnskap om PHP-språk og WordPress.

Hva trenger vi for denne opplæringen

For å komme i gang med REST API, trenger du pluginet REST API samt den siste versjonen av WordPress. Du har det ? Hvis ikke, se hvorforKunnskap om WordPress HTTP API vil også være gode selskaper for å ringe eksterne samtaler.

Oppdag ved å klikke på denne lenken Hvordan installere (legge til) en plugin på WordPress

Som et prosjekt for denne opplæringen vi vil lage en lokal installasjon av WordPress hvorfra vi vil hente artikler fra nettstedet vårt gjennom REST API. Forsikre deg om at du har REST API-plugin installert og aktivert på produksjonsnettstedet.

Nå, opprett en widget i din lokale installasjon. Her er den grunnleggende koden:

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

Lag en mappe med navnet i plugin-katalogen til det lokale nettstedet widget-test-hvile-api. I denne mappen lager du en fil som heter widget-test-rest-api.php og lim inn koden over.

Oppdag forresten Hvordan administrere og gjenopprette en versjon av WordPress med VersionPress

Denne koden inneholder plugin-overskriften (kommentarene i begynnelsen av koden) som lar WordPress vite at det er et plugin. Deretter kommer minimumskoden for å lage en widget, økt med noen få linjer. 

Vi vil legge mer vekt på funksjon widget (), fordi det er inne i dette at skjermen til widgeten er bygget. Derfor er det i denne funksjonen at vi vil ringe ved hjelp av HTTP API.

Hent artikler

Vi trenger litt informasjon for å spørre om produksjonsnettstedet eller nettstedet. Disse vil på en måte utgjøre spørsmålet som stilles til WordPress-kjernen på nettstedet vårt. Dette er den grunnleggende API-banen, ruten som brukes, avslutningen som brukes, overskriftene og parametrene.

Sublimer illustrative bilder ved å oppdage Slik lager du interaktive bilder på en WordPress-blogg

Den grunnleggende WordPress REST API-banen er alltid / Wp-.json / WP / v2 /. Dermed vil hele banen http://votre-domaine.com/wp-json/wp/v2/.

Ruten som brukes til å hente gjenstandene er / innlegg. Det som gjør den komplette ruten for artikler er http://votre-domaine.com/wp-json/wp/v2/posts.

Hver rute kan ha et antall avslutninger, differensiert med HTTP-metoden som brukes. Dermed kan ruten til en artikkel være / Innlegg / 291. Denne veien 3 avslutninger:

GET : for å hente artikkelen
PUT : for å oppdatere artikkelen
SLETT : for å slette artikkelen.

Ved å bruke HTTP API og GET-avslutningen kommer henting av artiklene ned til en kodelinje:

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

Gjør artiklene dine populære ved å oppdage Hvordan legge til deling knappene på WordPress

Hvis svaret er et objekt WP_Error, avslutter vi utførelsen av vår funksjon widget ()hvis ikke, undersøker vi innholdet i svarets kropp med funksjonen wp_remote_retrieve_body leter etter artikler kodet i JSON-format. Slik ser funksjonen ut 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'];
}

Det som er interessant i dette eksemplet er at ved å erstatte funksjonen wp_remote_get Ellers vil dette eksemplet være utenfor omfanget av WordPress. Dette betyr at du kan spørre WordPress-kjernen fra hvilken som helst annen plattform, det være seg Joomla, Prestashop, Drupal, Android eller IOS.

Gå videre ved å oppdage disse 8 WordPress plugins for å gjøre nettstedet ditt til et mobilprogram

Du kan derfor opprette en innfødt mobilapp som er koblet til et WordPress back office. REST API gjør WordPress til en applikasjonsutviklingsplattform.

Gå videre med REST API

Spørring av WordPress-kjernen med det formål å samhandle med data utgjør 90% av bruken. Men det er fortsatt noen områder som det vil være interessant å utforske: caching respons, autentisering og tjenesteoppdagelse.

Cache-svar

Når vi henter informasjon som artiklene i eksemplet vårt, er det god praksis å cache dem, dvs. kopiere dem et sted på ringeterminalen for å unngå andre samtaler for at den samme informasjonen skal serveren. Det finnes forskjellige tilnærminger for å oppnå dette inkludert JP REST API CACHEden plugins cache, og transienter.

Ideen med forbigående er å kopiere informasjonen lokalt med en utløpsdato. Som standard vil kopien være i databasen, men noen implementeringer tillater kopiering direkte til minnet, noe som gjør gjenopprettingsoperasjonen enda raskere.

Se også disse 7 premium WordPress-plugins for å optimalisere hurtigbufring av nettstedet ditt

Informasjonen blir deretter hentet fra den lokale databasen til den utløper hvor den blir tilbakekalt fra det eksterne nettstedet. Her er en modifisert versjon av widgeten vår som inkluderer forestillingen om forbigående (med en ny funksjon):

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

}

Autentisering

Når du jobber med eksterne ressurser, anbefales det å identifisere deg. Dette gjøres gjennom autentiseringsprosessen. REST API gir deg to metoder for å identifisere deg selv: Grunnleggende autentisering og OAuth.

Grunnleggende autentisering : av de to metodene er denne enklere. Den består i å sende brukernavnet og passordet ditt med hver forespørsel, noe som medfører store sikkerhetsrisikoer. Av denne grunn bør den IKKE brukes i produksjon så mye som mulig.

For å bruke grunnleggende autentisering, må du installere og aktivere programtillegget Basic-Auth. For å ringe et autentisert anrop, erklærer du overskriften med Grunnleggende og ring:

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

Se også hvordan du legger til dobbelfaktorautentisering på WordPress

Vær forsiktig med dette eksemplet, for hvis du prøver det på nettstedet ditt, vil du slette artikkelen som har ID 1234 hvis den eksisterer..

OAuth : Denne metoden, fremdeles uklar fra dokumentasjonens synspunkt, krever at du installerer og aktiverer plugin-modulen OAuth1. Implementeringen av denne autentiseringsmetoden inkluderer installasjon og kombinert bruk av WP-CLI, en kommandolinje for WordPress og WP CLI Client.

Innføringen av kommandolinjegrensesnitt er ikke et problem i seg selv, men det er mangelen på kommandoliste som er problemet.

Tjenesteoppdagelse

En del av å lære noe API blir kjent med alternativene. Så jeg anbefaler deg å sjekke ut delen på tjeneste funn fra WordPress REST API-dokumentasjonen.

Der finner du metoder for å samhandle med artikler, innleggstyper, media, metadata samt uregelmessigheter som manglende evne til å slette en bruker eller andre mindre bekymringer.

Husk at dette er et pågående arbeid som allerede er veldig interessant.

Hvem bruker WordPress REST API?

I alle ting er det pionerer, WordPress REST API er ikke noe unntak. Her er en kort liste over de få selskapene som bruker API, til tross for ungdommen:

Made Humant bruk API for å bygge nettsteder for kunder som ønsker noe mer fleksibelt for frontend.

WP Live Search er et gratis plugin som bruker API for sine søkefunksjoner.

editus er et premium plugin som bruker API for sine frontend redigeringsfunksjoner.

D'après Hvem bruker denne tingen? andre mennesker og selskaper implementerer WordPress REST API for å bygge mobilapplikasjoner.

Til tross for ungdommen har WordPress REST API store løfter som en viktig funksjon i transformasjonen av WordPress til en applikasjonsutviklingsplattform.

Bruker du også WordPress REST API?  Vi vil gjerne ha dine inntrykk om emnet.

Hvordan finner du mulighetene det gir? Del dine reaksjoner med oss ​​i kommentarfeltet.

Oppdag også noen premium WordPress-plugins  

Du kan bruke andre WordPress plugins for å gi et moderne utseende og for å optimalisere håndteringen av bloggen eller nettsiden din.

Vi tilbyr deg her noen premium WordPress-plugins som vil hjelpe deg å gjøre det.

1. WordPress Ultimate Redirect

Pluginprogrammet "WordPress Ultimate Redirect" er den eneste løsningen du trenger for å administrere alle dine viderekoblinger, 404-er, nettstedsmigrering og / eller behov for endring eller overføring av domener.

Wordpress ultimate omdirigering plugin

Det er plugins som gjør det pluginet gjør, men ikke alt samtidig. Dette pluginet gir all den vanlige 404-viderekoblingsfunksjonaliteten, pluss vår favoritt "automatisk viderekobling til nærmeste URL-samsvar".

Last ned | dEMO | Webhotell

2. Leadeo

Visste du at bruk av en video på destinasjonssiden kan forbedre konverteringene med mer enn 80%. Likeledes på salgssider med mer enn 46%. Leadeo kan hjelpe deg med å få flere potensielle kunder og salg fra folk som ser videoen på bloggen din.Leadeo

Takket være denne plugin, kan du gjøre det lag en video nyttig for et målrettet publikum, del det på dine sosiale nettverk og kontaktlisten din via e-post, og send noen annonser. Så folk vil se videoen og like den.

Siden videoen genererer forventet interesse, blir de som har sett den tilbudt:

  • registrer deg på e-postlisten din for å få gode tips
  • å kontakte deg
  • del en interessant ting som du sa i videoen
  • del videoen med vennene sine
  • klikk på oppfordringsknappen din
  • og andre

Og alle disse handlingene tilbys bare til høyre for videoen.

Last ned | dEMO | Webhotell

3. CommentPress

CommentPress er en kraftig WordPress-kompakt plugin som lar deg sette inn, redigere og slette kommentarer raskt og enkelt. KommentarPress bruker Ajax, jQuery og PHP for å gi besøkende muligheten til å sette inn kommentarer uten å måtte laste inn siden på nytt.Commentpress ajax kommentarer sett inn rediger og slett kommentarer

Denne pluginen har mange tilpasningsmuligheter, og gir den til slutt utseendet og følelsen du ønsker. Den har en captcha for å blokkere søppelpost og gir kommentarseksjonen din mer sikkerhet.

Hovedtrekkene er: enkel innsetting av kommentarer, muligheten for brukere å svare på spesifikke kommentarer, paginering av kommentarer, fullstendig administrasjon av administrasjonen av kommentarseksjonen, knapper for enkel innsetting av bilder, videoer og lenker, et fullstendig responsivt oppsett, en Captcha for å sikre skjemaet og forhindre spam, og mye mer.

Last ned | dEMO | Webhotell

Anbefalte ressurser

Finn ut om andre anbefalte ressurser for å hjelpe deg med å bygge og administrere nettstedet ditt.

konklusjonen

Det! Det er det for denne opplæringen. Vi håper denne opplæringen har vist deg hvordan du bruker WordPress REST API. Føl deg fri til å del denne artiklene med vennene dine på dine favoritt sosiale nettverk

Du vil imidlertid også kunne konsultere våre ressources, hvis du trenger flere elementer for å gjennomføre prosjektene dine med oppretting av nettsteder, ved å konsultere vår guide om WordPress blog oppretting.

Hvis du har forslag eller kommentarer, kan du la dem ligge i seksjonen vår commentaires.

...