Funktion efter funktion tenderar WordPress att släppa bloggsystemets mantel till applikationsutvecklingssystemets. Det första märkbara steget mot denna förändring var introduktionen anpassade inläggstyper i sin 2.9-version.
Idag fortsätter omvandlingen med ankomsten av WordPress REST API.
I den här handledningen kommer jag att förklara vad WordPress REST API är och visa dig hur du använder det.
Men tidigare, om du aldrig har installerat WordPress-upptäckt Hur man installerar en Wordpress blogg i fyra steg et Hur man hittar, installera och aktivera en Wordpress tema på din blogg
Låt oss sedan gå tillbaka till varför vi är här
Vad är REST API
För att uttrycka det enkelt, förstå att WordPress REST API låter dig interagera med WordPress-kärnan utan att gå igenom dess grafiska gränssnitt. Detta innebär en frikoppling av kärnan och GUI. Med detta API kan du till exempel skapa en ny artikel utan att behöva komma åt instrumentbräda. REST API kommer att ingå i kärnan när version 4.4 släpps i december.
Med tanke på karaktären av ämnet för denna handledning är det nödvändigt med goda kunskaper i PHP-språk och WordPress.
Vad behöver vi för denna handledning
För att komma igång med REST API behöver du plugin-programmet REST API samt den senaste versionen av WordPress. Du har det ? Om inte, varför. Kunskap om WordPress HTTP API kommer också att vara bra företag för att ringa fjärrsamtal.
Upptäck genom att klicka på den här länken Hur du installerar (lägger till) ett plugin på WordPress
Som ett projekt för denna handledning kommer vi kommer att skapa en lokal installation av WordPress varifrån vi hämtar artiklar från vår webbplats via REST API. Se till att du har REST API-plugin installerat och aktiverat på produktionswebbplatsen.
Skapa nu en widget i din lokala installation. Här är den grundläggande 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' );
});
Skapa en mapp med namnet i plugin-katalogen på din lokala webbplats widget-test vila-api. Skapa en fil med namnet i den här mappen widget-testet-resten-api.php och klistra in koden ovan.
Upptäck förresten Hur man hanterar och återställer en version av WordPress med VersionPress
Den här koden innehåller pluginhuvudet (kommentarerna i början av koden) som låter WordPress veta att det är ett plugin. Därefter kommer minimikoden för att skapa en widget, ökad med några rader.
Vi kommer att lägga mer tonvikt på funktion widget (), eftersom det är inuti detta som widgetens display är byggd. Därför är det inuti denna funktion som vi kommer att ringa med HTTP API.
Hämta artiklar
Vi behöver lite information för att kunna fråga produktionswebbplatsen eller onlinewebbplatsen. Dessa kommer på ett sätt att utgöra frågan till WordPress-kärnan på vår online-webbplats. Dessa är den grundläggande API-sökvägen, den använda rutten, den avslutade avslutningen, rubrikerna och parametrarna.
Sublimera dina illustrativa bilder genom att upptäcka Hur man skapar interaktiva bilder på en WordPress-blogg
Den grundläggande WordPress-REST API-sökvägen är alltid / Wp-json / wp / v2 /. Således hela sökvägen kommer http://votre-domaine.com/wp-json/wp/v2/.
Rutten som används för att hämta artiklarna är / inlägg. Det som gör den kompletta vägen för artiklar är http://votre-domaine.com/wp-json/wp/v2/posts.
Varje rutt kan ha ett antal avslutningar, differentierade med HTTP-metoden som används. Således kan vägen för en artikel vara / Inlägg / 291. Denna väg 3 ändelser:
FÅ : för att hämta artikeln
SÄTTA : för att uppdatera artikeln
RADERA : för att radera artikeln.
Med hjälp av HTTP API och GET-avslutningen kommer hämtning av artiklar ner till en kodrad:
$response = wp_remote_get( 'http://mysite.com/wp-json/wp/v2/posts/' );
Gör dina artiklar populära genom att upptäcka Lägga till delningsknappar på Wordpress
Om svaret är ett objekt WP_Error, avslutar vi utförandet av vår funktion widget ()om inte, undersöker vi innehållet i svarets kropp med funktionen wp_remote_retrieve_body letar efter artiklar kodade i JSON-format. Så här ser funktionen 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 är intressant i detta exempel är att genom att ersätta funktionen wp_remote_get i annat fall ligger detta exempel utanför WordPress. Det betyder att du kan fråga WordPress-kärnan från vilken annan plattform som helst, vare sig det är Joomla, Prestashop, Drupal, Android eller IOS.
Gå längre genom att upptäcka dessa 8 WordPress plugins för att göra din webbplats till en mobil applikation
Du kan därför skapa en inbyggd mobilapp kopplad till ett WordPress-backoffice. REST API gör WordPress till en applikationsutvecklingsplattform.
Gå längre med REST API
Att fråga WordPress-kärnan för att interagera med data utgör 90% av dess användning. Men det finns fortfarande några områden som det skulle vara intressant att utforska: caching svar, autentisering och serviceupptäckt.
Svarcache
När vi hämtar information som artiklarna i vårt exempel, är det bra att cacha dem, dvs kopiera dem någonstans på samtalsterminalen för att undvika andra samtal för att samma information ska servern. Det finns olika tillvägagångssätt för att uppnå detta inklusive JP REST API CACHE, den insticksmoduler cache, och transienter.
Tanken med övergående är att kopiera informationen lokalt med ett utgångsdatum. Som standard finns kopian i databasen, men vissa implementeringar gör det möjligt att kopiera direkt till minnet, vilket gör återställningsoperationen ännu snabbare.
Se även dessa 7 premium WordPress-plugins för att optimera cachningen på din webbplats
Informationen hämtas sedan från den lokala databasen tills den löper ut, där den sedan återkallas från fjärrwebbplatsen. Här är en modifierad version av vår widget som inkluderar begreppet övergående (med en ny funktion):
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 arbetar med externa resurser är det lämpligt att identifiera dig. Detta görs genom autentiseringsprocessen. REST API ger dig två metoder för att identifiera dig själv: Grundläggande autentisering och OAuth.
Grundläggande autentisering : av de två metoderna är den här enklare. Den består av att skicka ditt användarnamn och lösenord vid varje begäran, vilket medför stora säkerhetsrisker. Av denna anledning bör den INTE användas i produktion så mycket som möjligt.
För att kunna använda grundläggande autentisering måste du installera och aktivera plugin Basic-Auth. För att sedan ringa ett autentiserat samtal, förklara rubriken med Grundläggande och 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 också hur du lägger till dubbelfaktorautentisering på WordPress
Var försiktig med det här exemplet, för om du försöker på din webbplats kommer du att radera artikeln som har ID 1234 om den finns..
OAuth : Den här metoden, fortfarande oklar från dokumentationens synvinkel, kräver att du installerar och aktiverar plugin OAuth1. Implementeringen av denna autentiseringsmetod inkluderar installation och kombinerad användning av WP-CLI, en kommandorad för WordPress och WP CLI Klient.
Införandet av kommandoradsgränssnitt är inte ett problem i sig, men det är bristen på kommandolista som är problemet.
Serviceupptäckt
En del av att lära sig något API blir bekant med dess alternativ. Så jag rekommenderar dig att kolla in delen på serviceupptäckt av WordPress REST API-dokumentationen.
Där hittar du metoder för interaktion med artiklar, inläggstyper, media, metadata samt oegentligheter som oförmåga att radera en användare eller andra mindre problem.
Kom ihåg att detta är ett pågående arbete som redan är väldigt intressant.
Vem använder WordPress REST API?
I allt finns pionjärer, WordPress REST API är inget undantag. Här är en kort lista över de få företag som använder API, trots sin ungdom:
gjort mänskliga använd API: t för att bygga webbplatser för kunder som vill ha något mer flexibelt för frontend.
WP Live Search är ett gratis plugin som använder API för sina sökfunktioner.
Editus är ett förstklassigt plugin som använder API för sina frontend-redigeringsfunktioner.
D'après Vem använder den här saken? andra människor och företag implementerar WordPress REST API för att bygga mobila applikationer.
Trots sin ungdom har WordPress REST API stora löften som en viktig funktion i omvandlingen av WordPress till en applikationsutvecklingsplattform.
Använder du också WordPress REST API? Vi vill ha dina intryck i ämnet.
Hur hittar du de möjligheter den erbjuder? Dela dina reaktioner med oss i vårt kommentarsektion.
Upptäck också några premium WordPress-plugins
Du kan använda andra Wordpress plugins för att ge ett modernt utseende och för att optimera hanteringen av din blogg eller hemsida.
Vi erbjuder dig här några premium WordPress-plugins som hjälper dig att göra det.
1. WordPress Ultimate Redirect
Pluginprogrammet "WordPress Ultimate Redirect" är den enda lösningen du behöver för att hantera alla dina omdirigeringar, 404-sidor, webbplatsmigrering och / eller domänändrings- eller överföringsbehov.
Det finns plugins som gör vad plugin gör, men inte alla samtidigt. Detta plugin tillhandahåller alla vanliga 404-omdirigeringsfunktioner, plus vår favorit "automatisk omdirigering till närmaste URL-matchning".
Ladda ner | demo | webbhotell
2. Leadeo
Visste du att användning av en video på din målsida kan förbättra omvandlingar med mer än 80%. Likaså på försäljningssidor med mer än 46%. Leadeo kan hjälpa dig att få fler leads och försäljning från personer som tittar på videon på din blogg.
Tack vare det här insticksprogrammet kan du göra det göra en video användbar för en målgrupp, dela den på dina sociala nätverk och din kontaktlista via e-post och skicka några annonser. Så folk kommer att se videon och gilla den.
Eftersom videon genererar det förväntade intresset erbjuds de som har sett det:
- registrera dig för din e-postlista för att få bra tips
- att kontakta dig
- dela en intressant sak som du sa i videon
- dela videon med sina vänner
- klicka på din uppmaningsknapp
- och andra
Och alla dessa åtgärder erbjuds precis till höger om videon.
Ladda ner | demo | webbhotell
3. CommentPress
CommentPress är ett kraftfullt WordPress-kompakt plugin som låter dig infoga, redigera och ta bort kommentarer snabbt och enkelt. KommentarPress använder Ajax, jQuery och PHP för att ge besökarna möjlighet att infoga kommentarer utan att behöva ladda om sidan igen.
Denna plugin har många anpassningsalternativ och ger slutligen det utseende och känsla du vill ha. Den har en captcha för att blockera skräppost och ger ditt kommentaravsnitt mer säkerhet.
Dess huvudfunktioner är: enkel infogning av kommentarer, möjlighet för användare att svara på specifika kommentarer, paginering av kommentarer, fullständig hantering av administrationen av kommentarsektionen, knappar för enkel infogning av bilder, videor och länkar, en helt responsiv layout, en Captcha för att säkra formuläret och förhindra skräppost och mycket mer.
Ladda ner | demo | webbhotell
Rekommenderade resurser
Ta reda på om andra rekommenderade resurser som hjälper dig att bygga och hantera din webbplats.
- Hur du associerar din WordPress-webbplats med Telegram
- Hur du lägger till oändlig rullning i en WordPress-blogg
- Så lägger du till en FAQ på en WordPress-blogg
- Så här fixar du mediebiblioteket som inte längre fungerar på WordPress
Slutsats
Där! Det är det för denna handledning. Vi hoppas att den här guiden har visat dig hur du använder WordPress REST API. Känn dig fri att dela dessa artiklar med dina vänner på dina favorit sociala nätverk.
Du kommer dock också att kunna konsultera vår medel, om du behöver fler element för att genomföra dina projekt för att skapa webbplatser, genom att konsultera vår guide om WordPress blogg skapande.
Om du har förslag eller kommentarer, lämna dem i vårt avsnitt commentaires.
.
Bro, hur skapar jag ett modellobjekt för resten API eller ett modellobjekt som skapades, modellnamn, modell-id, json-fil, länk till förhandsgransknings-url ? Tack för förklaringen
Tack för den här artikeln, jag personligen har ett problem just nu med REST API och Woocommerce. Jag använder Secupress-säkerhetsplugin och några regler för .htaccess, sedan dess har jag problem med LET IT BILL-synkronisering.
Jag flyttade från Legacy-produktionsmiljön till Stable.
Une idée?
Hej Sebastian,
Ingen aning tyvärr 🙂
Hej, du säger att deklarera huvudet
$ Headers = array (
'Auktorisering' => 'Grundläggande'. base64_encode ('användarnamn: lösenord'),
);
men i vilken fil snälla har jag lite problem med att förstå allt ledsen
Hej!
Vad är länken till din webbplats?