API plugin. API plugin Připojení pluginu API třetí strany pro minecraft

Zásuvné moduly jsou klíčovou součástí ekosystému webových balíků a poskytují komunitě účinný způsob, jak využít proces kompilace webového balíku. Zásuvný modul se dokáže připojit ke klíčovým událostem, které se spouštějí během každé kompilace. Na každém kroku bude mít zásuvný modul plný přístup ke kompilátoru a případně k aktuální kompilaci.

Pro úvod do psaní pluginů na vysoké úrovni začněte psaním pluginu .

Začněme tím, že se podíváme na obslužný program pro klepnutí, který poskytuje páteř rozhraní zásuvných modulů webpacku.

Poklepatelná

Tato malá knihovna je základní utilita ve webpacku, ale lze ji použít i jinde k poskytnutí podobného rozhraní zásuvných modulů. Mnoho objektů ve webovém balíčku rozšiřuje třídu Tapable. Třída odhaluje metody tap , tapAsync a tapPromise, které mohou pluginy použít k vložení vlastních kroků sestavení, které se budou spouštět během kompilace.

Je možné upravit tištěný výstup předáním různých argumentů funkci reportProgress v ProgressPluginu.

Chcete-li hlásit pokrok, musí plugin klepnout na háček pomocí možnosti context: true:

Kompilátor. háčky. vysílat. tapAsync (( name: "MyPlugin" , context: true ) , (kontext, kompilátor, zpětné volání) => ( const reportProgress = kontext && kontext. reportProgress; if (reportProgress) reportProgress (0,95, "Začínání práce" ) ; setTimeout (( ) => ( if (reportProgress) reportProgress (0,95, "Hotová práce" ); zpětné volání () ; ), 1000 ) ; ) );

Funkci reportProgress lze volat s těmito argumenty:

reportProgress(procento, ... args);
  • procento: Tento argument není použit; místo toho ProgressPlugin vypočítá procento na základě aktuálního háku.
  • ...args: Libovolný počet řetězců, které budou předány obslužné rutině ProgressPlugin, aby byly hlášeny uživateli.

Všimněte si, že funkci reportProgress podporuje pouze podmnožina háčků kompilátoru a kompilace. Úplný seznam najdete v ProgressPlugin.

Protokolování

Logovací API je k dispozici od vydání webového balíčku 4.37. Je-li v konfiguraci statistik povoleno protokolování a/nebo je-li povoleno protokolování infrastruktury, mohou pluginy protokolovat zprávy, které budou vytištěny v příslušném formátu zapisovače (statistiky, infrastruktura).

  • Pluginy by měly upřednostňovat použití compilation.getLogger("PluginName") pro protokolování. Tento druh protokolování je uložen ve Statistikách a je podle toho formátován. Může být filtrován a exportován uživatelem.
  • Pluginy mohou pro protokolování používat kompilátor.getInfrastructureLogger("PluginName"). Protokolování pomocí infrastruktury není uloženo ve Statistikách, a proto není formátováno. Obvykle je přihlášen přímo do konzole/dashboardu/GUI. Uživatel jej může filtrovat.
  • Pluginy mohou používat speciální záložní logiku pro detekci podpory protokolování compilation.getLogger? compilation.getLogger("PluginName") : konzole, která poskytuje záložní řešení pro případy, kdy je použita starší verze webového balíčku, která nepodporuje metodu getLogger na kompilačním objektu.

Další kroky

Podrobný seznam všech dostupných háčků kompilátoru a parametrů, které zpřístupňují, najdete v části háčky kompilátoru.

Plugin je dynamicky načítaná knihovna (DLL). Po instalaci programu jsou všechny pluginy obsažené v distribuci umístěny v adresáři c:\Program Files (x86)\Common Files\Soft Gold\Inventory 14\Plugins\... Přípona *.abl je vyžadována pro automatické stahování plugin ze zadaného adresáře při spuštění aplikace. Plugin lze také načíst z jakéhokoli jiného místa na disku zadáním vyhledávací cesty v nastavení.

