API-plugin. API-plugin Ansluter en tredjeparts api-plugin för minecraft

Plugins är en viktig del av webpack-ekosystemet och ger gemenskapen ett kraftfullt sätt att utnyttja webpacks kompileringsprocess. Ett plugin kan koppla in nyckelhändelser som aktiveras under varje kompilering. Varje steg på vägen kommer plugin-programmet att ha full tillgång till kompilatorn och, i förekommande fall, den aktuella kompileringen .

För en introduktion på hög nivå till att skriva plugins, börja med att skriva ett plugin .

Låt oss börja med att gå över tappbart verktyg, som utgör ryggraden i webpacks plugin-gränssnitt.

Tapbar

Detta lilla bibliotek är ett kärnverktyg i webpack men kan också användas någon annanstans för att tillhandahålla ett liknande plugin-gränssnitt. Många objekt i webpack utökar Tapable-klassen. Klassen avslöjar metoderna tap , tapAsync och tapPromise som plugins kan använda för att injicera anpassade byggsteg som kommer att aktiveras under en kompilering.

Det är möjligt att anpassa det utskrivna resultatet genom att skicka olika argument till reportProgress-funktionen i ProgressPlugin.

För att rapportera framsteg måste ett plugin kopplas in i en hook med hjälp av kontext: true option:

Kompilator. krokar. avge. tapAsync (( namn: "MyPlugin" , context: true ), (kontext, kompilator, callback) => ( const reportProgress = context && context. reportProgress; if (reportProgress) reportProgress (0.95, "Startar arbete") ; setTimeout (( ) => ( if (reportProgress) reportProgress (0,95, "Färdigt arbete" ); callback () ; ) , 1000 ) ; ) );

ReportProgress-funktionen kan anropas med dessa argument:

reportProgress(procent, ... args);
  • procent: Detta argument är oanvänt; istället kommer ProgressPlugin att beräkna en procentsats baserat på den aktuella kroken.
  • ...args: Valfritt antal strängar som kommer att skickas till ProgressPlugin-hanteraren för att rapporteras till användaren.

Observera att endast en delmängd av kompilator- och kompileringshakar stöder funktionen reportProgress. Se ProgressPlugin för en fullständig lista.

Skogsavverkning

Logging API är tillgängligt sedan lanseringen av webpack 4.37. När loggning är aktiverad i statistikkonfiguration och/eller när loggning av infrastruktur är aktiverad, kan plugins logga meddelanden som kommer att skrivas ut i respektive loggerformat (statistik, infrastruktur).

  • Plugins bör föredra att använda compilation.getLogger("PluginName") för loggning. Denna typ av loggning lagras i statistiken och formateras därefter. Det kan filtreras och exporteras av användaren.
  • Plugins kan använda compiler.getInfrastructureLogger("PluginName") för loggning. Att använda infrastrukturloggning lagras inte i statistiken och formateras därför inte. Det loggas vanligtvis direkt till konsolen/dashboard/GUI. Det kan filtreras av användaren.
  • Plugins kan använda speciell reservlogik för att upptäcka loggningsstöd compilation.getLogger? compilation.getLogger("PluginName") : konsol för att ge en reserv för fall då en äldre webbpackversion används som inte stöder getLogger-metoden på kompileringsobjektet.

Nästa steg

Se avsnittet om kompilatorkrokar för en detaljerad lista över alla tillgängliga kompilatorkrokar och parametrarna de gör tillgängliga.

Insticksprogrammet är ett dynamiskt laddat bibliotek (DLL). Efter installation av programmet placeras alla plugins som ingår i distributionen i katalogen c:\Program Files (x86)\Common Files\Soft Gold\Inventory 14\Plugins\... Tillägget *.abl krävs för automatisk nedladdning plugin från den angivna katalogen när programmet startar. Insticksprogrammet kan också laddas från valfri annan plats på disken genom att ange sökvägen i inställningarna.

Initierar plugin-API:et

(Delphi VCL Extensions)

(Plugin-gränssnitt för ABViewer/Inventory)

