API vtičnik. API vtičnik Povezovanje vtičnika api drugega proizvajalca za minecraft

Vtičniki so ključni del ekosistema webpack in skupnosti zagotavljajo zmogljiv način, da se vključi v proces prevajanja webpacka. Vtičnik se lahko poveže s ključnimi dogodki, ki se sprožijo med vsako kompilacijo. Na vsakem koraku bo vtičnik imel popoln dostop do prevajalnika in, kadar je primerno, trenutne kompilacije.

Za uvod na visoki ravni v pisanje vtičnikov začnite s pisanjem vtičnika.

Začnimo s pripomočkom za dotikanje, ki zagotavlja hrbtenico vmesnika vtičnika webpack.

Tapljiv

Ta majhna knjižnica je osnovni pripomoček v webpacku, lahko pa se uporablja tudi drugje za zagotavljanje podobnega vmesnika vtičnika. Številni predmeti v webpacku razširjajo razred Tapable. Razred razkriva metode tap, tapAsync in tapPromise, ki jih lahko vtičniki uporabijo za vstavljanje korakov gradnje po meri, ki se bodo sprožili skozi kompilacijo.

Natisnjene rezultate je mogoče prilagoditi s posredovanjem različnih argumentov funkciji reportProgress vtičnika ProgressPlugin.

Če želite poročati o napredku, se mora vtičnik dotakniti kljuke z uporabo možnosti context: true:

Prevajalnik. kavlji. oddajajo. tapAsync (( ime: "MyPlugin" , kontekst: true ) , (kontekst, prevajalnik, povratni klic) => ( const reportProgress = context && context. reportProgress; if (reportProgress) reportProgress (0.95, "Začetek dela" ) ; setTimeout (( ) => ( if (reportProgress) reportProgress (0.95, "Opravljeno delo" ) ; povratni klic () ; ) , 1000 ) ; ) ) ;

Funkcijo reportProgress lahko pokličete s temi argumenti:

reportProgress(odstotek, ... argumenti);
  • odstotek: ta argument ni uporabljen; namesto tega bo ProgressPlugin izračunal odstotek glede na trenutno kljuko.
  • ...argi: Poljubno število nizov, ki bodo posredovani upravljalniku ProgressPlugin, da se poročajo uporabniku.

Upoštevajte, da samo podmnožica prevajalnika in kavljev za prevajanje podpira funkcijo reportProgress. Za celoten seznam glejte ProgressPlugin.

Sečnja

Logging API je na voljo od izdaje webpack 4.37. Ko je beleženje omogočeno v konfiguraciji statistike in/ali ko je omogočeno beleženje infrastrukture, lahko vtičniki beležijo sporočila, ki bodo natisnjena v ustrezni obliki zapisovalnika (statistika, infrastruktura).

  • Vtičniki naj raje uporabljajo compilation.getLogger("PluginName") za beleženje. Ta vrsta beleženja je shranjena v statistiki in ustrezno oblikovana. Uporabnik ga lahko filtrira in izvozi.
  • Vtičniki lahko uporabljajo compiler.getInfrastructureLogger("PluginName") za beleženje. Uporaba beleženja infrastrukture ni shranjena v statistiki in zato ni formatirana. Običajno je prijavljen neposredno na konzolo/nadzorno ploščo/grafični uporabniški vmesnik. Uporabnik ga lahko filtrira.
  • Vtičniki lahko uporabljajo posebno nadomestno logiko za odkrivanje podpore za beleženje compilation.getLogger? compilation.getLogger("PluginName") : konzola za zagotavljanje nadomestne možnosti za primere, ko je uporabljena starejša različica spletnega paketa, ki ne podpira metode getLogger na objektu prevajanja.

Naslednji koraki

Oglejte si razdelek o kavljih prevajalnika za podroben seznam vseh razpoložljivih kavljev prevajalnika in parametrov, ki jih dajejo na voljo.

Vtičnik je dinamično naložena knjižnica (DLL). Po namestitvi programa se vsi vtičniki, vključeni v distribucijo, postavijo v imenik c:\Program Files (x86)\Common Files\Soft Gold\Inventory 14\Plugins\... Pripona *.abl je potrebna za samodejni prenos plugin iz navedenega imenika, ko se aplikacija zažene. Vtičnik je mogoče naložiti tudi s katere koli druge lokacije na disku, tako da v nastavitvah določite iskalno pot.