Inicializace API pluginu

(Rozšíření Delphi VCL)

(Rozhraní pluginu pro ABViewer/Inventory)

(Autorská práva (c) 2002–2010 softwarová společnost SoftGold)

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

jednotka sgPluginItem;

rozhraní

implementace

XMLDocRef: IXMLDocument = nula;

ClientRef: IXMLNode = nula;

P: ukazatel = nula;

PluginsHostWnd: HWND = 0;

PluginsHostWndName: string = "";

XMLAtomString: string = "";

procedura InitializeDoc;

začít

// získání jedinečného názvu třídy okna s parametry

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

// nalezení samotného okna

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

Pokud PluginsHostWnd<>0 pak

Začít

// získat řetězec atomu k získání xml parametr dokument

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

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

If Assigned(XMLDocRef) then

Začít

// přidání prvku do seznamu

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

// inicializace adresy funkce Invoke

ClientRef.ChildValues["Invoke"] := IntToId(Integer(@Invoke)); // hexadecimální $XXXXXXXXX

Konec;

Konec;

konec;

inicializace

CoInitialize(P);

InitializeDoc;

Nastavení a spuštění demo verze pluginu

Demoverze pluginu se konfiguruje automaticky při instalaci programu a je připojena ihned po spuštění Inventory. Balíček obsahuje zdrojový kód komponenty (název projektu sgPlugin.dpk) a demo verzi pluginu (název projektu plug1.dpr).

Postup pro spuštění pluginu z režimu ladění:

▪ Otevřít C:\Users\USER_NAME\Documents\Inventory 14\Plugins\Source\Delphi\Demos\Plug1\plug1.dpr

▪ Nastavte v možnostech projektu:

Cesta hledání: "..\..\Components\PlugItem";

Výstupní adresář , například: „c:\Program Files\Common Files\Soft Gold\Inventory 14\Plugins“;

Hostitelská aplikace, znovu zapnutá nainstalovaná aplikace, například: „c:\Program Files\Soft Gold\Inventory 14\Inventory 14.exe“.

▪ Spustit k provedení.

Chcete-li komponentu používat v designtime, musíte ji otevřít, znovu sestavit a nainstalovat C:\Users\USER_NAME\Documents\Inventory 14\Plugins\Source\Delphi\Components\PlugItem\sgPlugin.dpk. Po instalaci součásti v paletě komponenty Delphi, na záložce Soft Gold se objeví komponenta TsgPluginItem, kterou lze použít v designtime, tzn. umístit na formulář.

Háčky poskytuje WordPress, aby umožnily vašemu pluginu „zavěsit se“ do zbytku WordPressu; to znamená volat funkce ve vašem pluginu v určitých časech, a tím uvést váš plugin do pohybu. Existují dva druhy háčků:

  1. (Kodex)
  2. (Kodex)

Někdy můžete dosáhnout stejného cíle buď akcí nebo filtrem. Pokud například chcete, aby váš plugin změnil text příspěvku, můžete přidat funkci akce do publikovat_příspěvek (takže se příspěvek upraví při ukládání do databáze) nebo funkci filtru do obsahu (takže příspěvek bude upravena tak, jak je zobrazena na obrazovce prohlížeče).

Důkladný seznam všech akcí a háčků filtrů ve WP najdete v databázi háčků WordPress Adam Brown.

Referenční funkce

Funkce filtru
Akce Funkce
Funkce aktivace/deaktivace/odinstalace

Akce

Akce jsou spouštěny konkrétními událostmi, které probíhají ve WordPressu, jako je publikování příspěvku, změna motivů nebo zobrazení . Akce je vlastní funkce PHP definovaná ve vašem pluginu (nebo tématu) a zahnutý, tj. nastavit tak, aby reagoval na některé z těchto událostí. Akce obvykle provádějí jednu nebo více z následujících akcí:

  • Upravte data databáze.
  • Odeslat e-mailovou zprávu.
  • Upravte vygenerovanou administrativní obrazovku nebo front-end stránku odeslanou do uživatelského prohlížeče.

