WP_REST_Posts_Controller
Définition : WP_REST_Posts_Controller est le contrôleur WordPress chargé de nombreuses opérations REST sur les publications. Il gère les collections, les contenus individuels, les schémas de champs et les contrôles de permission.
Comprendre et utiliser
À quoi sert cette notion ?
Il illustre le patron de conception utilisé par le Core pour exposer des ressources de contenu. L’étudier aide à comprendre les routes natives wp/v2/posts et les réponses associées.
Fonctionnement technique
Ce contrôleur étend WP_REST_Controller et adapte les opérations à un type de publication. Les résultats tiennent compte notamment du statut du contenu, des autorisations et du contexte demandé.
Dans quel contexte l’utiliser ?
Une interface de gestion documentaire lit les brouillons pour un éditeur authentifié, tandis qu’un visiteur consulte seulement les publications autorisées.
Étude de cas : application professionnelle
La publication WordPress possède plusieurs représentations : contenu affichable, contenu brut pour l’édition, informations d’auteur, termes associés et métadonnées autorisées. WP_REST_Posts_Controller assure ce travail pour les types pris en charge. Pour expérimenter, créer deux articles de test, l’un publié et l’autre en brouillon. Interroger la collection sans connexion, puis avec un compte autorisé. Comparer non seulement le nombre d’articles, mais également les champs disponibles et les statuts. Cette démarche explique pourquoi une API apparemment publique peut proposer des résultats différents selon le demandeur.
Exemple technique commenté
Les lignes ci-dessus sont des exemples de requêtes HTTP, non des commandes prêtes à coller dans un article. Pour les essayer, utiliser un client HTTP et un site de test. Toute opération d'écriture nécessite un compte autorisé, une authentification appropriée et une sauvegarde du jeu de données concerné.
GET /wp-json/wp/v2/posts?per_page=5
GET /wp-json/wp/v2/posts/42?context=view
Décryptage du code et résultat attendu
Le premier appel liste des publications accessibles ; le second cible un objet. Le contrôleur produit des données dont les champs varient selon le contexte et la permission.
Exercice guidé pour vérifier la notion
Comparer une publication publiée et un brouillon en étant connecté puis déconnecté sur un site de test.
Précautions et limites
Un type de contenu personnalisé n’est pas automatiquement exposé : vérifier son option show_in_rest et les capacités associées. Ne pas supposer que tous les statuts sont publics.
À ne pas confondre
WP_REST_Posts_Controller est un composant serveur ; la route wp/v2/posts constitue son interface HTTP consommée par les clients.
Diagnostic avancé
Si un champ disparaît, contrôler le contexte view/edit, les permissions et le schéma plutôt que d’ajouter une requête directe à la base.
Choix d’architecture et déploiement
Réutiliser les mécanismes du Core pour les contenus courants. N’écrire un contrôleur personnalisé que si le contrat métier l’exige réellement.