Inicializacija API-ja vtičnika

(Razširitve Delphi VCL)

(vmesnik vtičnika za ABViewer/inventar)

(Avtorske pravice (c) 2002-2010 Podjetje za programsko opremo SoftGold)

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

enota sgPluginItem;

vmesnik

izvajanje

XMLDocRef: IXMLDocument = nič;

ClientRef: IXMLNode = nič;

P: kazalec = nič;

PluginsHostWnd: HWND = 0;

PluginsHostWndName: niz = "";

XMLAtomString: niz = "";

postopek InitializeDoc;

začeti

// pridobivanje edinstvenega imena okenskega razreda s parametri

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

// iskanje samega okna

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

Če PluginsHostWnd<>0 potem

Začeti

// pridobi atomski niz, ki ga želite dobiti xml parameter dokument

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

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

Če je dodeljeno (XMLDocRef), potem

Začeti

// dodajanje elementa na seznam

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

// inicializacija naslova funkcije Invoke

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

Konec;

Konec;

konec;

inicializacija

CoInitialize(P);

InitializeDoc;

Nastavitev in zagon demo različice vtičnika

Demo različica vtičnika se samodejno konfigurira ob namestitvi programa in se poveže takoj po zagonu Inventory. Paket vključuje izvorno kodo komponente (ime projekta sgPlugin.dpk) in demo različico vtičnika (ime projekta plug1.dpr).

Postopek za zagon vtičnika iz načina za odpravljanje napak:

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

▪ Nastavite v možnostih projekta:

Pot iskanja: "..\..\Components\PlugItem";

Izhodni imenik, na primer: “c:\Program Files\Common Files\Soft Gold\Inventory 14\Plugins”;

Gostiteljska aplikacija, ponovno vklopljena nameščeno aplikacijo, na primer: “c:\Program Files\Soft Gold\Inventory 14\Inventory 14.exe”.

▪ Zagon za izvedbo.

Če želite komponento uporabljati v času načrtovanja, jo morate odpreti, znova zgraditi in namestiti C:\Users\USER_NAME\Documents\Inventory 14\Plugins\Source\Delphi\Components\PlugItem\sgPlugin.dpk. Po namestitvi komponente, v paleti Delphi komponente, se bo na zavihku Soft Gold prikazala komponenta TsgPluginItem, ki jo je mogoče uporabiti v času oblikovanja, tj. postavite na obrazec.

WordPress ponuja kljuke, ki vašemu vtičniku omogočajo, da se "priklopi" na preostali del WordPressa; to je za klicanje funkcij v vašem vtičniku ob določenem času in s tem sprožitev vašega vtičnika. Obstajata dve vrsti kavljev:

  1. (Kodeks)
  2. (Kodeks)

Včasih lahko isti cilj dosežete z dejanjem ali filtrom. Na primer, če želite, da vaš vtičnik spremeni besedilo objave, lahko dodate funkcijo dejanja v publish_post (tako da se objava spremeni, ko se shrani v bazo podatkov) ali funkcijo filtra v the_content (tako da je objava spremenjeno, kot je prikazano na zaslonu brskalnika).

Za natančen seznam vseh akcijskih in filtrirnih kavljev v WP si oglejte zbirko podatkov Adama Browna o kljukah WordPress.

Referenca funkcije

Funkcije filtra
Dejanja Funkcije
Funkcije aktivacije/deaktivacije/odstranitve

Dejanja

Dejanja sprožijo določeni dogodki, ki se zgodijo v WordPressu, kot je objava objave, spreminjanje tem ali prikaz . Dejanje je funkcija PHP po meri, definirana v vašem vtičniku (ali temi) in zasvojen, tj. da se odzove na nekatere od teh dogodkov. Dejanja običajno naredijo eno ali več od naslednjega:

  • Spremenite podatke baze podatkov.
  • Pošlji e-poštno sporočilo.
  • Spremenite ustvarjeni skrbniški zaslon ali sprednjo stran, poslano v uporabniški brskalnik.

Osnovni koraki za to (podrobneje opisani spodaj) so:

  1. V datoteki vtičnika ustvarite funkcijo PHP, ki naj se izvede, ko se zgodi določen dogodek WordPress.
  2. Povežite to funkcijo z dogodkom z uporabo funkcije.
  3. Svojo PHP funkcijo vstavite v datoteko vtičnika in jo aktivirajte.

