Dans WordPress 4.4, certaines parties importantes de l’api rest tant attendue sont déjà au cœur de WordPress. Bien que pour de nombreux cas d’utilisation, devrez peut être continuer à utiliser le plug in jusqu’à ce qu’au moins WordPress 4.7 soit disponible, pouvez faire quelque chose d’intéressant en utilisant l’« Infrastructure» de l’api qui est devenue le noyau, en particulier la fonction Register _ rest route. Ridiculement, quelqu’un, frustré par la discussion sur l’union 4.5 (que Brian krogsgard a peut être mieux saisie dans son billet à ce sujet), plaisantait que ce serait une vraie déception si la seule chose que l’api rest pourrait mettre en œuvre dans le noyau WordPress était de créer une meilleure façon de créer le paramètre Ajax. Il est difficile de ne pas être drsquoaccord avec ce sentiment.
Mais crsquoest à dire qursquoil est très intéressant drsquoutiliser Register _ rest Routing aujourdrsquohui. Ce nrsquoest pas la seule fonctionnalité intéressante que nous obtenons de lrsquoAPI rest, mais crsquoest la fonctionnalité que nous avons aujourdrsquohui qui permet quelque chose de très intéressant. Allons y! Il y a quelques semaines, jrsquoa i écrit un résumé conceptuel du « chemin du repos » sur les concepts qui sous tendent le repos et ce que nous appelons le chemin. nrsquoêtes pas au courant de ces concepts, lisez car nous serons un peu concis ici. Le résumé de cet article est le suivant: rest est une URL et une approche axée sur les ressources pour représenter l’accès aux données dans l’api rest Resources est quelque chose comme un post WordPress, une page ou une étiquette rest Routing est l’url à laquelle manipulez les ressources si tout cela est suffisamment significatif pour , la même URL de l’api rest répondra différemment aux différentes méthodes http, Continuez à lire. non, assurez de le savoir. Capacité de répondre à la question drsquoun ami: « sérieusement, qursquoest ce que lrsquoAPI rest? »
Inscrivez au routage en utilisant Register _ rest route pour commencer si connaissez bien toutes les idées de repos, alors la plupart des registers rest routes ont assez
NSO. non, ça pourrait être déroutant. La fonction elle même est similaire à celle utilisée: Add _ action (lsquorest API initrsquo, lsquowpshout Register routesrsquo) Fonction wpshout _ Register routes () {Register rest route (lsquomyplugin v1rsquo, lsquo author (? P D +, array (lsquoMethodsrsquo = gtrsquo get lsquo,rsquo Callback lsquo= gtrsquo wpshout _ find author post title lsquo,)} Les développeurs expérimentés de WordPress se rendront compte que nous travaillons sur une opération fonctionnelle. Dans notre cas, lrsquoopération est rest _ API init. Comme pouvez le deviner, il a ajouté WordPress en 4.4, en utilisant la même fonction Register _ rest route. Donc, en appelant la fonction réelle de cette opération, nous allons discuter de trois sujets:
Espace de noms pour le paramètre. Crsquoest le
Fonction wpshout _ find author post Title ($Data) {$posts = get posts (array (lsquoauthorrsquo = gt $data [lsquoidrsquo,)) if (Empty ($posts)) {return null} Retourner $posts [0] gt Post _ title} En ce qui concerne notre fonction, Notez drsquoabord qursquoelle reçoit un tableau de données $qui contient notre groupe drsquoacquisition.
Nom de lrsquoactif Id. Crsquoest pourquoi il est utile: ensuite, nous pouvons utiliser des objets capturés pour faire des choses intéressantes. Par exemple, dans ce cas, recevez un message de l’auteur basé sur son ID utilisateur WordPress. Cette fonction est très simple, mais à des fins drsquoexemple seulement. Ce paramètre théorique répond simplement au titre du dernier billet de blog créé par lrsquoutilisateur. Crsquoest utile, mais ce nrsquoest que le début de quelque chose drsquointéressant que pouvez faire avec le paramètre rest.
Une autre chose à savoir est que ce sont des fonctions terminales dans lesquelles pouvez retourner les données que l’infrastructure WordPress va sérialiser pour sur json. Crsquoest un écart important (pour moi, crsquoest une grande amélioration par rapport à lrsquoAjax de gestion classique): nrsquoavez pas besoin de mourir, et nrsquoavez pas besoin de répondre à vos résultats. Au lieu de cela, le retournez comme une structure PHP originale que WordPress convertit en json en arrière plan. Ainsi, dans cet exemple de code, parce qursquoil renvoie une chaîne, nous ne voyons qursquoune seule chaîne dans les guillemets du paramètre: elle nrsquoest pas imbriquée dans un objet json ou nrsquoimporte quel objet sauf si lrsquoinsérez.
Il ne srsquoagit pas drsquoune introduction exhaustive à la réalité du registre _ rest route. Bien que je lrsquoutilise souvent, je nrsquoai toujours pas la chance de lrsquoutiliser dans un projet significatif. (si demandez de lrsquoaide à quelqursquoun que connaissez, Press up sera disponible au troisième trimestre 2016 et au delà. Crsquoest à dire, en ce qui concerne lrsquoutilisation efficace du routage Register _ rest je voudrais dire quelque chose de clair et rapide. Drsquoautres méthodes de sélection ou plus doivent drsquoabord garder à lrsquoesprit que le repos concerne les méthodes http et la façon dont y répondez en utilisant différentes actions dans votre système. Cela signifie que, comme nous lrsquoavons mentionné dans lrsquoarticle aperçu du repos, voudrez peut être accepter les demandes de put, patch et post en
Point D. Il y a deux façons de le faire. Le premier point est très clair:
Register _ rest route (lsquomyplugin v1rsquo, lsquo update (? P D +, tableaux (lsquoMethodsrsquo = gtrsquo Post, put, patch lsquo,rsquo Callback lsquo= gtrsquo wpshout _ Special Update FUNCTION lsquo,) Cependant, pouvez également utiliser les constantes de support dans la classe WP _ rest Server comme suit: Register rest route (lsquomyplugin v1rsquo, lsquo update (? P) D +, tableau (lsquoMethodsrsquo = gt WP _ rest Server:: Editable,rsquo Callback lsquo= gtrsquo wpshout Special Update FUNCTION lsquo,) Ces deux fonctions sont fonctionnellement équivalentes, mais cette dernière est plus simple et plus claire pour moi. En particulier pour les personnes qui ne peuvent pas utiliser couramment rest ou http. Il y a cinq constantes utiles sur la classe:
Read = lsquogetrsquo creatable = lsquopostrsquo Editable = lsquoPost, put, patchrsquo deletable = lsquoDeletersquo all Methods = lsquoget, Post, put, patch, deletersquo at the end of the day you can choose to use them. Cependant, devriez savoir ce qursquoils signifient, que utilisiez ou non WP _ rest Server:: allmethods. Enfin, sachez que lrsquoinclusion dans un objet PHP peut être bénéfique pour un ensemble de chemins rest qui sont mappés à une seule entité dans le système. créez un ensemble de fonctions pour créer, lire, mettre à jour et supprimer des ressources, il est préférable de les combiner structurellement étroitement.
Bien que nos exemples ne soient que des fonctionnalités aussi simples que la plupart des développeurs WordPress l’ont fait au fil des ans, lorsque avez plus de deux objets dans un seul objet, il est très utile de les mettre ensemble pour et d’autres qui pourraient lire votre code plus tard. Du côté plug in de lrsquoAPI rest, il y a une classe de contrôleur wp u rest u qui peut (peut être devrait) être étendue lorsque travaillez sur un site fiable. Mais si ce nrsquoest pas le cas, pouvez facilement et rapidement créer vos propres chemins et les utiliser efficacement dans vos objets. Tu dois juste trsquohabituer à définir T.
Créer un chemin de repos personnalisé dans WordPress 4.4 et plus tard