Tuto WP API Rest : Créer ses propres routes API
L’API WordPress est très puissante et livrée clés en main. Il est cependant possible d’ajouter vos propres routes et créer vos propres fonctions spécifiques pour palier à tous vos besoins.
1. Créer une nouvelle route
Tout d’abord, on crée une route, avec éventuellement des paramètres complémentaires, dans ce cas on crée une route author avec la possibilité de mettre un ID (sous forme de regex) : (?P<id>\d+) on attend là un nombre de 1 ou plusieurs caractères
[pastacode lang=”php” message=”” highlight=”” provider=”manual”]
add_action( 'rest_api_init', function () {
register_rest_route( 'myplugin/v1', '/author/(?P\d+)', array(
'methods' => 'GET',
'callback' => 'my_awesome_func',
) );
} );
[/pastacode]
La route invoquée appellera en GET (on récupère seulement des infos. Utiliser PUT pour écrire et DELETE pour effacer) et appellera la fonction My_awesome_function
2. Créer sa fonction spécifique
la fonction my_awesome_function vous permettra, exactement comme une WP Query (voir mon article sur les requêtes personnalisées) . Dans cet exemple on fait simplement un get_post en fournissant l’identifiant de l’auteur récupéré dans l’URL fournie par la requête API, et on retourne les résultats. L’api s’occupe de la mise en page en JSON. Et voilà !
[pastacode lang=”php” message=”” highlight=”” provider=”manual”]
function my_awesome_func( $data ) {
$posts = get_posts( array(
'author' => $data['id'],
) );
if ( empty( $posts ) ) {
return null;
}
return $posts[0]->post_title;
}
[/pastacode]
Vous souhaitez aller plus loin ? Découvrez la création de routes sur la documentation officielle.
0 Commentaire