Ustvarite akcijsko funkcijo

Prvi korak pri ustvarjanju dejanja v vašem vtičniku je, da ustvarite funkcijo PHP s funkcijo dejanja vašega vtičnika in jo postavite v datoteko vtičnika (vaša datoteka vtičnika mora iti v wp-content/plugins imenik). Na primer, če želite, da vaši prijatelji prejmejo e-poštno sporočilo vsakič, ko ustvarite novo objavo, lahko definirate naslednjo funkcijo:

Funkcija email_friends($post_ID) ( $friends = " [e-pošta zaščitena],[e-pošta zaščitena]"; mail($friends, "sally's blog posodobljen", "Pravkar sem dal nekaj na svoj blog: http://blog.example.com"); vrni $post_ID; )

Za večino dejanj mora vaša funkcija sprejeti en sam parameter (običajno ID objave ali komentarja, odvisno od dejanja). Nekatera dejanja zahtevajo več kot en parameter – za več informacij preverite dokumentacijo za dejanje (če je na voljo) ali izvorno kodo WordPress. Poleg enega parametra lahko dostopate tudi do in kličete druge funkcije WordPress (ali funkcije v vaši datoteki vtičnika).

Kakršno koli izhodno besedilo funkcije (npr. s tiskanjem) se bo pojavilo v viru strani na mestu, kjer je bilo dejanje priklicano.

OPOMBA: Upoštevajte, da drugi vtičniki ali jedro WordPressa morda že uporabljajo ime funkcije, ki ste si ga zamislili. Za več informacij glejte naslednji razdelek.

Izogibanje trkom imen funkcij

Možno je, da je nekdo ustvaril vtičnik s funkcijo, imenovano enako kot tista v vašem vtičniku.

To je težava, ker PHP ne dovoljuje več funkcij z istim imenom. Če dva vtičnika nudita funkcijo z enakim imenom ali če vtičnik nudi funkcijo z enakim imenom kot funkcija WordPress, lahko blog preneha delovati. Tej težavi se lahko izognete na dva načina.

Prva rešitev je, da pred vsako funkcijo v vašem vtičniku dodate edinstven nabor znakov. Če je vaše ime John Q. Public, lahko svoje funkcije razglasite kot funkcijo jqp_output() (...) . Verjetnost, da nekdo z istimi začetnicami naredi isto stvar s svojim vtičnikom, je možna, vendar majhna.

Druga - in morda lažja - rešitev je, da svoje funkcije vtičnika zaprete v razred in statično pokličete metode razreda. To zveni bolj zapleteno, kot je.

Razmislite o tem razredu, ki razširja zgornje primere:

Class emailer ( statična funkcija send($post_ID) ( $friends = " [e-pošta zaščitena],[e-pošta zaščitena]"; mail($friends,"sally's blog posodobljen","Pravkar sem dal nekaj na svoj blog: http://blog.example.com"); vrni $post_ID; ) ) add_action("objavi_objavo", array("emailer", "pošlji"));

Ta razred je poklical pošiljatelj elektronske pošte ima metodo poslati ki implementira funkcionalnost vtičnika.

Funkcija add_action() zunaj razreda WordPressu doda dejanje, ki mu pove, naj pokliče poslati način, ko je objava objavljena. Matrika, uporabljena v drugem parametru, pove sistemu vtičnikov, naj pokliče statično metodo razreda "emailer" z imenom "send".

Funkcija poslati je zaščiten pred globalnim imenskim prostorom z deklaracijo razreda. Ni mogoče neposredno poklicati send() in tako katere koli druge imenovane funkcije poslati ne bo trčil s tem. Če bi vseeno želeli poklicati send(), bi morali uporabiti operator za razrešitev obsega, kot je ta: emailer::send()

Zgornji primer je za statične metode. Če imate primerek razreda, potem to ne bo delovalo. Če želite poklicati metodo primerka potrebujete da posredujete primerek kot spremenljivko. Razmislite o tem, da je zgornji primer spremenjen, da upošteva to:

