Wordpress REST API poskytuje vývojářům mocný nástroj pro práci s WordPressem na dálku pomocí HTTP požadavků. Přestože standardně podporuje základní typy obsahu jako příspěvky, stránky a média, mnohdy je potřeba API rozšířit o vlastní datové typy a endpointy, aby lépe sloužilo specifickým potřebám projektu. V tomto článku se dozvíte, jak na to.
1. Definice vlastního datového typu
Prvním krokem je vytvoření vlastního datového typu (Custom Post Type - CPT), pokud již není definován. To lze provést pomocí funkce register_post_type()
ve vašem pluginu nebo tématu. Při registraci je klíčové nastavit argument show_in_rest
na true
, aby byl nový datový typ dostupný v REST API.
2. Přidání vlastního endpointu
Pro vytvoření nového endpointu využijeme hook rest_api_init
a funkci register_rest_route()
. Tato funkce umožňuje definovat metodu (GET, POST, atd.), cestu k endpointu a callback funkci, která se má vykonat při zavolání endpointu.
add_action('rest_api_init', function () {
register_rest_route('mujplugin/v1', '/mojedata/', array(
'methods' => 'GET',
'callback' => 'moje_funkce_zpracovani',
));
});
3. Zpracování požadavků
V callback funkci moje_funkce_zpracovani
můžete zpracovat požadavek a vrátit odpovídající data. Je možné přistupovat k globálním proměnným, vlastním databázovým tabulkám nebo jakýmkoli jiným zdrojům potřebným pro generování odpovědi.
4. Autentizace a oprávnění
Pro zabezpečení přístupu k vlastním endpointům je možné využít různé metody autentizace, například Basic Auth nebo OAuth. K ověření oprávnění uživatele můžete v callback funkci použít funkce jako current_user_can()
.
5. Testování a ladění
Po implementaci je důležité endpointy řádně otestovat. Můžete využít nástroje jako Postman nebo cURL pro odesílání HTTP požadavků a ověření správné funkčnosti vašich endpointů.
Rozšíření WP REST API o vlastní datové typy a endpointy otevírá dveře k pokročilým integracím a funkcionalitám vašich WordPress projektů. S trochou kódu můžete výrazně zvýšit flexibilitu a možnosti vašeho webu.