vendredi 25 septembre 2026

À propos

Contact

Extensions

Structurer ses routes avec WP_REST_Controller plutôt que des callbacks

Un plugin qui expose cinq ressources REST via des fonctions anonymes empilées devient vite illisible. La classe abstraite fournie par le cœur de WordPress structure ce chaos.

Par Clément Hadrot • 18 septembre 2022 • 1 min de lecture • Aucun commentaire
Structurer ses routes avec WP_REST_Controller plutôt que des callbacks

Une extension de gestion de flotte de véhicules pour des entreprises de location expose, au fil des versions, de plus en plus de ressources via l’API REST de WordPress : véhicules, réservations, conducteurs, incidents. Chaque nouvelle ressource a été ajoutée par un appel supplémentaire à register_rest_route() avec une fonction anonyme en callback, jusqu’à atteindre un fichier de plus de huit cents lignes où il devient difficile de retrouver la logique propre à chaque ressource, tant tout est mélangé dans un seul espace de noms de fichier.

La refonte adoptée s’appuie sur WP_REST_Controller, la classe abstraite que WordPress fournit lui-même en interne pour structurer ses propres points de terminaison REST, comme ceux des articles ou des utilisateurs. Cette classe n’apporte aucune magie particulière : elle impose surtout une convention de nommage de méthodes qui rend le code de chaque ressource immédiatement reconnaissable d’un développeur à l’autre.

Le squelette d’un contrôleur de ressource

L'essentiel à retenir : WP_REST_Controller impose une convention de méthodes, pas un carcan rigide ; Chaque ressource devient une classe autonome, testable isolément ; Le schéma exposé documente automatiquement la ressource pour l'API découverte

Partager :

À propos de l'auteur

Clément Hadrot

Développeur WordPress, passionné par Elementor, le FSE et l’automatisation par IA.

Voir tous ses articles

Dans la même veine

À lire aussi