E-poštni pošiljatelj razreda ( funkcija send($post_ID) ( $friends = " [e-pošta zaščitena],[e-pošta zaščitena]"; mail($friends,"sally's blog posodobljen","Pravkar sem dal nekaj na svoj blog: http://blog.example.com"); vrni $post_ID; ) ) $myEmailClass = nov emailer(); add_action("objavi_objavo", array($myEmailClass, "pošlji"));

Pouk je zapleten predmet. Preberite več o njih v dokumentaciji PHP o razredih.

Priključite se na WordPress

Ko je vaša funkcija definirana, je naslednji korak, da jo "zataknete" ali registrirate v WordPressu. Če želite to narediti, pokličite globalni izvajalni prostor vaše datoteke vtičnika:

Add_action("hook_name", "your_function_name", , );

Hook_name Ime kljuka dejanja, ki ga ponuja WordPress, ki pove, s katerim dogodkom naj bo vaša funkcija povezana. your_function_name Ime funkcije, za katero želite, da se izvede po dogodku, podanem s hook_name. To je lahko standardna funkcija php, funkcija, ki je prisotna v jedru WordPressa, ali funkcija, ki ste jo definirali v datoteki vtičnika (na primer "email_friends", definiran zgoraj). prioriteta Izbirni celoštevilski argument, ki se uporablja za določitev vrstnega reda, v katerem se izvajajo funkcije, povezane z določenim dejanjem (privzeto: 10). Nižje ustrezajo številkam s prejšnjim izvajanjem, funkcije z enako prioriteto pa se izvajajo v vrstnem redu, dodanem dejanju. accepted_args Izbirni celoštevilski argument, ki določa, koliko argumentov lahko sprejme vaša funkcija (privzeto 1), uporaben, ker lahko nekatere kljuke vaši funkciji posredujejo več kot en argument. Ta parameter je nov v izdaji 1.5.1.

V zgornjem primeru bi v datoteko vtičnika vstavili naslednjo vrstico:

Add_action("publish_post", "email_friends");

Namestite in aktivirajte

Zadnji korak pri zagotavljanju delovanja kaveljčka filtra je namestitev datoteke in aktiviranje vtičnika. Funkcija PHP, ki ste jo napisali, in klic morata iti skupaj v datoteko PHP, datoteka PHP pa mora biti nameščena v wp-content/plugins imenik. Ko je nameščen, boste morali obiskati skrbniški del WordPressa in aktivirati svoj vtičnik; glejte za več podrobnosti.

Trenutni kavlji za filtre

Aktivacija/deaktivacija/odstranitev

Če ima vaš vtičnik naloge, ki jih mora dokončati samo ob času aktivacije ali deaktivacije, lahko uporabi in Referenco dejanj – seznam WordPressovih kavljev dejanj

Zunanji viri

  • Baza podatkov WordPress Hooks Adama Browna, baza podatkov vseh WordPress Hooks, ki prikazuje, iz katere različice prihajajo, in povezave do mest izvorne kode, ki jih uporabljajo. To je najbolj popolno.
  • Otto na WordPressu:

Avtor Yandex.
To je spletna storitev, zato vam tega ni treba dodati.

Lastniki strežnikov potrebujejo poseben ključ za omogočanje tega dodatka.
Prijavite se na spletno mesto Yandex in pridobite ta ključ ter ga vstavite v konfiguracijo API-ja.
Upoštevajte, da brezplačni ključ podpira "samo" 10.000.000 znakov vsak mesec, vendar lahko ustvarite poljubno število ključev.

To so razpoložljivi jeziki:

SpoilerTarget">Spojler

AZERBAJDŽAN
ALBANSKI
ANGLEŠČINA
ARABSKO
AFRIKANCI
BASKEJŠČINA
BELORUSČINA
BOLGARŠČINA
BOSANSKI
WELSH
MADŽARSKO
VIETNAMSKI
HAITIJSKI
GALICIJA
NIZOZEMŠČINA
GRŠKI
GRUZIJSKI
DANSKI
INDONEZIJSKI
IRSKI
ITALIJANSKI
ISLANDSKI
ŠPANSKI
KANNADA
KITAJSKA
KOREJŠČINA
LATINSKI
LITVANŠČINA
MAKEDONSKI
MONGOLSKE
NEMŠČINA
NEPALSKI
NORVEŠKA
PERZIJSKO
POLJSKA
PORTUGALŠČINA
ROMUNSKI
RUSKI
SRBSKEGA
SLOVAŠČINA
SLOVENŠČINA
SUNDANSKA
TURŠČINA
UZBEK
UKRAJINSKI
FINSKI
FRANCOSKI
HINDI
HRVAŠKA
ČEŠKA
ŠVEDSKI
ŠKOTSKI
ESTONSKI
JAPONSKI

