WordPress REST API ROUTING CUSTOM: Un outil puissant pour étendre les fonctionnalités de l'API
Cet article explore les capacités de routage personnalisées de l'API WordPress REST et montre comment créer des solutions API personnalisées. Le routage personnalisé fournit plus de contrôle et d'évolutivité granulaires que d'utiliser uniquement le routage par défaut.
Points de base:
register_rest_route()
et combinez l'action rest_api_init
pour ajouter un itinéraire personnalisé. Vous devez spécifier un espace de noms, un chemin de routage et un tableau de points de terminaison contenant des méthodes, des fonctions de rappel et des informations d'autorisation. Au-delà de la route par défaut: construire des possibilités infinies
La plupart de la discussion sur l'API WordPress REST se concentre sur l'interrogation de l'itinéraire par défaut, ce qui le fait ressembler à une seule API, comme l'API Twitter. Cependant, l'API WordPress REST n'est pas une seule API, mais une collection de millions d'API hautement personnalisables qui peut également être utilisée comme outil pour construire des API. Le routage par défaut est une solution de compromis pour de nombreuses exigences du site, et toutes les tâches ne peuvent pas être effectuées par défaut de routage par défaut.Tout comme WordPress n'est pas seulement un objet WP_Query global, l'API REST n'est pas seulement une API par défaut. L'utilisation du routage par défaut, c'est comme ne jamais créer votre propre objet WP_Query dans un projet WordPress traditionnel, ni remplacer la requête par défaut dans
. Bien que possible, tous les travaux ne peuvent pas être effectués uniquement par défaut de routage d'URL WordPress par défaut. pre_get_posts
Il en va de même pour l'API
Ajouter un itinéraire: fonction register_rest_route()
qui permet d'ajouter des routes à l'API REST et de passer dans un tableau de points de terminaison. Pour chaque point de terminaison, non seulement il est fourni pour gérer la demande, mais il peut également définir les champs requis dans la requête, y compris les valeurs par défaut, les rappels de propreté et de validation, et séparer les rappels d'autorisation. register_rest_route()
Cet article se concentrera sur trois aspects: les fonctions de rappel, les paramètres de champ et la vérification de l'autorisation. Sites Web de commerce électronique basés sur les téléchargements (EDD).
Définissez l'itinéraire: espace de noms et chemin d'itinéraire
Lors de la définition d'un itinéraire personnalisé, utilisez la fonction dans l'action rest_api_init
. Cette fonction accepte quatre paramètres: register_rest_route()
Espace de noms: Tous les routes doivent être nommées spatialisées comme le segment URL suivant après "WP-JSON". L'espace de noms de l'itinéraire par défaut est . Les espaces de noms évitent les conflits de routage. wp
Chemin de route: URL après l'espace de noms. Par exemple, "/ produits" ou "/ produits / (? P [d])" (permet d'utiliser des nombres dans le dernier segment URL, tel que le post-id).
Tableau de point de terminaison: Définissez le point final de l'itinéraire, y compris les méthodes, les fonctions de rappel, les paramètres, etc.
Paramètres (facultatif): override
La valeur booléenne pour gérer les conflits avec les itinéraires définis. La valeur par défaut est , tentez de fusionner l'itinéraire; false
true
Le point final doit définir une ou plusieurs méthodes de transport HTTP (obtenir / post / put / supprimer). Les méthodes peuvent être définies à l'aide de constantes dans la classe
, telles que (seules les demandes d'obtention sont autorisées) ou WP_REST_Server
(toutes les méthodes sont autorisées). WP_REST_Server::READABLE
WP_REST_Server::ALLMETHODS
Lors de la définition d'un champ, vous pouvez spécifier la valeur par défaut du champ, nettoyer la fonction de rappel, etc. Cela permet à la fonction de rappel de faire confiance aux données qu'il reçoit.
Fonction de rappel et fonction de rappel d'autorisation
La fonction de rappel pour chaque point de terminaison (spécifié dans la touche
) est la méthode pour laquelle la demande sera envoyée (si la fonction de rappel d'autorisation passe). La fonction de rappel d'autorisation (spécifiée dans la touche) vérifie si l'utilisateur actuel a la permission d'accéder au point de terminaison. callback
permission_callback
La fonction de rappel reçoit l'objet
et peut utiliser la méthode pour obtenir les paramètres nettoyés et vérifiés. Vous pouvez utiliser la fonction WP_REST_Request
pour créer des objets get_params()
pour vous assurer que la réponse est dans le format JSON correct et inclure les en-têtes nécessaires. rest_ensure_response()
WP_REST_Response
Le routage par défaut de l'API REST WordPress est très utile, mais le routage personnalisé fournit plus de contrôle et d'évolutivité. La création d'un itinéraire personnalisé est une solution efficace lorsque l'itinéraire par défaut ne répond pas aux besoins.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!