Základní kroky, jak toho dosáhnout (podrobněji popsané níže), jsou:

  1. Vytvořte v souboru pluginu funkci PHP, která by se měla spustit, když nastane konkrétní událost WordPress.
  2. Připojte tuto funkci k události pomocí funkce.
  3. Vložte svou funkci PHP do souboru pluginu a aktivujte ji.

Vytvořte akční funkci

Prvním krokem při vytváření akce ve vašem pluginu je vytvoření funkce PHP s akční funkcí vašeho pluginu a vložení do souboru vašeho pluginu (soubor vašeho pluginu musí jít do wp-content/pluginy adresář). Pokud například chcete, aby vaši přátelé dostali e-mailovou zprávu, kdykoli vytvoříte nový příspěvek, můžete definovat následující funkci:

Funkce email_friends($post_ID) ( $friends = " [e-mail chráněný],[e-mail chráněný]"; mail($friends, blog "sally" aktualizován", "Právě jsem něco vložil na svůj blog: http://blog.example.com"); vrátit $post_ID; )

U většiny akcí by vaše funkce měla přijímat jeden parametr (obvykle ID příspěvku nebo komentáře, v závislosti na akci). Některé akce vyžadují více než jeden parametr – další informace naleznete v dokumentaci k akci (pokud je k dispozici) nebo ve zdrojovém kódu WordPress. Kromě jednoho parametru můžete také přistupovat k a volat další funkce WordPress (nebo funkce v souboru pluginu).

Jakýkoli textový výstup funkce (např. s tiskem) se objeví ve zdroji stránky v místě, kde byla akce vyvolána.

POZNÁMKA: Mějte na paměti, že jiné pluginy nebo jádro WordPress již mohou používat název funkce, který jste si vymysleli. Další informace naleznete v další části.

Předcházení kolizím názvů funkcí

Je možné, že někdo vytvořil plugin s funkcí pojmenovanou stejně jako ve vašem pluginu.

To je problém, protože PHP neumožňuje více funkcí se stejným názvem. Pokud dva pluginy poskytují funkci se stejným názvem nebo plugin poskytuje funkci se stejným názvem jako funkce WordPress, blog může přestat fungovat. Existují dva způsoby, jak se tomuto problému vyhnout.

Prvním řešením je přidat před každou funkci ve vašem pluginu jedinečnou sadu znaků. Pokud se jmenujete John Q. Public, můžete své funkce deklarovat jako funkci jqp_output() (...) . Pravděpodobnost, že někdo se stejnými iniciály udělá totéž se svým pluginem, je možná, ale nízká.

Druhým - a možná jednodušším - řešením je uzavřít funkce pluginu do třídy a volat metody třídy staticky. Zní to složitější, než to je.

Zvažte tuto třídu, která rozšiřuje výše uvedené příklady:

Class emailer ( statická funkce send($post_ID) ( $friends = " [e-mail chráněný],[e-mail chráněný]"; mail($friends,"sally's blog updated","Právě jsem něco vložil na svůj blog: http://blog.example.com"); vrátit $post_ID; ) ) add_action("publikovat_příspěvek", array("e-mail", "odeslat"));

Tato třída volala emailer má metodu poslat který implementuje funkci pluginu.

Funkce add_action() mimo třídu přidá do WordPress akci, která mu říká, aby zavolal poslat způsob při zveřejnění příspěvku. Pole použité ve druhém parametru říká systému pluginu, aby zavolal statickou metodu třídy „emailer“ s názvem „send“.

Funkce poslat je chráněn před globálním jmenným prostorem deklarací třídy. Není možné volat přímo send() a tak žádnou jinou pojmenovanou funkci poslat nebude kolidovat s tímto. Pokud byste chtěli volat send(), museli byste použít operátor rozlišení rozsahu, jako je tento: emailer::send()

Výše uvedený příklad je pro statické metody. Pokud máte instanci třídy, pak to nebude fungovat. Volání metody instance potřebuješ předat instanci jako proměnnou. Zvažte výše uvedený příklad upravený tak, aby to zohlednil:

Class emailer ( function send($post_ID) ( $friends = " [e-mail chráněný],[e-mail chráněný]"; mail($friends,"sally's blog updated","Právě jsem něco vložil na svůj blog: http://blog.example.com"); vrátit $post_ID; ) ) $myEmailClass = new emailer(); add_action("publikovat_příspěvek", array($myEmailClass, "odeslat"));

Třídy jsou složité téma. Přečtěte si o nich více v PHP dokumentaci o třídách.

Připojte se k WordPressu

Poté, co je vaše funkce definována, dalším krokem je „zaháknout“ nebo zaregistrovat ji na WordPress. Chcete-li to provést, zavolejte do globálního spouštěcího prostoru vašeho souboru pluginu:

Add_action("název_háku", "název_vaší_funkce", , );

Hook_name Název akčního háku poskytovaného WordPressem, který říká, s jakou událostí by měla být vaše funkce spojena. your_function_name Název funkce, která má být provedena po události určené pomocí hook_name . Může to být standardní funkce php, funkce přítomná v jádře WordPress nebo funkce, kterou definujete v souboru pluginu (jako například „email_friends“ definovaný výše). priorita Volitelný celočíselný argument používaný k určení pořadí, ve kterém se provádějí funkce spojené s konkrétní akcí (výchozí: 10). Nižší čísla odpovídají dřívějšímu provedení a funkce se stejnou prioritou se provedou v pořadí přidaném k akci. accept_args Volitelný celočíselný argument definující, kolik argumentů může vaše funkce přijmout (výchozí 1), užitečný, protože některé háky mohou vaší funkci předat více než jeden argument. Tento parametr je nový ve verzi 1.5.1.

Ve výše uvedeném příkladu bychom do souboru pluginu vložili následující řádek:

Add_action("publish_post", "email_friends");

Instalovat a aktivovat

Posledním krokem, jak zprovoznit váš filtrační háček, je nainstalovat soubor a aktivovat plugin. Funkce PHP, kterou jste napsali, a volání musí jít do souboru PHP společně a soubor PHP musí být nainstalován v wp-content/pluginy adresář. Jakmile je nainstalován, budete muset navštívit administrátorskou sekci WordPress a aktivovat svůj plugin; viz další podrobnosti.

Aktuální háčky pro filtry

Aktivace/deaktivace/odinstalace

Pokud má váš plugin úkoly, které je třeba dokončit pouze v době aktivace nebo deaktivace, může použít a Action Reference - Seznam akčních háčků WordPress

Externí zdroje

  • Databáze háčků WordPress od Adama Browna, databáze všech háčků WordPress, která ukazuje, ze které verze pocházejí, a odkazuje na místa ve zdrojovém kódu, která je používají. Toto je nejúplnější.
  • Otto na WordPressu:

Od společnosti Yandex.
Je to webová služba, takže ji nemusíte přidávat.

Majitelé serverů potřebují speciální klíč k aktivaci tohoto pluginu.
Přihlaste se na web Yandex a poté získejte tento klíč a poté jej vložte do konfigurace rozhraní API.
Vezměte prosím na vědomí, že bezplatný klíč podporuje „pouze“ 10 000 000 znaků každý měsíc, ale můžete si vytvořit, kolik klíčů chcete.

Toto jsou dostupné jazyky:

SpoilerTarget">Spoiler

ÁZERBAJDŽÁN
ALBÁNSKÝ
ANGLIČTINA
ARABŠTINA
AFRIKÁNŠTINA
BASKY
BĚLORUSKÝ
BULHARSKÝ
BOSENSKÝ
VELŠTINA
MAĎARSKÝ
VIETNAMŠTINA
HAITSKÝ
GALICIAN
HOLANDSKÝ
ŘECKÝ
GRUZICKÝ
DÁNŠTINA
INDONÉŠTINA
IRŠTINA
ITALŠTINA
ISLANDSKÝ
ŠPANĚLŠTINA
KANNADA
ČÍNŠTINA
KOREJŠTINA
LATINSKÝ
LITVA
MAKEDONSKÁ
MONGOLSKÝ
NĚMEC
NEPALI
NORSKÝ
PERŠAN
POLŠTINA
PORTUGALŠTINA
RUMUNŠTINA
RUŠTINA
SRBŠTINA
SLOVENSKÝ
SLOVINSKÝ
SUNDÁNSKÝ
TUREČTINA
UZBEK
UKRAJINŠTINA
FINSKÝ
FRANCOUZŠTINA
HINDŠTINA
CHORVATSKÝ
ČEŠTINA
ŠVÉDSKÝ
SKOTSKÝ
ESTONŠTINA
JAPONSKÝ

Když se připojíte k serveru, váš jazyk je jazyk serveru.
Chcete-li to změnit, stačí napsat /lang(povolení: překladatel.lang) a z nabídky vyberte svůj jazyk.

Pokud nevíte, jak přidat závislosti, přečtěte si zde.

Vývojář
Ujistěte se, že používáte Java >= 8.
Přidejte JAR do cesty sestavení. Poté nastavte "Manuální manifest" a vytvořte svůj MANIFEST.MF do projektu. Napsat:

Main-Class: your.package.Class
Cesta třídy: ..\lib\Translator.jar

Majitelé serveru
Ujistěte se, že používáte Java >= 8.
Vytvořte složku s názvem lib v kořenovém adresáři hlavního serveru a vložte sem JAR.
Také jej musíte vložit do složky pluginů.

//Odeslání zprávy automaticky přeložené do jazyka přehrávače
p.sendMessage("§a" + Translator.translate("Ahoj!", p));

//Odeslání ručně přeložené zprávy
p.sendMessage("§a" + Translator.translate("Ahoj!", Jazyk.ENGLISH, Jazyk.ITALIAN));

//Získání jazyka serveru
Jazyk serverLang = Translator.getServerLanguge();

//Získání jazyka hráče
Jazyk playerLang = Translator.getPlayerLanguage(p);

  • Pokud znovu načtete API, když je povolen plugin, který jej používá, dojde k jeho zhroucení. Chcete-li opravit ručně, uvolněte plugin, znovu načtěte API a načtěte plugin
  • Barevné kódy nejsou podporovány. Chcete-li je použít, podívejte se na příklady výše
  • Malá prodleva (rozhraní API potřebuje přeložit původní text a přijmout JSON)

Pokud máte jakýkoli problém, napište příspěvek do diskuze nebo mě kontaktujte přes soukromé zprávy. Nebudu odpovídat na zprávy o chybách v sekci recenzí.

V současné době neexistují žádné pluginy, které používají toto API. Pokud to používáte, řekněte mi to a já to sem přidám

Nedávné recenze

  1. Verze: 1.0

    Velký bratr! Ho letto Běží na Gamehostingu, chcete si to italsky? 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.IOVýjimka: Nemožné trovare il percorso specificato
    : na java.io.WinNTFileSystem.createFileExclusively (Nativní metoda)
    : na java.io.File.createNewFile(Neznámý zdroj)
    : 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 adrese net.minecraft.server.v1_8_R3.MinecraftServer.a(MinecraftServer.java:333)
    : na adrese 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 (Neznámý zdroj)

Vydáno na konci roku 2015. Celkově však pouze pokročilí vývojáři našli čas, aby zjistili, jak výkonná tato nabídka je.

Balíček WordPress REST API spojuje všechny moderní aktualizace a poskytuje vestavěné API, které lze integrovat do motivů, mobilních aplikací a dalších. Jinými slovy, umožňuje vývojářům oddělit rozhraní front-end od správy dat, což umožňuje jakékoli aplikaci komunikovat s WordPress. Naučte se, jak tento nástroj funguje, může otevřít dveře k téměř nekonečným možnostem rozšíření vašeho webu WordPress.

V tomto článku vám představíme projekt WordPress REST API, vysvětlíme, proč je tak dobrý, a poté nabídneme pár nápadů na jeho použití. Tak neztrácejme čas a začněme!

Představujeme WordPress REST API

Projekt WordPress REST API (REST from Representational State Transfer) potvrzuje, že WordPress podniká kroky k tomu, aby se stal plnohodnotnou aplikační platformou. Jeho přítomnost je přesvědčivá, protože k jádru WordPress přidává standardní REST API.

Projekt poprvé nahráli na GitHub pro vývojáře v roce 2013 vývojáři Ryan McCue a Rachel Baker. Nezávislý plugin REST API byl zabudován do jádra WordPressu v prosinci 2015 poté, co získal ohromnou podporu a přilákal téměř 100 přispěvatelů ochotných pracovat na vylepšení jeho schopností.

Od té doby, co se WordPress REST API stalo součástí jádra, prokázalo svou účinnost. Zde je jen několik skutečných příkladů pro přehlednost použití a inspiraci ve vašich projektech:

  1. Event Espresso používá REST API, aby poskytlo vývojářům přístup k jejich globální infrastruktuře, což jim umožňuje vyvíjet aplikace pomocí jejich služeb.
  2. Simmer umožňuje vývojářům přístup k API za účelem rozšíření jejich funkčnosti na plnohodnotnou mobilní aplikace nebo přizpůsobení témat.
  3. JoinIn poskytuje svůj vlastní „zabudovatelný“ widget pomocí REST API a naplňuje jej relevantními daty, ať jsou zobrazeny kdekoli.

Toto je jen špička ledovce, pokud jde o inovativní účely REST API. Pojďme si však probrat, jak samotné REST API funguje.

Jak funguje WordPress REST API

Stručně řečeno, REST API funguje tak, že manipuluje s textovými daty z jednoho místa na druhé bez přímého přístupu k databázi nebo uživatelskému rozhraní. Existuje mnoho typů API (Application Programming Interfaces), přesto zůstává REST moderním a relevantním standardem.

Rozhraní REST API se přenáší přes přístupové body protokolu HTTP (Hyper Text Transfer Protocol) pomocí formátu JavaScript Object Notation (JSON). Jednoduše řečeno, tyto technologie poskytují přístup k API pomocí jedinečných webových adres k doručování dat, která se chovají jako objekty JavaScriptu.

Pokud jste nikdy nepracovali s JavaScriptem nebo jeho definicemi objektů, naučte se základy JSON. Nyní, když jsme si trochu ujasnili koncept REST API, pojďme si promluvit o tom, jak může mít velký dopad na proces vývoje pomocí WordPressu.

Co znamená WordPress REST API pro vývojáře?

WordPress REST API je univerzální integrátor jakékoli instalace WordPress s jakoukoli aplikací na webovém serveru nebo vaší operační systém. V konečném důsledku to znamená, že jediný limit toho, s čím lze stavět pomocí WordPressu, je pouze naše představivost. Můžete vytvořit libovolnou aplikaci napsanou v jakékoli platformě nebo jazyce a používat WordPress ke zpracování dat prostřednictvím REST API. Otevřená a přátelská WordPress komunita nabízí obrovské možnosti.

REST API je založeno na JavaScriptu, kterému se dostává stále větší pozornosti, což naznačuje, které programovací jazyky je důležité znát. Brzy zjistíte, že JavaScript na straně serveru je nové PHP. To je již vidět v novém softwaru WordPress.com Calypso, který běží výhradně na JavaScriptu a REST API.

Díky standardizaci způsobu, jakým aplikace (včetně jádra WordPressu) interagují s daty WordPress, bude vývoj WordPress jednodušší a intuitivnější. Navíc usnadní integraci s platformami třetích stran.

Doufám, že nyní máte více důvodů, proč je důležité začít se učit používat tuto technologii již nyní. Je čas udělat první kroky k použití REST API ve vlastní práci!

5 kroků, jak začít s WordPress REST API

Jak jsme uvedli dříve, REST API lze použít s jakoukoli aplikací nebo jakýmkoli programovacím jazykem, který může volat zdroje HTTP. Zaměříme se na použití příkazového řádku k vytváření požadavků REST API, protože je to nejjednodušší metoda s nejmenší pravděpodobností zavádění chyb, které mohou narušit proces učení.

Chcete-li to provést, musíte v počítači otevřít program s rozhraním příkazového řádku (Command Line Interface CLI) - terminál na macOS nebo Linux a příkazový řádek na Windows. CLI vám umožňuje přímou interakci s REST API, aniž byste museli psát další skripty pro vyžádání a zpracování informací. Jakýkoli požadavek, který zapíšete do CLI, může být skript v PHP, JavaScriptu nebo jiném jazyce, ale metoda bude pro každý jiný. Přímé provádění příkazů v CLI. Stačí zadat požadovaný příkaz a stisknout Enter.

Doporučujeme také nastavit demo web nebo testovat lokálně, než zkoušet tyto kroky na živém webu. A nakonec ještě jedna podmínka je, že WordPress verze vašeho webu je 4.4 nebo vyšší. Pokud jste připraveni, začněme!

Krok 1: Seznamte se se základními koncepty REST API

Než začneme, seznamme se s klíčovými koncepty REST API. Existuje pouze pět základních pojmů a termínů, se kterými byste se měli seznámit. Pojďme se na ně podívat:

  1. Trasy ('Trasy') a Zdroje nebo přístupové body ('Koncové body'). Toto je nejdůležitější aspekt pro pochopení REST API. Trasy vám pomáhají navigovat mezi vašimi prostředky, když je ke konkrétní trase připojena konkrétní metoda HTTP (jako je statická datová sada nebo akce). Například /wp-json/ je trasa nakonfigurovaná jako prostředek vytvořený tak, aby nám ukázal dostupné trasy.
  2. Žádosti. Jsou vytvářeny provozováním správných zdrojů a předáváním dat.
  3. Odpovědět ( Odpovědi). Stručně řečeno, poskytnutí požadovaných dat nebo vrácení chyby, abyste věděli, že se něco pokazilo.
  4. Schémata. Níže jsou uvedeny šablony odpovědí, abyste vždy přesně věděli, kde hledat data, která potřebujete.
  5. Třídy ovladačů. Umožňují vám vytvářet vlastní trasy a zdroje. Dokud se o to nebudete muset starat, budou později užitečnější.

Jakmile pochopíte těchto pět konceptů, můžete se začít hlouběji ponořit do samotného REST API, počínaje jeho přístupovými body.

Krok 2: Zjistěte nejužitečnější přístupové body REST API

WordPress REST API nabízí referenční příručku se všemi přístupovými body (zdroji), kde můžete najít ty, které jsou pro vás nejužitečnější. Nejprve musíte vědět, jak vytvořit volání HTTP REST API. Základní část jakéhokoli volání WordPress API vypadá takto, nahradit vasedomena.com k tvému:

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

Připojení můžete otestovat spuštěním příkazu curl v CLI pomocí vlastní adresy URL:

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

Měli byste být přivítáni zprávou od HTTP. Tento příkaz můžete dále upravit pomocí některých hlavních zdrojů. Nyní používáme pouze verzi GET curl.

Chcete-li získat JSON seznam vašich příspěvků ve WordPressu, můžete použít následující:

Poté vyzkoušejte následující a zkontrolujte všechny existující stránky WordPress:

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

Můžete experimentovat s každým z těchto přístupových bodů (a dalšími!) v CLI, abyste viděli, jakou odezvu každý z nich produkuje.

Krok 3: Naučte se základy REST API Authentication

Nyní je čas dozvědět se o ověřování. Některé akce a data v REST API jsou veřejné, zatímco jiné vyžadují, abyste byli přihlášeni jako správce. Jedná se však o REST API a pro autorizaci není kam se přihlásit. Místo toho se můžete ověřit během požadavků, které vyžadují přístup správce, jako je zobrazení nepublikovaných příspěvků nebo změna příspěvků.

Začněme instalací pluginu WordPress REST API Basic Auth. Jedná se o jednoduchý plugin pro vývojáře, aby se rychle naučili REST API, a není určen pro skutečné webové stránky. Proces instalace je však stejný jako u jakéhokoli jiného pluginu.

Jakmile je Basic Auth nainstalováno, budete se moci autentizovat pomocí CLI s příznakem uživatel. Zde je příklad, jak použít metodu ověření uživatele pomocí kučera pro zobrazení nepublikovaných příspěvků:

Curl -X GET --user username:password -i http://yourdomain.com/wp-json/wp/v2/posts?status=draft

Pro jakoukoli jinou operaci než prohlížení veřejných informací bude vyžadováno ověření. Jakmile si osvojíte základní ověřování, můžete prozkoumat další možnosti doporučené v dokumentaci k REST API pro váš vývoj.

Krok 4: Vyberte svůj první příspěvek WordPress pomocí REST API

Jakmile pochopíte, jak provádět základní volání REST API pomocí curl, zkuste vybrat konkrétní položku. Nejprve si zobrazme všechny publikace, jako jsme to udělali dříve:

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

Tento trik s dodatkem ID můžete použít pro jakýkoli zdroj REST API, ať už chcete zobrazit příspěvek, stránku nebo taxonomii.

Krok 5: Provádění změn ve vašem příspěvku WordPress prostřednictvím REST API

Nakonec se pokusíme provést změny ve vybrané publikaci. Místo příkazů VOLBA nebo DOSTAT, tentokrát použijeme POŠTA provést změny. DOSTAT se používá ke čtení dat, zatímco POŠTA- poslat je.

Přejmenujme váš příspěvek odesláním žádosti POŠTA spolu s autentizačními údaji. Nové změny budou provedeny pomocí příznaku d na konci příkazu. Odešleme uživateli JavaScript objekt nastavením proměnné title na její hodnotu, jako např Můj nový titul jak je uvedeno v kódu níže:

Curl -X POST --user username:password http://yourdomain.com/wp-json/wp/v2/posts/ -d "("title":"Můj nový titul")"

Ujistěte se, že jste nahradili uživatelské jméno, heslo, ID příspěvku a titul svým vlastním. Danou publikaci můžete znovu vybrat a zkontrolovat změny:

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

Gratulujeme! Právě jste provedli své první administrátorské úpravy pomocí WordPress REST API. Samozřejmě, že tento základní průvodce pouze poškrábe povrch možností, které poskytuje REST API, ale je to docela solidní začátek!

Závěr

WordPress REST API je výkonná nová verze jádra WordPress a mnoho vývojářů již začalo využívat jeho schopnosti. V souladu s tím se nyní seznámili s tím, jak pracovat s novou příležitost, zlepšíte své programátorské dovednosti a budete schopni vytvořit aplikaci využívající WordPress jako framework.

Abychom to shrnuli, prošli jsme pěti kroky na naší cestě k tomu, abychom se naučili, jak interagovat s WordPress REST API:

  1. Úvod do základních konceptů REST API.
  2. Nejužitečnější zdroje/přístupové body REST API.
  3. Naučte se základy ověřování REST API.
  4. Načtení příspěvku na WordPress pomocí REST API.
  5. Upravte příspěvek WordPress pomocí REST API.

Jaké otázky máte ohledně WordPress REST API? Napište nám do komentářů!