Ko se pridružite strežniku, je vaš jezik jezik strežnika.
Če ga želite spremeniti, samo vnesite /lang(dovoljenje: translator.lang) in v meniju izberite svoj jezik.

Če ne veste, kako dodati odvisnosti, preberite tukaj.

razvijalec
Prepričajte se, da uporabljate Javo >= 8.
Dodajte datoteko JAR svoji poti gradnje. Nato nastavite nastavitev "Manual Manifest" in ustvarite svoj MANIFEST.MF za projekt. Napišite:

Glavni razred: vaš.paket.razred
Pot do razreda: ..\lib\Translator.jar

Lastniki strežnikov
Prepričajte se, da uporabljate Javo >= 8.
Ustvarite mapo z imenom lib v glavni koren strežnika in sem postavite JAR.
Prav tako ga morate dati v mapo z vtičniki.

//Pošiljanje sporočila, ki je samodejno prevedeno v jezik igralca
p.sendMessage("§a" + Translator.translate("Pozdravljeni!", p));

//Pošiljanje ročno prevedenega sporočila
p.sendMessage("§a" + Translator.translate("Pozdravljeni!", Language.ENGLISH, Language.ITALIAN));

//Pridobivanje jezika strežnika
Jezik serverLang = Translator.getServerLanguge();

//Pridobivanje igralčevega jezika
Jezik playerLang = Translator.getPlayerLanguage(p);

  • Če znova naložite API, medtem ko je omogočen vtičnik, ki ga uporablja, se bo zrušil. Če želite popraviti ročno, odstranite vtičnik, znova naložite API in naložite vtičnik
  • Barvne kode niso podprte. Za njihovo uporabo si oglejte zgornje primere
  • Majhen zamik (API mora prevesti izvirno besedilo in prejeti JSON)

Če imate kakršno koli težavo, napišite objavo v razpravi ali me kontaktirajte preko zasebnih sporočil. Ne bom odgovarjal na poročila o napakah v razdelku z ocenami.

Trenutno ni vtičnikov, ki bi uporabljali ta API. Če ga uporabljate, mi povejte in dodal ga bom tukaj

Nedavne ocene

  1. Različica: 1.0

    Grande frate! Ho letto Powered by 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.IOException: Impossible trovare il percorso specificato
    : na java.io.WinNTFileSystem.createFileExclusively(Nativna metoda)
    : na java.io.File.createNewFile(Neznan vir)
    : na eu.iamgio.translator.UsersFileLoader.loadRegisterFile(UsersFileLoader.java:21)
    : na eu.iamgio.translator.Translator.onEnable(Translator.java:35)
    : na org.bukkit.plugin.java.JavaPlugin.setEnabled(JavaPlugin.java:321)
    : na org.bukkit.plugin.java.JavaPluginLoader.enablePlugin(JavaPluginLoader.java:340)
    : na org.bukkit.plugin.SimplePluginManager.enablePlugin(SimplePluginManager.java:405)
    : na org.bukkit.craftbukkit.v1_8_R3.CraftServer.loadPlugin(CraftServer.java:357)
    : na org.bukkit.craftbukkit.v1_8_R3.CraftServer.enablePlugins(CraftServer.java:317)
    : na net.minecraft.server.v1_8_R3.MinecraftServer.s(MinecraftServer.java:414)
    : na net.minecraft.server.v1_8_R3.MinecraftServer.k(MinecraftServer.java:378)
    : na net.minecraft.server.v1_8_R3.MinecraftServer.a(MinecraftServer.java:333)
    : na net.minecraft.server.v1_8_R3.DedicatedServer.init(DedicatedServer.java:263)
    : na net.minecraft.server.v1_8_R3.MinecraftServer.run(MinecraftServer.java:525)
    : na java.lang.Thread.run (neznan vir)

Izdano konec leta 2015. Vendar pa so si na splošno samo napredni razvijalci vzeli čas in ugotovili, kako zmogljiva je ta ponudba.

