rest_get_server()

Définition : rest_get_server() récupère l’instance centrale courante de WP_REST_Server utilisée par WordPress. Si aucune instance n’existe encore, elle initialise le serveur et déclenche son cycle de préparation.

Comprendre et utiliser

À quoi sert cette notion ?

Elle donne accès au composant central de routage pour les besoins avancés, le diagnostic et certains tests d’intégration.

Fonctionnement technique

La fonction utilise l’instance partagée par WordPress. Lors de la première création, le hook rest_api_init intervient pour permettre aux extensions d’enregistrer leurs routes.

Dans quel contexte l’utiliser ?

Une extension de diagnostic inspecte les routes présentes pour confirmer l’enregistrement attendu après activation.

Étude de cas : application professionnelle

Une fonction de diagnostic peut vouloir vérifier qu’un endpoint a été enregistré après l’activation d’un plugin. rest_get_server() permet d’obtenir le serveur partagé puis d’inspecter les routes. Réaliser cette vérification dans un contexte local prévu pour les tests, sans rendre cet inventaire public. Si la route est absente, examiner d’abord le cycle rest_api_init et les conditions de chargement. Si elle est présente mais inaccessible, poursuivre vers les méthodes et les permissions. Cette succession de vérifications permet d’isoler précisément la couche fautive.

Exemple technique commenté

Cet extrait est destiné à un fichier PHP chargé par WordPress, idéalement dans un plugin local de test. Il ne doit pas être placé dans l'éditeur de contenu. Avant exécution, vérifier que les objets et variables mentionnés existent dans le contexte et que les permissions nécessaires sont définies.

<?php
$server = rest_get_server();
$routes = $server->get_routes();
$exists = isset( $routes['/wp/v2/posts'] );

Décryptage du code et résultat attendu

L’extrait récupère les routes puis teste la présence d’un chemin connu. Il ne publie pas les résultats et ne modifie pas les permissions.

Exercice guidé pour vérifier la notion

Dans un plugin local, vérifier la présence d’une route après le déclenchement de rest_api_init.

Précautions et limites

Ne pas provoquer inutilement l’initialisation REST au mauvais moment dans un traitement lourd. Ne pas exposer les détails de toutes les routes dans un écran public.

À ne pas confondre

rest_get_server() récupère le moteur ; register_rest_route() enregistre un contrat ; rest_do_request() déclenche une opération.

Diagnostic avancé

Si la route est absente, contrôler l’ordre d’initialisation plutôt que reconstruire manuellement le serveur.

Choix d’architecture et déploiement

Réserver l’accès direct au serveur aux cas techniques justifiés et préférer les fonctions publiques spécifiques pour les usages courants.

Références officielles WordPress

Bouton retour en haut de la page