it-swarm-eu.dev

Spotřebujete externí API v aplikaci WordPress?

Mám klienta, který má webové stránky WordPress, a chce jej rozšířit o nové funkce. Tyto funkce jsou součástí webové stránky, kterou jsem již udělal (druh vyhledávače nad databází, s některými filtry), a který je pod novými vylepšeními.

Co mám v plánu udělat, je vytvořit json api z mých webových stránek (se všemi vyhledávacími funkcemi nad mojí databází) a zpřístupnit tyto webové stránky v aplikaci wordpress, pak budu muset vytvářet pouze náhledy pro zobrazení výsledků vyhledávání.

Problém je v tom, že WordPress vůbec nevím (pro mě je to něco, kde můžete přidávat články přes admin panel ...) a nevím, jak v něm můžeme napsat vlastní kód na straně serveru. Hledal jsem na Googlu a našel jsem něco, co se nazývá "plugin", ale zajímalo by mě, jestli je to možné, a pokud je to nejjednodušší způsob, jak to udělat, nemusím mít kód používaný jinou třetí zemí. večírek. Pokud je možné hacknout WordPress instalaci přidat mé PHP soubory, kód, co potřebuji (mé názory se stejným WordPress css), že by bylo jednodušší, ale nevím, jestli je to možné?

8
tahir

Krátký primer na vývoj WordPressu, který by vám mohl pomoci nebo by vás mohl zmást:

Hlavní věc, kterou je třeba mít na paměti: je to všechno jen PHP. A také: neupravujte základní soubory WordPressu, protože budete mít potíže při aktualizaci na novější verzi později. Jediný kód, který byste měli upravit, je plugin a témat.

Pokud potřebujete pouze přidat něco na existující stránku, může to fungovat jen pro úpravu správného souboru motivu. Nicméně, pokud potřebujete udělat něco pokročilého (a přidávat další "pohled", stejně jako na konkrétní URL, je pokročilejší v WordPress), musíte přidat kód na místě, které bude načten dříve v procesu spouštění WordPress .

Důvodem je to, že WordPress pro vás vždy dělá dotaz na základě adresy URL. Jdete do /category/banana/, bude dotazovat na příspěvky kategorie banana a načte správný soubor šablony, kde budete muset pouze přeskočit a zobrazit je. Nicméně, pokud jdete do /custom-view/, WordPress pravděpodobně nenajde žádný příspěvek a načte šablonu 404 - což vám nedává žádný jednoduchý způsob, jak se dostat zpět!

Někteří lidé to řeší vytvořením "stub stránek": vytvářejí stránku ve WordPressu, kde obsah není důležitý, pouze šablona je: tam dělají cokoliv, co chtějí dělat. To je hackish, ale funguje to. Čistým způsobem by bylo definovat pravidla extra rewrite, která umožní WordPressu vědět, že /custom-view/ je platná adresa URL, ale že by se tam mělo stát něco jiného.

Chcete-li to provést, musíte zavést do jádra systému WordPress. Důležitou součástí je hook do, ne modify. WordPress má akce a filtry. Akce je jen oznámení ("Ahoj, v současné době píšeme značku <head>. Chcete přidat i něco?"). Filtr umožňuje upravit proměnnou ("Toto je název příspěvku. Pokud jej chcete upravit, vraťte novou hodnotu"). Samozřejmě, trik je nyní vědět, které akce a filtry byste měli použít. To záleží na způsobu, jakým si vyberete (stránky se stubem nebo nová pravidla pro přepisování), takže zde neuvedu podrobnosti.

Definujete akce a filtry, které chcete použít v souboru pluginu nebo v souboru functions.php vašeho motivu. Jsou speciální v tom, že jsou načteny při zavádění WordPressu , takže před provedením hlavního dotazu a tak dále. Záložní soubor je pouze soubor PHP, který je umístěn v adresáři wp-content/plugins/, se speciální hlavičkou, takže WordPress může číst své jméno a zobrazit jej v administrační oblasti, kde jej můžete povolit a zakázat (takže můžete odejít v adresáři, ale dočasně jej vypněte).

9
Jan Fabry

Základy

Musíte se obejít základy pro pluginy a témata. Stručně řečeno: Jedná se o dodatky k základní funkci wordpress. Normálně "Pluginy" jsou více o funkčnosti a "Témata" jsou více o "pohledu". Můžete také chtít přečíst něco o "Plugin API" .

JSON

Možná budete chtít použít skript json2 , který je zabudován do jádra, aby poskytl "bezpečné" rozhraní API.

Příklad JSON

Zbytek bude něco takového:

$response = json_encode( array( 
     'data' => $your_output 
) );
header( "Content-Type: application/json" );
echo $response;

XML Rpc

Kodex má také něco o "XML Rpc" .

Http API

Další možností může být http požadavky . Nezapomeňte si přečíst odkazy v dolní části odkazu.


Webhookové

To je další, protože je to více o dávání spotřebovatelného API. Vysvětlení zde . A je tu také plugin s názvem HookPress , který tuto práci dělá za vás. Některé snímky od autora.

2
kaiser

Předpokládám, že znáte PHP? Nebo to je také bariéra?

V podstatě pluginy ve WordPressu jsou konvence jak balíček PHP kód tak, aby byl rozpoznán a zpracován jádrem WordPressu. Je to spíše formát než funkčnost.

Pokud jde o skutečnou funkčnost, můžete do značné míry spouštět libovolné PHP, ale je dobré používat API rozhraní WP pro kompatibilitu a spolehlivost.

Představte si svůj kód v kontextu WP jako include (což bude technicky). Odtud to je rozsah vašich potřeb a zdrojů, které budou určovat, kolik z toho bude přepsáno, aby byly specifické pro WordPress.

1
Rarst

Ano, je to možné.

většina pluginů je vytvořena pomocí tzv. háčků:

například:

add_action("hook", "function")

je snadné vytvořit si plugin, jakmile víte, jak tento rámec, dobře ... funguje ... Chtěl bych se s ním poradit, aby se s ním, nejrozsáhlejším místem pro poznání (i když ne nejorganizovanějším - jako php) farmářství zkombinoval. net) je wordpress codex .

0
Itai Sagi