Paket WordPress REST API združuje vse sodobne posodobitve in zagotavlja vgrajen API, ki ga je mogoče integrirati v teme, mobilne aplikacije in drugo. Z drugimi besedami, razvijalcem omogoča, da ločijo sprednji vmesnik od upravljanja podatkov, kar omogoča interakcijo katere koli aplikacije z WordPressom. Če se naučite, kako to orodje deluje, lahko odprete vrata skoraj neskončnim možnostim za razširitev vašega spletnega mesta WordPress.

V tem članku vam bomo predstavili projekt WordPress REST API, razložili, zakaj je tako dober, nato pa ponudili nekaj idej za njegovo uporabo. Zato ne izgubljajmo časa in začnimo!

Predstavljamo WordPress REST API

Projekt WordPress REST API (REST iz Representational State Transfer) potrjuje, da WordPress dela korake k temu, da postane polnopravna aplikacijska platforma. Njegova prisotnost je prepričljiva, ker jedru WordPressa doda standardni API REST.

Projekt sta razvijalca Ryan McCue in Rachel Baker leta 2013 prvič naložila na GitHub za razvijalce. Neodvisni vtičnik REST API je bil vgrajen v jedro WordPressa decembra 2015, potem ko je prejel ogromno podpore in privabil skoraj 100 sodelavcev, ki so bili pripravljeni delati na izboljšanju njegovih zmogljivosti.

Odkar je WordPress REST API postal del jedra, je dokazal svojo učinkovitost. Tukaj je le nekaj resničnih primerov za jasnost uporabe in navdih v vaših projektih:

  1. Event Espresso uporablja API REST, da razvijalcem omogoči dostop do njihove globalne infrastrukture, kar jim omogoča razvoj aplikacij z uporabo njihovih storitev.
  2. Simmer omogoča razvijalcem dostop do API-ja, da razširijo svojo funkcionalnost v polnopravno mobilna aplikacija ali prilagajanje tem.
  3. JoinIn ponuja svoj "vdelani" pripomoček z uporabo REST API-ja, ki ga napolni z ustreznimi podatki, kjer koli so prikazani.

To je le vrh ledene gore, ko gre za inovativne namene API-jev REST. Vendar pa se pogovorimo o tem, kako deluje sam REST API.

Kako deluje WordPress REST API

Skratka, REST API deluje tako, da manipulira besedilne podatke z ene lokacije na drugo brez neposrednega dostopa do baze podatkov ali uporabniškega vmesnika. Obstaja veliko vrst API-jev (Application Programming Interfaces), kljub temu REST ostaja sodoben in relevanten standard.

API REST se prenaša prek dostopnih točk protokola za prenos hiperteksta (HTTP) z uporabo zapisa predmeta JavaScript (JSON). Preprosto povedano, te tehnologije omogočajo dostop do API-jev z edinstvenimi spletnimi naslovi za dostavo podatkov, ki se obnašajo kot objekti JavaScript.

Če še nikoli niste delali z JavaScriptom ali njegovimi definicijami objektov, se naučite osnov JSON. Zdaj, ko smo nekoliko razjasnili koncept API-ja REST, se pogovorimo o tem, kako lahko močno vpliva na razvojni proces z uporabo WordPressa.

Kaj WordPress REST API pomeni za razvijalce?

WordPress REST API je univerzalni integrator katere koli namestitve WordPressa s katero koli aplikacijo na spletnem strežniku ali vašem operacijski sistem. Navsezadnje to pomeni, da je edina omejitev tega, s čimer se lahko gradi z uporabo WordPressa, je samo naša domišljija. Ustvarite lahko katero koli aplikacijo, napisano v kateri koli platformi ali jeziku, in uporabite WordPress za obdelavo podatkov prek API-ja REST. Odprta in prijazna skupnost WordPress ponuja izjemne priložnosti.

REST API temelji na JavaScriptu, ki je deležen vse večje pozornosti, kar namiguje, katere programske jezike je pomembno poznati. Kmalu boste odkrili, da je JavaScript na strani strežnika novi PHP. To je že mogoče videti v novi programski opremi WordPress.com, Calypso, ki v celoti deluje na JavaScript in REST API.

