Tout savoir sur WordPress

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.

Cet article a été mis à jour il y a 3035 jours - Il n'est peut être plus à jour !

Article écrit par Maxime BJ

Développeur, bloggeur et formateur Web spécialisé WordPress. 36 ans. Grenoblois. Co-fondateur de WPChef, l’organisme de formation WordPress.

Co-fondateur de WPChef, la formation WordPress pour les débutants. Vous pouvez me rencontrer lors d’événements tels que les WordCamp. Traducteur Français de l’extension Advanced Custom Fields. Je m’occupe un site pour apprendre l’informatique aux débutants gratuitement.

0 Commentaire