API-plugin. API-plugin Koble til en tredjeparts API-plugin for minecraft

Plugins er en viktig del av webpack-økosystemet og gir fellesskapet en kraftig måte å benytte seg av webpacks kompileringsprosess på full tilgang til kompilatoren og, når det er aktuelt, gjeldende kompilering.

For en introduksjon på høyt nivå til å skrive plugins, start med å skrive en plugin .

La oss starte med å gå over tapbart verktøy, som utgjør ryggraden i webpacks plugin-grensesnitt.

Tapbar

Dette lille biblioteket er et kjerneverktøy i webpack, men kan også brukes andre steder for å gi et lignende plugin-grensesnitt. Mange objekter i webpack utvider Tapable-klassen. Klassen avslører tap , tapAsync og tapPromise-metoder som plugins kan bruke til å injisere tilpassede byggetrinn som vil bli utløst gjennom en kompilering.

Det er mulig å tilpasse utskriften ved å sende forskjellige argumenter til reportProgress-funksjonen til ProgressPlugin.

For å rapportere fremgang, må en plugin ta seg inn i en hook ved å bruke konteksten: true option:

Kompilator. kroker. avgir. tapAsync (( navn: "MyPlugin" , context: true ), (kontekst, kompilator, tilbakeringing) => ( const reportProgress = kontekst && context. reportProgress; if (reportProgress) reportProgress (0.95, "Starter arbeidet") ; setTimeout (( ) => ( if (reportProgress) reportProgress (0,95, "Ferdig arbeid") ; tilbakeringing () ; ) , 1000 ) );

ReportProgress-funksjonen kan kalles med disse argumentene:

reportProgress(prosent, ... args);
  • prosent: Dette argumentet er ubrukt; i stedet vil ProgressPlugin beregne en prosentandel basert på gjeldende krok.
  • ...args: Et hvilket som helst antall strenger som sendes til ProgressPlugin-behandleren for å bli rapportert til brukeren.

Merk at bare et undersett av kompilator- og kompileringskroker støtter reportProgress-funksjonen. Se ProgressPlugin for en fullstendig liste.

Hogst

Logging API er tilgjengelig siden utgivelsen av webpack 4.37. Når logging er aktivert i statistikkkonfigurasjon og/eller når infrastrukturlogging er aktivert, kan plugins logge meldinger som vil bli skrevet ut i det respektive loggerformatet (statistikk, infrastruktur).

  • Plugins bør foretrekke å bruke compilation.getLogger("PluginName") for logging. Denne typen logging lagres i statistikken og formateres deretter. Det kan filtreres og eksporteres av brukeren.
  • Plugins kan bruke compiler.getInfrastructureLogger("PluginName") for logging. Bruk av infrastrukturlogging lagres ikke i statistikken og formateres derfor ikke. Det logges vanligvis direkte på konsollen/dashbordet/GUI. Det kan filtreres av brukeren.
  • Plugins kan bruke spesiell reservelogikk for å oppdage loggstøtte compilation.getLogger? compilation.getLogger("PluginName") : konsoll for å gi en reserve for tilfeller der en eldre webpack-versjon brukes som ikke støtter getLogger-metoden på kompileringsobjektet.

Neste skritt

Se kompilatorkrokene for en detaljert liste over alle tilgjengelige kompilatorkroker og parameterne de gjør tilgjengelig.

Programtillegget er et dynamisk lastet bibliotek (DLL). Etter installasjon av programmet, plasseres alle plugins som er inkludert i distribusjonen i katalogen c:\Program Files (x86)\Common Files\Soft Gold\Inventory 14\Plugins\...*.abl-utvidelsen kreves for automatisk nedlasting plugin fra den angitte katalogen når programmet starter. Programtillegget kan også lastes inn fra et annet sted på disken ved å spesifisere søkebanen i innstillingene.

Initialiserer plugin-API

(Delphi VCL Extensions)

(Plugin-grensesnitt for ABViewer/Inventory)

(Copyright (c) 2002-2010 SoftGold programvareselskap)

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

enhet sgPluginItem;

grensesnitt

gjennomføring

XMLDocRef: IXMLDocument = null;

ClientRef: IXMLNode = null;

P: Peker = null;

PluginsHostWnd: HWND = 0;

PluginsHostWndName: string = "";

XMLAtomString: string = "";

prosedyre InitializeDoc;

begynne

// får det unike navnet på vindusklassen med parametere

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

// finne selve vinduet

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

Hvis PluginsHostWnd<>0 da

Begynne

// få atomstrengen for å få xml-parameter dokument

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

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

Hvis tildelt(XMLDocRef) da

Begynne

// legge til et element til listen

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

// initialiserer adressen til Invoke-funksjonen

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

Slutt;

Slutt;

slutt;

initialisering

CoInitialize(P);

InitializeDoc;

Sette opp og kjøre demoversjonen av plugin-modulen

Demoversjonen av plugin-modulen konfigureres automatisk når du installerer programmet og kobles til umiddelbart etter at Inventory er startet. Pakken inkluderer kildekoden til komponenten (prosjektnavn sgPlugin.dpk) og en demoversjon av plugin (prosjektnavn plug1.dpr).

Prosedyren for å starte plugin fra feilsøkingsmodus:

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

▪ Angi i prosjektalternativer:

Søkebane : "..\..\Components\PlugItem";

Utdataregister , for eksempel: "c:\Program Files\Common Files\Soft Gold\Inventory 14\Plugins";

Vertsapplikasjon, på igjen installert applikasjon, for eksempel: "c:\Program Files\Soft Gold\Inventory 14\Inventory 14.exe".

▪ Lansering for utførelse.

For å bruke komponenten i designtime må du åpne, bygge om og installere C:\Users\USER_NAME\Documents\Inventory 14\Plugins\Source\Delphi\Components\PlugItem\sgPlugin.dpk. Etter installasjon av komponenten, i paletten Delphi komponenter, vil TsgPluginItem-komponenten vises på Soft Gold-fanen, som kan brukes i designtime, dvs. plasser på skjemaet.

Hooks leveres av WordPress for å la plugin-en din "kroke" inn i resten av WordPress; det vil si å kalle opp funksjoner i plugin-en din til bestemte tider, og dermed sette plugin-en i bevegelse. Det finnes to typer kroker:

  1. (kodeks)
  2. (kodeks)

Noen ganger kan du oppnå det samme målet med enten en handling eller et filter. For eksempel, hvis du vil at plugin-en din skal endre teksten i et innlegg, kan du legge til en handlingsfunksjon til publish_post (slik at innlegget endres etter hvert som det lagres i databasen), eller en filterfunksjon til the_content (slik at innlegget er endret slik den vises i nettleserskjermen).

For en grundig liste over alle action- og filterkroker i WP, se Adam Browns WordPress Hooks-database.

Funksjonsreferanse

Filterfunksjoner
Handlinger Funksjoner
Aktivering/deaktivering/avinstalleringsfunksjoner

Handlinger

Handlinger utløses av spesifikke hendelser som finner sted i WordPress, for eksempel å publisere et innlegg, endre temaer eller vise en . En handling er en tilpasset PHP-funksjon definert i plugin-en (eller temaet) og hekta, dvs. satt til å svare på noen av disse hendelsene. Handlinger gjør vanligvis ett eller flere av følgende:

  • Endre databasedata.
  • Send en e-postmelding.
  • Endre den genererte administrasjonsskjermen eller frontend-siden sendt til en brukernettleser.

De grunnleggende trinnene for å få dette til (beskrevet mer detaljert nedenfor) er:

  1. Lag en PHP-funksjon som skal kjøres når en spesifikk WordPress-hendelse inntreffer, i plugin-filen din.
  2. Koble denne funksjonen til arrangementet ved å bruke funksjonen.
  3. Sett PHP-funksjonen din i en plugin-fil, og aktiver den.

Opprett en handlingsfunksjon

Det første trinnet i å lage en handling i plugin-modulen er å lage en PHP-funksjon med handlingsfunksjonaliteten til plugin-en din og legge den inn i plugin-filen din (plugin-filen din må gå inn i wp-innhold/plugins katalog). Hvis du for eksempel vil at vennene dine skal få en e-postmelding hver gang du oppretter et nytt innlegg, kan du definere følgende funksjon:

Funksjon email_friends($post_ID) ( $friends = " [e-postbeskyttet],[e-postbeskyttet]"; mail($friends, "sallys blogg oppdatert", "Jeg har nettopp lagt noe på bloggen min: http://blog.example.com"); returner $post_ID; )

For de fleste handlinger bør funksjonen din godta én enkelt parameter (vanligvis post- eller kommentar-ID, avhengig av handlingen). Noen handlinger krever mer enn én parameter -- sjekk dokumentasjonen for handlingen (hvis tilgjengelig) eller WordPress-kildekoden for mer informasjon. I tillegg til den ene parameteren, kan du også få tilgang til , og kalle andre WordPress-funksjoner (eller funksjoner i plugin-filen din).

All tekst som skrives ut av funksjonen (f.eks. med utskrift) vil vises i sidekilden på stedet der handlingen ble påkalt.

MERK: Husk at andre plugins eller WordPress-kjernen kanskje allerede bruker funksjonsnavnet du har tenkt på. Se neste avsnitt for mer informasjon.

Unngå funksjonsnavnkollisjoner

Det er mulig at noen har opprettet en plugin med en funksjon som heter det samme som en i plugin-en din.

Dette er et problem fordi PHP ikke tillater flere funksjoner med samme navn. Hvis to plugins gir en funksjon med samme navn, eller en plugin gir en funksjon med et navn som er det samme som en WordPress-funksjon, kan bloggen slutte å fungere. Det er to måter å unngå dette problemet på.

Den første løsningen er å prefiksere hver funksjon i plugin-en din med et unikt sett med tegn. Hvis navnet ditt er John Q. Public, kan du erklære funksjonene dine som funksjon jqp_output() (...) . Sannsynligheten for at noen med samme initialer gjør det samme med sin plugin er mulig, men lav.

Den andre – og muligens enklere – løsningen er å omslutte plugin-funksjonene dine i en klasse og kalle klassemetodene statisk. Dette høres mer komplisert ut enn det er.

Tenk på denne klassen, som utvider eksemplene ovenfor:

Klasse-e-poster ( statisk funksjon send($post_ID) ( $friends = " [e-postbeskyttet],[e-postbeskyttet]"; mail($friends,"sallys blogg oppdatert","Jeg har nettopp lagt noe på bloggen min: http://blog.example.com"); returner $post_ID; ) ) add_action("publish_post", array("emailer", "send"));

Denne klassen ringte e-poster har en metode sende som implementerer plugin-funksjonaliteten.

Add_action()-funksjonen utenfor klassen legger til handlingen til WordPress som ber den kalle sende metode når et innlegg publiseres. Arrayen som brukes i den andre parameteren forteller plugin-systemet å kalle den statiske metoden til klassen "e-poster" kalt "send".

Funksjonen sende er beskyttet fra det globale navneområdet av klasseerklæringen. Det er ikke mulig å kalle send() direkte, og så en hvilken som helst annen funksjon navngitt sende vil ikke kollidere med denne. Hvis du ønsker å ringe send(), må du bruke en scope resolution operator, som denne: emailer::send()

Eksempelet ovenfor er for statiske metoder. Hvis du har en forekomst av en klasse, vil det ikke fungere. For å kalle en metode for en forekomst må du sende forekomsten som en variabel. Tenk på at eksemplet ovenfor er modifisert for å ta hensyn til dette:

Klasse-eposter ( function send($post_ID) ( $friends = " [e-postbeskyttet],[e-postbeskyttet]"; mail($friends,"sallys blogg oppdatert","Jeg har nettopp lagt noe på bloggen min: http://blog.example.com"); returner $post_ID; ) ) $myEmailClass = new emailer(); add_action("publish_post", array($myEmailClass, "send"));

Klasser er et komplisert emne. Les mer om dem i PHP-dokumentasjonen om klasser.

Koble til WordPress

Etter at funksjonen din er definert, er neste trinn å "hooke" eller registrere den med WordPress. For å gjøre dette, kall inn den globale utførelsesplassen til plugin-filen:

Add_action("hook_name", "ditt_funksjonsnavn", , );

Hook_name Navnet på en handlingshook levert av WordPress, som forteller hvilken hendelse funksjonen din skal assosieres med. your_function_name Navnet på funksjonen som du vil skal utføres etter hendelsen spesifisert av hook_name . Dette kan være en standard php-funksjon, en funksjon som finnes i WordPress-kjernen, eller en funksjon definert av deg i plugin-filen (som "email_friends" definert ovenfor). priority Et valgfritt heltallsargument som brukes til å spesifisere rekkefølgen som funksjonene knyttet til en bestemt handling utføres i (standard: 10). Lavere korresponderende tall med tidligere utførelse, og funksjoner med samme prioritet utføres i rekkefølgen lagt til handlingen. accepted_args Et valgfritt heltallsargument som definerer hvor mange argumenter funksjonen din kan akseptere (standard 1), nyttig fordi noen kroker kan sende mer enn ett argument til funksjonen din. Denne parameteren er ny i versjon 1.5.1.

I eksemplet ovenfor vil vi sette følgende linje i plugin-filen:

Add_action("publish_post", "email_friends");

Installer og aktiver

Det siste trinnet for å få filterkroken til å fungere er å installere filen og aktivere plugin. PHP-funksjonen du skrev og kallet må gå inn i en PHP-fil sammen, og PHP-filen må installeres i wp-innhold/plugins katalog. Når den er installert, må du gå til admin-delen av WordPress og aktivere plugin-en din; se for flere detaljer.

Nåværende kroker for filtre

Aktivering/Deaktivering/Avinstallering

Hvis plugin-modulen din har oppgaver som bare skal fullføres ved aktivering eller deaktivering, kan den bruke og Action Reference - En liste over WordPresss handlingskroker

Eksterne ressurser

  • Adam Browns WordPress Hooks-database, en database med alle WordPress-kroker, som viser hvilken versjon de kommer fra, og lenker til kildekodepunktene som bruker dem. Dette er den mest komplette.
  • Otto på WordPress:

Av Yandex.
Det er en nettjeneste, så du trenger ikke å legge til det.

Servereiere trenger en spesiell nøkkel for å aktivere dette plugg inn.
Logg på Yandex-nettstedet og hent denne nøkkelen , og legg den deretter inn i API-konfigurasjonen.
Vær oppmerksom på at gratisnøkkelen "bare" støtter 10 000 000 tegn hver måned, men du kan lage hvor mange nøkler du vil ha.

Dette er de tilgjengelige språkene:

SpoilerTarget">Spoiler

ASERBAJJAN
ALBANISKE
ENGELSK
ARABISK
AFRIKAANS
BASKISK
HVITERUSSISK
BULGARISK
BOSNISK
WALISISK
UNGARSK
VIETNAMESISK
HAITIAN
GALICISK
NEDERLANDSK
GRESK
GEORGISK
DANSK
INDONESISK
IRSK
ITALIENSK
ISLANDSK
SPANSK
KANNADA
KINESISK
KOREANSK
LATIN
LITAUISK
MAKEDONISK
MONGOLISK
TYSK
NEPALI
NORSK
PERSISK
PUSSE
PORTUGISISK
RUMENSK
RUSSISK
SERBISK
SLOVAKISK
SLOVENISK
SUNDANESISK
TYRKISK
UZBEK
UKRAINISK
FINSK
FRANSK
HINDI
KROATISK
TSJEKKISK
SVENSK
SKOTTISK
ESTISK
JAPANSK

Når du blir med på serveren, er språket ditt serverspråket.
For å endre det, bare skriv /lang(tillatelse: translator.lang) og velg språket ditt fra menyen.

Hvis du ikke vet hvordan du legger til avhengigheter, les her.

Utvikler
Pass på at du bruker Java >= 8.
Legg til JAR til byggebanen din. Sett deretter "Manual Manifest"-innstillingen og lag MANIFEST.MF til prosjektet. Skrive:

Hovedklasse: din.pakke.Klasse
Klasse-bane: ..\lib\Translator.jar

Servereiere
Pass på at du bruker Java >= 8.
Opprett en mappe med navnet lib i hovedserverroten, og legg inn JAR her.
Du må også legge den i plugins-mappen din.

//Sende en melding oversatt automatisk til spillerens språk
p.sendMessage("§a" + Translator.translate("Hei!", p));

//Sende en melding oversatt manuelt
p.sendMessage("§a" + Translator.translate("Hei!", Language.ENGLISH, Language.ITALIAN));

//Få serverspråket
Language serverLang = Translator.getServerLanguge();

//Få spillerens språk
Language playerLang = Translator.getPlayerLanguage(p);

  • Hvis du laster inn API på nytt mens en plugin som bruker den er aktivert, vil den krasje. For å fikse manuelt, last av plugin-en, last inn API-en på nytt og last inn plugin-en
  • Fargekoder støttes ikke. For å bruke dem, se eksemplene ovenfor
  • Lite etterslep (API-en må oversette originalteksten og motta JSON)

Hvis du har problemer, skriv et innlegg i diskusjonen eller kontakt meg via private meldinger. Jeg vil ikke svare på feilrapporter i vurderingsdelen.

For øyeblikket er det ingen plugins som bruker denne API. Hvis du bruker det, fortell meg det, så legger jeg det til her

Nylige anmeldelser

  1. Versjon: 1.0

    Grande frate! Ho letto drevet 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.IOUnntak: Umulig trovare il percorso specificato
    : på java.io.WinNTFileSystem.createFileExclusively(Native Method)
    : på java.io.File.createNewFile(ukjent kilde)
    : at eu.iamgio.translator.UsersFileLoader.loadRegisterFile(UsersFileLoader.java:21)
    : at eu.iamgio.translator.Translator.onEnable(Translator.java:35)
    : at org.bukkit.plugin.java.JavaPlugin.setEnabled(JavaPlugin.java:321)
    : at org.bukkit.plugin.java.JavaPluginLoader.enablePlugin(JavaPluginLoader.java:340)
    : på org.bukkit.plugin.SimplePluginManager.enablePlugin(SimplePluginManager.java:405)
    : at org.bukkit.craftbukkit.v1_8_R3.CraftServer.loadPlugin(CraftServer.java:357)
    : at org.bukkit.craftbukkit.v1_8_R3.CraftServer.enablePlugins(CraftServer.java:317)
    : på net.minecraft.server.v1_8_R3.MinecraftServer.s(MinecraftServer.java:414)
    : at 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(Ukjent kilde)

Utgitt i slutten av 2015. Men stort sett er det bare avanserte utviklere som har tatt seg tid til å finne ut hvor kraftig dette tilbudet er.

WordPress REST API-pakken samler alle moderne oppdateringer, og gir en innebygd API som kan integreres i temaer, mobilapper og mer. Med andre ord lar det utviklere skille front-end-grensesnittet fra dataadministrasjon, slik at enhver applikasjon kan samhandle med WordPress. Å lære hvordan dette verktøyet fungerer kan åpne døren til nesten uendelige muligheter for å utvide WordPress-nettstedet ditt.

I denne artikkelen vil vi introdusere deg til WordPress REST API-prosjektet, forklare hvorfor det er så bra, og deretter gi noen ideer for å bruke det. Så la oss ikke kaste bort tid og komme i gang!

Vi introduserer WordPress REST API

WordPress REST API-prosjektet (REST fra Representational State Transfer) bekrefter at WordPress tar skritt mot å bli en fullverdig applikasjonsplattform. Dens tilstedeværelse er overbevisende fordi den legger til en standard REST API til kjernen av WordPress.

Prosjektet ble først lastet opp til GitHub for utviklere i 2013 av utviklerne Ryan McCue og Rachel Baker. Den uavhengige REST API-pluginen ble bygget inn i WordPress-kjernen i desember 2015 etter å ha mottatt overveldende støtte og tiltrukket seg nesten 100 bidragsytere som var villige til å jobbe med å forbedre egenskapene.

Siden WordPress REST API ble en del av kjernen, har det bevist sin effektivitet. Her er bare noen få virkelige eksempler for klarhet i bruken og inspirasjon i prosjektene dine:

  1. Event Espresso bruker en REST API for å gi utviklere tilgang til deres internasjonale infrastruktur, slik at de kan utvikle applikasjoner ved å bruke tjenestene deres.
  2. Simmer gir utviklere tilgang til API for å utvide funksjonaliteten deres til en fullverdig mobilapp eller tilpasse temaer.
  3. JoinIn tilbyr sin egen "integrerbare" widget ved hjelp av en REST API, og fyller den med relevante data uansett hvor den vises.

Dette er bare toppen av isfjellet når det kommer til de innovative formålene med REST APIer. La oss imidlertid diskutere hvordan selve REST API fungerer.

Hvordan WordPress REST API fungerer

Kort sagt, en REST API fungerer ved å manipulere tekstdata fra ett sted til et annet uten direkte tilgang til databasen eller brukergrensesnittet. Det finnes mange typer APIer (Application Programming Interfaces), til tross for dette forblir REST en moderne og relevant standard.

REST API overføres over Hyper Text Transfer Protocol (HTTP) tilgangspunkter ved å bruke JavaScript Object Notation (JSON)-formatet. Enkelt sagt gir disse teknologiene tilgang til APIer som bruker unike nettadresser for å levere data som oppfører seg som JavaScript-objekter.

Hvis du aldri har jobbet med JavaScript eller dets objektdefinisjoner, kan du lære det grunnleggende om JSON. Nå som vi har ryddet opp i konseptet med REST API litt, la oss snakke om hvordan det kan ha stor innvirkning på utviklingsprosessen ved å bruke WordPress.

Hva betyr WordPress REST API for utviklere?

WordPress REST API er en universell integrator av enhver WordPress-installasjon med hvilken som helst applikasjon på webserveren eller din operativsystem. Til syvende og sist betyr dette at den eneste grensen for hva som kan bygges med bruker WordPress, er bare vår fantasi. Du kan lage hvilken som helst applikasjon skrevet på hvilken som helst plattform eller språk og bruke WordPress til å behandle data gjennom REST API. Det åpne og vennlige WordPress-fellesskapet tilbyr enorme muligheter.

REST API er basert på JavaScript, som får økende oppmerksomhet, noe som antyder hvilke programmeringsspråk som er viktige å kunne. Du vil snart oppdage at JavaScript på serversiden er det nye PHP. Dette kan allerede sees i WordPress.coms nye programvare, Calypso, som kjører utelukkende på JavaScript og en REST API.

Ved å standardisere måten applikasjoner (inkludert WordPress-kjerne) samhandler med WordPress-data, vil WordPress-utvikling bli enklere og mer intuitiv. Dessuten vil det lette integrasjon med tredjepartsplattformer.

Jeg håper du nå har flere grunner til at det er viktig å begynne å lære hvordan du bruker denne teknologien nå. Det er på tide å ta dine første skritt mot å bruke REST API i ditt eget arbeid!

5 trinn for å komme i gang med WordPress REST API

Som vi dekket tidligere, kan REST API brukes med alle programmer eller programmeringsspråk som kan kalle HTTP-ressurser. Vi vil fokusere på å bruke kommandolinjen for å lage REST API-forespørsler fordi det er den enkleste metoden med minst mulig sjanse for å introdusere feil som kan forringe læringsprosessen.

For å gjøre dette, må du åpne et program med et kommandolinjegrensesnitt (Command Line Interface CLI) på datamaskinen din - terminal på macOS eller Linux og kommandolinje på Windows. CLI lar deg samhandle direkte med REST API, uten å måtte skrive flere skript for å be om og behandle informasjon. Enhver forespørsel du skriver i CLI kan være et skript i PHP, JavaScript eller et annet språk, men metoden vil være forskjellig for hver. Direkte utførelse av kommandoer i CLI. Bare skriv inn kommandoen du ønsker og trykk Enter.

Vi anbefaler også å sette opp en demoside eller teste lokalt i stedet for å prøve disse trinnene på en live-side. Og til slutt, en annen betingelse er at WordPress-versjonen av nettstedet ditt er 4.4 eller høyere. Hvis du er klar, la oss komme i gang!

Trinn 1: Bli kjent med de grunnleggende konseptene til REST API

Før vi begynner, la oss gjøre oss kjent med nøkkelbegrepene til REST API. Det er bare fem grunnleggende begreper og termer du bør bli kjent med. La oss se på dem:

  1. Ruter ('Ruter') og ressurser eller tilgangspunkter ('Endepunkter'). Dette er det viktigste aspektet for å forstå REST API. Ruter hjelper deg med å navigere mellom ressursene dine når en bestemt HTTP-metode (som et statisk datasett eller handling) er koblet til en bestemt rute. For eksempel er /wp-json/ en rute konfigurert som en ressurs opprettet for å vise oss de tilgjengelige rutene.
  2. Forespørsler. De skapes ved å kjøre de riktige ressursene og passere gjennom dataene.
  3. Svar ( svar). Kort sagt, å oppgi dataene du ba om eller returnere en feil for å fortelle deg at noe gikk galt.
  4. Skjemaer. Nedenfor er malsvar slik at du alltid vet nøyaktig hvor du skal lete etter dataene du trenger.
  5. Controller klasser. De lar deg lage dine egne ruter og ressurser. Så lenge du ikke trenger å bekymre deg for det, vil de bli mer nyttige senere.

Når du forstår disse fem konseptene, kan du begynne å dykke dypere inn i selve REST API, og starte med tilgangspunktene.

Trinn 2: Finn ut de mest nyttige REST API-tilgangspunktene

WordPress REST API tilbyr en referansehåndbok med alle tilgangspunktene (ressursene) der du kan finne de som er mest nyttige for deg. Først av alt må du vite hvordan du konstruerer et HTTP REST API-kall. Den grunnleggende delen av ethvert WordPress API-kall ser slik ut, erstatt dittdomene.com til din:

Http://dittdomene.com/wp-json/

Du kan teste tilkoblingen ved å kjøre curl-kommandoen i CLI-en din ved å bruke din egen URL:

Curl -X OPTIONS -i http://dittdomene.com/wp-json/

Du skal bli møtt med en melding fra HTTP. Du kan endre denne kommandoen ytterligere ved å bruke noen av hovedressursene. Nå bruker vi bare GET-versjonen av curl.

For å få en JSON-liste over innleggene dine i WordPress, kan du bruke følgende:

Etter dette, prøv følgende for å sjekke alle eksisterende WordPress-sider:

Curl -X GET -i http://dittdomene.com/wp-json/wp/v2/pages

Du kan eksperimentere med hvert av disse tilgangspunktene (og flere!) i CLI for å se hvilken respons hver enkelt gir.

Trinn 3: Lær det grunnleggende om REST API-autentisering

Nå er tiden inne for å lære om autentisering. Noen handlinger og data i REST API er offentlige, mens andre krever at du er logget på som administrator. Dette er imidlertid et REST API og det er ikke noe sted å logge på for autorisasjon. I stedet kan du autentisere under forespørsler som krever administratortilgang, for eksempel å se upubliserte innlegg eller endre innlegg.

La oss starte med installasjonen WordPress-plugin REST API Basic Auth. Dette er en enkel plugin for utviklere for raskt å lære REST API, og er ikke beregnet på ekte nettsteder. Installasjonsprosessen er imidlertid den samme som for alle andre plugin-moduler.

Når Basic Auth er installert, vil du kunne autentisere via CLI med flagget bruker. Her er et eksempel på hvordan du bruker brukerautentiseringsmetoden ved hjelp av krølle for å se upubliserte innlegg:

Curl -X GET --bruker brukernavn:passord -i http://dittdomene.com/wp-json/wp/v2/posts?status=utkast

Autentisering vil være nødvendig for alle andre operasjoner enn å se offentlig informasjon. Når du får taket på grunnleggende autentisering, kan du utforske andre alternativer anbefalt av REST API-dokumentasjonen for utviklingen din.

Trinn 4: Velg ditt første WordPress-innlegg ved hjelp av REST API

Når du forstår hvordan du foretar grunnleggende REST API-anrop med curl, kan du prøve å velge en spesifikk oppføring. Først, la oss vise alle publikasjoner, som vi gjorde tidligere:

Curl -X GET -i http://dittdomene.com/wp-json/wp/v2/posts

Du kan bruke dette ID-vedleggstrikset for enhver REST API-ressurs, enten du vil vise et innlegg, en side eller taksonomi.

Trinn 5: Gjør endringer i WordPress-innlegget ditt via REST API

Til slutt, la oss prøve å gjøre endringer i publikasjonen du valgte. I stedet for kommandoer ALTERNATIV eller , denne gangen skal vi bruke POSTå gjøre endringer. brukes til å lese data mens POST- å sende dem.

La oss gi nytt navn til innlegget ditt ved å sende inn en forespørsel POST sammen med autentiseringsdata. Nye endringer vil bli gjort med flagget d på slutten av kommandoen. Vi vil overføre brukerens JavaScript-objekt ved å sette tittelvariabelen til sin verdi, for eksempel Min nye tittel som vist i koden nedenfor:

Curl -X POST --bruker brukernavn:passord http://dittdomene.com/wp-json/wp/v2/posts/ -d "("title":"Min nye tittel")"

Pass på at du erstatter brukernavn, passord, post-ID og tittel med ditt eget. Du kan velge den angitte publikasjonen på nytt for å sjekke endringene:

Curl -X GET -i http://dittdomene.com/wp-json/wp/v2/posts/

Gratulerer! Du har nettopp gjort dine første administratorredigeringer ved hjelp av WordPress REST API. Selvfølgelig skraper denne grunnleggende guiden bare i overflaten av mulighetene som tilbys av REST API, men det er en ganske solid start!

Konklusjon

WordPress REST API er en kraftig ny versjon av WordPress-kjerne, og mange utviklere har allerede begynt å bruke funksjonene. Følgelig har nå blitt kjent med hvordan man jobber med ny mulighet, vil du forbedre dine programmeringsferdigheter og være i stand til å lage en applikasjon med WordPress som rammeverk.

For å oppsummere, gikk vi gjennom fem trinn på vår vei til å lære å samhandle med WordPress REST API:

  1. Introduksjon til grunnleggende REST API-konsepter.
  2. Mest nyttige ressurser/REST API-tilgangspunkter.
  3. Lær det grunnleggende om REST API-autentisering.
  4. Henter et innlegg på WordPress ved hjelp av REST API.
  5. Endre et WordPress-innlegg ved hjelp av REST API.

Hvilke spørsmål har du om WordPress REST API? Skriv til oss i kommentarfeltet!