S standardizacijo načina interakcije aplikacij (vključno z jedrom WordPress) s podatki WordPressa bo razvoj WordPressa postal lažji in bolj intuitiven. Poleg tega bo olajšal integracijo s platformami tretjih oseb.

Upam, da imate zdaj več razlogov, zakaj je pomembno, da se zdaj začnete učiti uporabljati to tehnologijo. Čas je, da naredite prve korake k uporabi API-ja REST pri svojem delu!

5 korakov za začetek uporabe WordPress REST API

Kot smo že omenili, lahko API REST uporabljate s katero koli aplikacijo ali katerim koli programskim jezikom, ki lahko kliče vire HTTP. Osredotočili se bomo na uporabo ukazne vrstice za izdelavo zahtev API-ja REST, ker je to najpreprostejša metoda z najmanjšo možnostjo vnašanja napak, ki lahko zmanjšajo učni proces.

Če želite to narediti, morate v računalniku odpreti program z vmesnikom ukazne vrstice (Command Line Interface CLI) - terminal v sistemu macOS ali Linux in ukazna vrstica v sistemu Windows. CLI vam omogoča neposredno interakcijo z API-jem REST, ne da bi morali pisati dodatne skripte za zahtevanje in obdelavo informacij. Vsaka zahteva, ki jo napišete v CLI, je lahko skript v PHP, JavaScript ali drugem jeziku, vendar bo metoda za vsako drugačna. Neposredno izvajanje ukazov v CLI. Samo vnesite želeni ukaz in pritisnite Enter.

Priporočamo tudi, da nastavite predstavitveno spletno mesto ali preizkusite lokalno, namesto da te korake preizkušate na spletnem mestu v živo. In končno, še en pogoj je, da je WordPress različica vaše strani 4.4 ali novejša. Če ste pripravljeni, potem začnimo!

1. korak: Spoznajte osnovne koncepte API-ja REST

Preden začnemo, se seznanimo s ključnimi koncepti API-ja REST. Obstaja le pet osnovnih konceptov in izrazov, s katerimi se morate seznaniti. Poglejmo jih:

  1. Poti ('Poti') in Viri ali dostopne točke ('Končne točke'). To je najpomembnejši vidik pri razumevanju API-ja REST. Poti vam pomagajo krmariti med vašimi viri, ko je določena metoda HTTP (na primer statični nabor podatkov ali dejanje) povezana z določeno potjo. Na primer, /wp-json/ je pot, konfigurirana kot vir, ustvarjen za prikaz razpoložljivih poti.
  2. Zahteve. Ustvarjeni so z izvajanjem pravih virov in podajanjem podatkov.
  3. odgovor ( odzivi). Skratka, posredovanje podatkov, ki ste jih zahtevali, ali vrnitev napake, ki vas obvesti, da je šlo nekaj narobe.
  4. Sheme. Spodaj so predloge odgovorov, tako da boste vedno natančno vedeli, kje iskati podatke, ki jih potrebujete.
  5. Razredi krmilnikov. Omogočajo vam ustvarjanje lastnih poti in virov. Dokler vam zaradi tega ni treba skrbeti, bodo pozneje postali bolj uporabni.

Ko razumete teh pet konceptov, se lahko začnete poglabljati v sam REST API, začenši z njegovimi dostopnimi točkami.

2. korak: Poiščite najbolj uporabne dostopne točke REST API

WordPress REST API ponuja referenčni priročnik z vsemi dostopnimi točkami (viri), kjer lahko najdete tiste, ki so za vas najbolj uporabne. Najprej morate vedeti, kako sestaviti klic HTTP REST API. Osnovni del katerega koli klica WordPress API izgleda takole, zamenjaj vašadomena.com tvojemu:

Http://vašadomena.com/wp-json/

Povezavo lahko preizkusite tako, da zaženete ukaz curl v svojem CLI z uporabo lastnega URL-ja:

Curl -X MOŽNOSTI -i http://yourdomain.com/wp-json/

Pozdraviti bi vas moralo sporočilo od HTTP. Ta ukaz lahko dodatno spremenite z nekaterimi glavnimi viri. Zdaj samo uporabljamo GET različico kodra.

Če želite pridobiti seznam JSON vaših objav v WordPressu, lahko uporabite naslednje:

Po tem poskusite naslednje, da preverite vse obstoječe strani WordPress:

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