(Copyright (c) 2002-2010 SoftGold mjukvaruföretag)

{************************************************************}

enhet sgPluginItem;

gränssnitt

genomförande

XMLDocRef: IXMLDocument = noll;

ClientRef: IXMLNode = noll;

P: Pekare = noll;

PluginsHostWnd: HWND = 0;

PluginsHostWndName: string = "";

XMLAtomString: string = "";

procedur InitializeDoc;

Börja

// får det unika namnet på fönsterklassen med parametrar

PluginsHostWndName:= Format("TsgPluginsHost:%.8X:%.8X", );

// hitta själva fönstret

PluginsHostWnd:= FindWindow(PChar(PluginsHostWndName), noll);

Om PluginsHostWnd<>0 då

Börja

// få atomsträngen för att få xml-parameter dokumentera

XMLAtomString:= Format("XMLOfs%.8X%.8X",

XMLDocRef:= IXMLDocument(GetProp(PluginsHostWnd, PChar(XMLAtomString)));

Om tilldelad(XMLDocRef) då

Börja

// lägga till ett element till listan

ClientRef:= XMLDocRef.DocumentElement.ChildNodes.ChildNodes.AddChild(sClient);

// initierar adressen för Invoke-funktionen

ClientRef.ChildValues["Invoke"] := IntToId(Integer(@Invoke)); // hexadecimal $XXXXXXXXX

Slutet;

Slutet;

slutet;

initiering

CoInitialize(P);

InitieraDoc;

Konfigurera och köra demoversionen av plugin-programmet

Demoversionen av plugin-programmet konfigureras automatiskt vid installation av programmet och ansluts direkt efter att Inventory har startat. Paketet innehåller källkoden för komponenten (projektnamn sgPlugin.dpk) och en demoversion av plugin (projektnamn plug1.dpr).

Proceduren för att starta plugin från felsökningsläge:

▪ Öppna C:\Users\USER_NAME\Documents\Inventory 14\Plugins\Source\Delphi\Demos\Plug1\plug1.dpr

▪ Ange i projektalternativ:

Sökväg : "..\..\Components\PlugItem";

Utdatakatalog , till exempel: "c:\Program Files\Common Files\Soft Gold\Inventory 14\Plugins";

Värdapplikation, på igen installerad applikation, till exempel: "c:\Program Files\Soft Gold\Inventory 14\Inventory 14.exe".

▪ Starta för utförande.

För att använda komponenten i designtime måste du öppna, bygga om och installera C:\Users\USER_NAME\Documents\Inventory 14\Plugins\Source\Delphi\Components\PlugItem\sgPlugin.dpk. Efter installation av komponenten, i paletten Delphi komponenter, kommer TsgPluginItem-komponenten att visas på fliken Soft Gold, som kan användas i designtime, dvs. placera på formuläret.

Krokar tillhandahålls av WordPress för att tillåta din plugin att "haka in" resten av WordPress; det vill säga att anropa funktioner i ditt plugin vid specifika tidpunkter, och därigenom sätta igång din plugin. Det finns två typer av krokar:

  1. (Kodex)
  2. (Kodex)

Du kan ibland uppnå samma mål med antingen en åtgärd eller ett filter. Om du till exempel vill att din plugin ska ändra texten i ett inlägg kan du lägga till en åtgärdsfunktion till publish_post (så att inlägget ändras när det sparas i databasen), eller en filterfunktion till the_content (så att inlägget är ändras när den visas på webbläsarens skärm).

För en noggrann lista över alla action- och filterhakar i WP, se Adam Browns WordPress Hooks-databas.

Funktionsreferens

Filterfunktioner
Åtgärder Funktioner
Aktivering/Inaktivering/Avinstallationsfunktioner

Handlingar

Handlingar utlöses av specifika händelser som äger rum i WordPress, som att publicera ett inlägg, ändra teman eller visa en . En åtgärd är en anpassad PHP-funktion som definieras i ditt plugin (eller tema) och fastnat, dvs. inställd på att svara på några av dessa händelser. Åtgärder gör vanligtvis ett eller flera av följande:

  • Ändra databasdata.
  • Skicka ett e-postmeddelande.
  • Ändra den genererade administrationsskärmen eller frontendsidan som skickas till en användarwebbläsare.

De grundläggande stegen för att få detta att hända (beskrivs mer i detalj nedan) är:

  1. Skapa en PHP-funktion som ska köras när en specifik WordPress-händelse inträffar, i din plugin-fil.
  2. Koppla denna funktion till händelsen med hjälp av funktionen.
  3. Lägg din PHP-funktion i en plugin-fil och aktivera den.

Skapa en åtgärdsfunktion

Det första steget för att skapa en åtgärd i ditt plugin är att skapa en PHP-funktion med åtgärdsfunktionaliteten för ditt plugin och lägga den i din plugin-fil (din plugin-fil måste gå in i wp-innehåll/plugins katalog). Om du till exempel vill att dina vänner ska få ett e-postmeddelande när du skapar ett nytt inlägg, kan du definiera följande funktion:

Funktion email_friends($post_ID) ( $friends = " [e-postskyddad],[e-postskyddad]"; mail($vänner, "sallys blogg uppdaterad", "Jag har precis lagt något på min blogg: http://blog.example.com"); returnera $post_ID; )

För de flesta åtgärder bör din funktion acceptera en enskild parameter (vanligtvis inläggs- eller kommentars-ID, beroende på åtgärden). Vissa åtgärder kräver mer än en parameter -- kontrollera dokumentationen för åtgärden (om tillgänglig) eller WordPress-källkoden för mer information. Förutom den ena parametern kan du också komma åt , och anropa andra WordPress-funktioner (eller funktioner i din plugin-fil).

All text som matas ut av funktionen (t.ex. med utskrift) kommer att visas i sidkällan på den plats där åtgärden anropades.

NOTERA: Tänk på att andra plugins eller WordPress-kärnan kanske redan använder funktionsnamnet du har tänkt på. Se nästa avsnitt för mer information.

Undvika kollisioner med funktionsnamn

Det är möjligt att någon har skapat ett plugin med en funktion som heter samma som en i din plugin.

Detta är ett problem eftersom PHP inte tillåter flera funktioner med samma namn. Om två plugins ger en funktion med samma namn, eller en plugin ger en funktion med samma namn som en WordPress-funktion, kan bloggen sluta fungera. Det finns två sätt att undvika detta problem.

Den första lösningen är att prefix varje funktion i din plugin med en unik uppsättning tecken. Om ditt namn är John Q. Public, kan du deklarera dina funktioner som funktion jqp_output() (...) . Sannolikheten att någon med samma initialer gör samma sak med sin plugin är möjlig men låg.

Den andra – och möjligen enklare – lösningen är att innesluta dina plugin-funktioner i en klass och anropa klassmetoderna statiskt. Det här låter mer komplicerat än vad det är.

Tänk på den här klassen, som utökar exemplen ovan:

Klass e-postmeddelande ( statisk funktion skicka($post_ID) ( $friends = " [e-postskyddad],[e-postskyddad]"; mail($friends,"sallys blogg uppdaterad","Jag har precis lagt något på min blogg: http://blog.example.com"); returnera $post_ID; ) ) add_action("publicera_inlägg", array("emailer", "skicka"));

Denna klass ringde e-postmeddelande har en metod skicka som implementerar plugin-funktionen.

Funktionen add_action() utanför klassen lägger till åtgärden till WordPress som säger åt den att anropa skicka metod när ett inlägg publiceras. Arrayen som används i den andra parametern säger åt pluginsystemet att anropa den statiska metoden för klassen "emailer" som heter "send".

Funktionen skicka skyddas från det globala namnområdet av klassdeklarationen. Det är inte möjligt att anropa send() direkt, och så vilken annan funktion som helst skicka kommer inte att kollidera med denna. Om du ville anropa send(), skulle du behöva använda en scope resolution operator, så här: emailer::send()

Ovanstående exempel är för statiska metoder. Om du har en instans av en klass kommer det inte att fungera. Att anropa en metod för en instans du behöver för att skicka instansen som en variabel. Betrakta exemplet ovan modifierat för att ta hänsyn till detta:

Klass e-postmeddelande ( function send($post_ID) ( $friends = " [e-postskyddad],[e-postskyddad]"; mail($friends,"sallys blogg uppdaterad","Jag har precis lagt något på min blogg: http://blog.example.com"); returnera $post_ID; ) ) $myEmailClass = new emailer(); add_action("publish_post", array($myEmailClass, "send"));

Klasser är ett komplicerat ämne. Läs mer om dem i PHP-dokumentationen om klasser.

Koppla till WordPress

Efter att din funktion är definierad är nästa steg att "haka" eller registrera den med WordPress. För att göra detta, anropa det globala exekveringsutrymmet för din plugin-fil:

Add_action("hook_name", "ditt_funktionsnamn", , );

Hook_name Namnet på en actionhook från WordPress, som talar om vilken händelse din funktion ska kopplas till. ditt_funktionsnamn Namnet på funktionen som du vill ska köras efter händelsen som anges av hook_name . Detta kan vara en vanlig php-funktion, en funktion som finns i WordPress-kärnan eller en funktion som definieras av dig i plugin-filen (som "email_friends" definierad ovan). priority Ett valfritt heltalsargument som används för att specificera i vilken ordning de funktioner som är associerade med en viss åtgärd exekveras (standard: 10). Lägre motsvarande nummer med tidigare exekvering, och funktioner med samma prioritet exekveras i den ordning som läggs till åtgärden. accepted_args Ett valfritt heltalsargument som definierar hur många argument din funktion kan acceptera (standard 1), användbart eftersom vissa krokar kan skicka mer än ett argument till din funktion. Denna parameter är ny i version 1.5.1.

I exemplet ovan skulle vi lägga följande rad i plugin-filen:

Add_action("publish_post", "email_friends");

Installera och aktivera

Det sista steget för att få din filterkrok att fungera är att installera filen och aktivera insticksprogrammet. PHP-funktionen du skrev och anropet måste gå in i en PHP-fil tillsammans, och PHP-filen måste installeras i wp-innehåll/plugins katalog. När det är installerat måste du besöka adminsektionen för WordPress och aktivera ditt plugin; se för mer information.

Aktuella krokar för filter

Aktivering/Deaktivering/Avinstallation

Om ditt plugin har uppgifter att slutföra endast vid aktivering eller avaktivering, kan det använda och Action Reference - En lista över WordPresss actionhooks

Externa resurser

  • Adam Browns WordPress Hooks Database, en databas över alla WordPress-krokar, som visar vilken version de kommer ifrån och länkar till källkodsställena som använder dem. Detta är den mest kompletta.
  • Otto på WordPress:

Av Yandex.
Det är en webbtjänst, så du behöver inte lägga till det.

Serverägare behöver en speciell nyckel för att aktivera denna plugin.
Logga in på Yandex-webbplatsen och skaffa den här nyckeln och lägg den sedan i API:ets konfiguration.
Observera att gratisnyckeln "bara" stöder 10 000 000 tecken varje månad, men du kan skapa hur många nycklar du vill ha.

Dessa är de tillgängliga språken:

SpoilerTarget">Spoiler

AZERBAJJAN
ALBANISK
ENGELSK
ARABISKA
AFRIKAANS
BASKISKA
VITRYSSISK
BULGARISKT
BOSNISKA
WALSISKA
UNGERSKA
VIETNAMESISKA
HAITIAN
GALICIAN
HOLLANDSKA
GREKISK
GEORGISK
DANSK
INDONESISKA
IRLÄNDSKA
ITALIENSKA
ISLANDSKA
SPANSKA
KANNADA
KINESISK
KOREANSK
LATIN
LITAUNSKA
MAKEDONISKT
MONGOLISKA
TYSK
NEPALI
NORSK
PERSISKA
PUTSA
PORTUGISISKA
RUMÄNSKA
RYSSSKA
SERBISK
SLOVAKISKA
SLOVENISKA
SUNDANSISKA
TURKISKA
UZBEKISKA
UKRAINISKA
FINSKA
FRANSKA
HINDI
KROATISK
TJECKISKA
SVENSKA
SKOTTISKT
ESTNISKA
JAPANSK

När du går med i servern är ditt språk serverspråket.
För att ändra det, skriv bara /lang(lov: translator.lang) och välj ditt språk från menyn.

Om du inte vet hur du lägger till beroenden, läs här.

Utvecklare
Se till att du använder Java >= 8.
Lägg till JAR till din byggbana. Ställ sedan in "Manuellt manifest" och skapa din MANIFEST.MF för projektet. Skriva:

Main-Class: ditt.paket.Klass
Class-Path: ..\lib\Translator.jar

Serverägare
Se till att du använder Java >= 8.
Skapa en mapp med namnet lib i huvudserverroten och placera JAR här.
Du måste också lägga den i din plugins-mapp.

//Skicka ett meddelande översatt automatiskt till spelarens språk
p.sendMessage("§a" + Translator.translate("Hej!", p));

//Skicka ett meddelande översatt manuellt
p.sendMessage("§a" + Translator.translate("Hej!", Language.ENGLISH, Language.ITALIAN));

//Hämta serverspråket
Language serverLang = Translator.getServerLanguge();

//Hämta spelarens språk
Language playerLang = Translator.getPlayerLanguage(p);

  • Om du laddar om API:et medan ett plugin som använder det är aktiverat, kommer det att krascha. För att fixa manuellt, ta bort plugin-programmet, ladda om API:t och ladda plugin-programmet
  • Färgkoder stöds inte. För att använda dem se exemplen ovan
  • Lite fördröjning (API:et måste översätta originaltexten och ta emot JSON)

Om du har några problem, skriv ett inlägg i diskussionen eller kontakta mig via privata meddelanden. Jag kommer inte att svara på felrapporter i recensionersektionen.

För närvarande finns det inga plugins som använder detta API. Om du använder det, berätta det för mig så lägger jag till det här

Senaste recensioner

  1. Version: 1.0

    Grande frate! Hur leto Drivs av Gamehosting, quindi penso tu sia italiano? se si: sai perché da questo errore all" avvio?

    P.s (ho letto impossibile trovare il percorso specificato, ma la cartella ci sta)

    : java.io.IOUndantag: Omöjligt trovare il percorso specificato
    : på java.io.WinNTFileSystem.createFileExclusively(Native Method)
    : på java.io.File.createNewFile(okänd källa)
    : på eu.iamgio.translator.UsersFileLoader.loadRegisterFile(UsersFileLoader.java:21)
    : på eu.iamgio.translator.Translator.onEnable(Translator.java:35)
    : på org.bukkit.plugin.java.JavaPlugin.setEnabled(JavaPlugin.java:321)
    : på org.bukkit.plugin.java.JavaPluginLoader.enablePlugin(JavaPluginLoader.java:340)
    : på org.bukkit.plugin.SimplePluginManager.enablePlugin(SimplePluginManager.java:405)
    : på org.bukkit.craftbukkit.v1_8_R3.CraftServer.loadPlugin(CraftServer.java:357)
    : på org.bukkit.craftbukkit.v1_8_R3.CraftServer.enablePlugins(CraftServer.java:317)
    : på net.minecraft.server.v1_8_R3.MinecraftServer.s(MinecraftServer.java:414)
    : på net.minecraft.server.v1_8_R3.MinecraftServer.k(MinecraftServer.java:378)
    : på net.minecraft.server.v1_8_R3.MinecraftServer.a(MinecraftServer.java:333)
    : på net.minecraft.server.v1_8_R3.DedicatedServer.init(DedicatedServer.java:263)
    : på net.minecraft.server.v1_8_R3.MinecraftServer.run(MinecraftServer.java:525)
    : på java.lang.Thread.run(okänd källa)

Släpptes i slutet av 2015. Men i stort sett har bara avancerade utvecklare tagit sig tid att ta reda på hur kraftfullt detta erbjudande är.

WordPress REST API-paketet samlar alla moderna uppdateringar och ger ett inbyggt API som kan integreras i teman, mobilappar och mer. Med andra ord tillåter det utvecklare att separera front-end-gränssnittet från datahantering, vilket gör att alla applikationer kan interagera med WordPress. Att lära sig hur det här verktyget fungerar kan öppna dörren till nästan oändliga möjligheter för att utöka din WordPress-webbplats.

I den här artikeln kommer vi att introducera dig till WordPress REST API-projektet, förklara varför det är så bra och sedan ge några idéer för att använda det. Så låt oss inte slösa tid utan sätt igång!

Vi introducerar WordPress REST API

WordPress REST API-projektet (REST från Representational State Transfer) bekräftar att WordPress tar steg mot att bli en fullfjädrad applikationsplattform. Dess närvaro är övertygande eftersom den lägger till ett standard REST API till kärnan i WordPress.

Projektet laddades först upp till GitHub för utvecklare 2013 av utvecklarna Ryan McCue och Rachel Baker. Det oberoende REST API-pluginet byggdes in i WordPress-kärnan i december 2015 efter att ha fått överväldigande stöd och lockat nästan 100 bidragsgivare som är villiga att arbeta med att förbättra dess kapacitet.

Sedan WordPress REST API blev en del av kärnan har det bevisat sin effektivitet. Här är bara några verkliga exempel för tydliga tillämpningar och inspiration i dina projekt:

  1. Event Espresso använder ett REST API för att ge utvecklare tillgång till sin globala infrastruktur, vilket gör det möjligt för dem att utveckla applikationer med sina tjänster.
  2. Simmer ger utvecklare tillgång till API:et för att utöka sin funktionalitet till en fullfjädrad mobil app eller anpassa teman.
  3. JoinIn tillhandahåller sin egen "inbäddningsbara" widget med hjälp av ett REST API, som fyller den med relevant data var den än visas.

Detta är bara toppen av isberget när det kommer till de innovativa syftena med REST API: er. Men låt oss diskutera hur själva REST API fungerar.

Hur WordPress REST API fungerar

Kort sagt, ett REST API fungerar genom att manipulera textdata från en plats till en annan utan att direkt komma åt databasen eller användargränssnittet. Det finns många typer av API:er (Application Programming Interfaces), trots detta förblir REST en modern och relevant standard.

REST API sänds över HTTP-åtkomstpunkter (Hyper Text Transfer Protocol) med hjälp av JavaScript Object Notation-formatet (JSON). Enkelt uttryckt ger dessa tekniker tillgång till API:er som använder unika webbadresser för att leverera data som beter sig som JavaScript-objekt.

Om du aldrig har arbetat med JavaScript eller dess objektdefinitioner, lär dig grunderna i JSON. Nu när vi har rensat upp konceptet med REST API lite, låt oss prata om hur det kan ha stor inverkan på utvecklingsprocessen med WordPress.

Vad betyder WordPress REST API för utvecklare?

WordPress REST API är en universell integratör av alla WordPress-installationer med valfri applikation på webbservern eller din operativ system. I slutändan innebär detta att den enda gränsen för vad som kan byggas med använder WordPress, är bara vår fantasi. Du kan skapa vilken applikation som helst skriven på vilken plattform eller språk som helst och använda WordPress för att bearbeta data genom REST API. Den öppna och vänliga WordPress-gemenskapen erbjuder enorma möjligheter.

REST API är baserat på JavaScript, som får allt större uppmärksamhet, vilket tipsar om vilka programmeringsspråk som är viktiga att känna till. Du kommer snart att upptäcka att JavaScript på serversidan är det nya PHP. Detta kan redan ses i WordPress.coms nya mjukvara, Calypso, som körs helt på JavaScript och ett REST API.

Genom att standardisera hur applikationer (inklusive WordPress-kärna) interagerar med WordPress-data, kommer WordPress-utvecklingen att bli enklare och mer intuitiv. Dessutom kommer det att underlätta integration med tredjepartsplattformar.

Jag hoppas att du nu har fler anledningar till varför det är viktigt att börja lära sig hur man använder denna teknik nu. Det är dags att ta dina första steg mot att använda REST API i ditt eget arbete!

5 steg för att komma igång med WordPress REST API

Som vi diskuterade tidigare kan REST API användas med vilken applikation eller vilket programmeringsspråk som helst som kan anropa HTTP-resurser. Vi kommer att fokusera på att använda kommandoraden för att göra REST API-förfrågningar eftersom det är den enklaste metoden med minsta chans att introducera fel som kan försämra inlärningsprocessen.

För att göra detta måste du öppna ett program med ett kommandoradsgränssnitt (Command Line Interface CLI) på din dator - terminal på macOS eller Linux och kommandorad på Windows. CLI låter dig interagera direkt med REST API, utan att behöva skriva ytterligare skript för att begära och bearbeta information. Varje begäran du skriver i CLI kan vara ett skript i PHP, JavaScript eller ett annat språk, men metoden kommer att vara olika för varje. Direkt exekvering av kommandon i CLI. Skriv bara det kommando du vill ha och tryck på Enter.

Vi rekommenderar också att du skapar en demosida eller testar lokalt istället för att prova dessa steg på en livesajt. Och slutligen, ytterligare ett villkor är att WordPress-versionen av din webbplats är 4.4 eller högre. Om du är redo, låt oss börja!

Steg 1: Lär känna de grundläggande koncepten för REST API

Innan vi börjar, låt oss bekanta oss med nyckelbegreppen för REST API. Det finns bara fem grundläggande begrepp och termer som du bör bekanta dig med. Låt oss titta på dem:

  1. Rutter ('Rutter') och resurser eller åtkomstpunkter ('Slutpunkter'). Detta är den viktigaste aspekten för att förstå REST API. Rutter hjälper dig att navigera mellan dina resurser när en specifik HTTP-metod (som en statisk datauppsättning eller åtgärd) är ansluten till en specifik rutt. Till exempel är /wp-json/ en rutt konfigurerad som en resurs skapad för att visa oss tillgängliga rutter.
  2. Förfrågningar. De skapas genom att köra rätt resurser och passera igenom data.
  3. Svar ( Svar). Kort sagt, tillhandahålla de uppgifter du begärde eller returnera ett fel för att meddela dig att något gick fel.
  4. Schema. Nedan finns mallsvar så att du alltid vet exakt var du ska leta efter den data du behöver.
  5. Controller klasser. De låter dig skapa dina egna rutter och resurser. Så länge du inte behöver oroa dig för det kommer de att bli mer användbara senare.

När du väl har förstått dessa fem begrepp kan du börja dyka djupare in i själva REST API:et, börja med dess åtkomstpunkter.

Steg 2: Ta reda på de mest användbara REST API-åtkomstpunkterna

WordPress REST API erbjuder en referenshandbok med alla åtkomstpunkter (resurser) där du kan hitta de som är mest användbara för dig. Först och främst måste du veta hur man konstruerar ett HTTP REST API-anrop. Den grundläggande delen av alla WordPress API-anrop ser ut så här, byt ut dindomän.com till din:

Http://dindomän.com/wp-json/

Du kan testa anslutningen genom att köra curl-kommandot i din CLI med din egen URL:

Curl -X ALTERNATIV -i http://dindomän.com/wp-json/

Du ska hälsas med ett meddelande från HTTP. Du kan ändra detta kommando ytterligare med några av huvudresurserna. Nu använder vi bara GET-versionen av curl.

För att få en JSON-lista över dina inlägg i WordPress kan du använda följande:

Efter detta, prova följande för att kontrollera alla befintliga WordPress-sidor:

Curl -X GET -i http://dindomän.com/wp-json/wp/v2/pages

Du kan experimentera med var och en av dessa åtkomstpunkter (och fler!) i CLI för att se vilken respons var och en ger.

Steg 3: Lär dig grunderna för REST API-autentisering

Nu är det dags att lära sig mer om autentisering. Vissa åtgärder och data i REST API är offentliga, medan andra kräver att du är inloggad som administratör. Detta är dock ett REST API och det finns ingen plats att logga in för auktorisering. Istället kan du autentisera under förfrågningar som kräver administratörsåtkomst, som att visa opublicerade inlägg eller ändra inlägg.

Låt oss börja med att installera WordPress REST API Basic Auth-plugin. Detta är ett enkelt plugin för utvecklare att snabbt lära sig REST API, och är inte avsett för riktiga webbplatser. Installationsprocessen är dock densamma som för alla andra plugin.

När Basic Auth är installerat kommer du att kunna autentisera via CLI med flaggan användare. Här är ett exempel på hur man tillämpar användarautentiseringsmetoden med ringla för att se opublicerade inlägg:

Curl -X GET --användare användarnamn:lösenord -i http://yourdomain.com/wp-json/wp/v2/posts?status=draft

Autentisering kommer att krävas för alla andra åtgärder än att visa offentlig information. När du väl har fått kläm på grundläggande autentisering kan du utforska andra alternativ som rekommenderas av REST API-dokumentationen för din utveckling.

Steg 4: Välj ditt första WordPress-inlägg med REST API

När du förstår hur du gör grundläggande REST API-anrop med curl, prova att välja en specifik post. Låt oss först visa alla publikationer, som vi gjorde tidigare:

Curl -X GET -i http://dindomän.com/wp-json/wp/v2/posts

Du kan använda detta ID-tilläggstrick för vilken REST API-resurs som helst, oavsett om du vill visa ett inlägg, en sida eller taxonomi.

Steg 5: Gör ändringar i ditt WordPress-inlägg via REST API

Låt oss slutligen försöka göra ändringar i publikationen du valde. Istället för kommandon ALTERNATIV eller SKAFFA SIG, den här gången kommer vi att använda POSTA att göra ändringar. SKAFFA SIG används för att läsa data medan POSTA- att skicka dem.

Låt oss byta namn på ditt inlägg genom att skicka in en begäran POSTA tillsammans med autentiseringsdata. Nya ändringar kommer att göras med flaggan d i slutet av kommandot. Vi kommer att överföra användarens JavaScript-objekt genom att ställa in titelvariabeln till dess värde, som t.ex Min nya titel som visas i koden nedan:

Curl -X POST --användaranvändarnamn:lösenord http://dindomän.com/wp-json/wp/v2/posts/ -d "("title":"Min nya titel")"

Se till att du ersätter användarnamn, lösenord, inläggs-ID och titel med ditt eget. Du kan välja den givna publikationen igen för att kontrollera ändringarna:

Curl -X GET -i http://dindomän.com/wp-json/wp/v2/posts/

Grattis! Du har precis gjort dina första adminändringar med WordPress REST API. Naturligtvis skrapar den här grundläggande guiden bara på ytan av funktionerna som tillhandahålls av REST API, men det är en ganska solid start!

Slutsats

WordPress REST API är en kraftfull ny version av WordPress-kärnan och många utvecklare har redan börjat använda dess funktioner. Följaktligen har nu blivit bekant med hur man arbetar med ny möjlighet, kommer du att förbättra dina programmeringskunskaper och kunna skapa en applikation med WordPress som ramverk.

För att sammanfatta gick vi igenom fem steg på vägen för att lära oss hur man interagerar med WordPress REST API:

  1. Introduktion till grundläggande REST API-koncept.
  2. Mest användbara resurser/REST API-åtkomstpunkter.
  3. Lär dig grunderna i REST API-autentisering.
  4. Hämta ett inlägg på WordPress med REST API.
  5. Ändra ett WordPress-inlägg med REST API.

Vilka frågor har du om WordPress REST API? Skriv till oss i kommentarerna!