Lahko eksperimentirate z vsako od teh dostopnih točk (in več!) v CLI, da vidite, kakšen odziv proizvede vsaka.

3. korak: Naučite se osnov preverjanja pristnosti API-ja REST

Zdaj je čas, da se naučite o preverjanju pristnosti. Nekatera dejanja in podatki v API-ju REST so javni, drugi pa zahtevajo, da ste prijavljeni kot skrbnik. Vendar je to API REST in ni mesta za prijavo za avtorizacijo. Namesto tega lahko preverite pristnost med zahtevami, ki zahtevajo skrbniški dostop, kot je ogled neobjavljenih objav ali spreminjanje objav.

Začnimo z namestitvijo vtičnika WordPress REST API Basic Auth. To je preprost vtičnik za razvijalce, s katerim se hitro naučijo API-ja REST in ni namenjen pravim spletnim mestom. Vendar pa je postopek namestitve enak kot za kateri koli drug vtičnik.

Ko je Basic Auth nameščen, se boste lahko avtentikirali prek CLI z zastavico uporabnik. Tukaj je primer uporabe metode preverjanja pristnosti uporabnika z uporabo curl za ogled neobjavljenih objav:

Curl -X GET --uporabniško uporabniško ime:geslo -i http://yourdomain.com/wp-json/wp/v2/posts?status=draft

Avtentikacija bo potrebna za vsako operacijo, razen za ogled javnih informacij. Ko se naučite osnovnega preverjanja pristnosti, lahko raziščete druge možnosti, ki jih za vaš razvoj priporoča dokumentacija REST API.

4. korak: Izberite svojo prvo objavo v WordPressu z uporabo REST API-ja

Ko razumete, kako narediti osnovne klice REST API s curl, poskusite izbrati določen vnos. Najprej prikažimo vse publikacije, kot smo storili prej:

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

Ta trik z dodatkom ID-ja lahko uporabite za kateri koli vir REST API, ne glede na to, ali želite prikazati objavo, stran ali taksonomijo.

5. korak: Spreminjanje objave v WordPressu prek REST API-ja

Za konec poskusimo spremeniti publikacijo, ki ste jo izbrali. Namesto ukazov MOŽNOST oz DOBITI, tokrat bomo uporabili OBJAVI narediti spremembe. DOBITI se uporablja za branje podatkov, medtem ko OBJAVI- da jih pošljem.

Preimenujmo vašo objavo tako, da oddamo zahtevo OBJAVI skupaj s podatki za preverjanje pristnosti. Nove spremembe bodo izvedene z uporabo zastavice d na koncu ukaza. Uporabnikovo bomo posredovali predmet JavaScript z nastavitvijo naslovne spremenljivke na njeno vrednost, kot npr Moj novi naslov kot je prikazano v spodnji kodi:

Curl -X POST --uporabniško uporabniško ime:geslo http://yourdomain.com/wp-json/wp/v2/posts/ -d "("naslov":"Moj novi naslov")"

Uporabniško ime, geslo, ID objave in naslov zamenjajte s svojimi. Dano publikacijo lahko znova izberete, da preverite spremembe:

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

čestitke! Pravkar ste izvedli svoja prva skrbniška urejanja z API-jem WordPress REST. Seveda ta osnovni vodnik le opraska površino zmogljivosti, ki jih ponuja REST API, vendar je precej dober začetek!

Zaključek

WordPress REST API je zmogljiva nova različica jedra WordPress in številni razvijalci so že začeli uporabljati njegove zmogljivosti. Skladno s tem, ko sem se zdaj seznanil s tem, kako delati nova priložnost, boste izboljšali svoje znanje programiranja in lahko ustvarili aplikacijo z uporabo WordPressa kot ogrodja.

Če povzamemo, šli smo skozi pet korakov na poti do učenja interakcije z API-jem WordPress REST:

  1. Uvod v osnovne koncepte REST API.
  2. Najbolj uporabni viri/dostopne točke REST API.
  3. Naučite se osnov preverjanja pristnosti REST API.
  4. Pridobivanje objave v WordPressu z uporabo REST API-ja.
  5. Spremenite objavo v WordPressu z API-jem REST.

Kakšna vprašanja imate o WordPress REST API? Zapiši nam v komentar!