Een blik op de WordPress HTTP API een recensie

Een van de uitdagingen die gepaard gaat met het schrijven van een serie over een API - of zelfs een deel van een API - is dat het moeilijk is om elk aspect van de API te behandelen zonder al te veel tijd te besteden aan het diep in een deel duiken en tegelijkertijd proberen niet gewoon door te bladeren de bovenkant van elke API zonder voldoende praktische informatie te geven.

Voorbeeld: gedurende de laatste reeks hebben we de WordPress HTTP API bekeken. Concreet hebben we gedekt wp_remote_get en wp_remote_post, en we hebben relatief uitgebreid werk verricht met beide functies, inclusief het bouwen van voorbeeldprojecten.

Het punt is dat er nog veel terrein is waarop de WordPress HTTP API kan worden gedekt. In de toekomst kunnen we een geavanceerde serie over meer aspecten van de API doen, maar laten we nu eens kijken naar alles wat we in deze reeks hebben behandeld.


Maar eerst, waarom een ​​samenvatting?

Het schrijven van een relatief lange reeks over een paar functies kan heel wat terrein bestrijken. Het probleem hierbij is dat als u op enig moment in de toekomst naar één onderdeel moet verwijzen, u zich misschien niet precies kunt herinneren waar de informatie zich bevond.

Of, misschien nog erger, u zult misschien door een aanzienlijke hoeveelheid informatie moeten sjouwen om het enige aspect te vinden dat u nodig hebt om vooruitgang te blijven boeken op uw werk.

En je kunt natuurlijk altijd naar de serie-index verwijzen, maar om een ​​"quick guide" van soorten te geven, dacht ik dat het nuttig zou zijn om de artikelen, de functies en notaties op hoog niveau met betrekking tot het segment van de API samen te vatten die we hebben behandeld voor het geval u een referentie voor uw werk nodig heeft.

Merk natuurlijk op dat u de serie altijd in zijn geheel kunt bekijken op de serieoverzichtspagina.


Verzoeken op afstand

Voordat we elk van de functies bespreken, moet u er rekening mee houden dat een verzoek op afstand kan worden gedefinieerd als het proces waarbij een server een aanvraag naar een andere server doet.

In het algemeen kan een server eenvoudig gegevens naar de andere server verzenden, die dan zal worden doe iets ermee (of het nu gaat om het opslaan van de gegevens, het verwerken van de gegevens, enzovoort) en het kan optioneel een antwoord terugsturen.

Op een hoog niveau, dat is een verzoek op afstand. Lees dit bericht voor meer informatie over dit specifieke idee.


wp_remote_get

wp_remote_get is een functie die deel uitmaakt van de WordPress HTTP API die verantwoordelijk is voor het maken KRIJGEN verzoeken.

De functie accepteert:

  • Een URL waarnaar het verzoek wordt gedaan
  • De reeks argumenten om mee te sturen met het verzoek

Als je hiervoor in de eerste plaats verantwoordelijk bent ophalen informatie van de server, dan is dit de functie die u wilt gebruiken.

Ten tweede, als u meer dan een URL nodig heeft of meer controle over het verzoek dat wordt verzonden, kunt u dit artikel bekijken om alle argumenten te bekijken die het accepteert.

Hoe werkt dit?

In de volgende reeks hebben we een echte plug-in gebouwd die een hefboomeffect zou hebben wp_remote_get zodat we het aantal volgers voor een bepaalde Twitter-account kunnen ophalen, evenals de laatste tweet verzonden vanuit genoemd Twitter-account.

Het primaire doel van dit artikel en deze demo was om een ​​praktisch voorbeeld te geven van hoe te gebruiken wp_remote_get in een "echte wereld" -omgeving. Raadpleeg het bijbehorende artikel voor de volledige broncode van de werkende demo.

Wat wordt er geretourneerd?

Omdat wp_remote_get is gericht op ophalen informatie, het is alleen maar logisch dat we een antwoord verwachten, toch? In de laatste artikelomschrijving wp_remote_get, we hebben gekeken naar wat er precies van de server wordt teruggestuurd en hoe WordPress het voor ons gebruik opmaakt.

Als je tijdens je werk moeite hebt om te ontcijferen wat het is dat terugkomt van de server (of waarom het niet werkt zoals verwacht), dan is dit het artikel dat je moet beoordelen.


wp_remote_post

Net als wp_remote_get is verantwoordelijk voor het maken KRIJGEN verzoeken, wp_remote_post is verantwoordelijk voor het maken POST verzoeken.

Net als met de wp_remote_get, wp_remote_post accepteert dezelfde argumenten:

  • De URL waarnaar het verzoek wordt gedaan
  • Een array van argumenten die helpen om het verzoek aan de server aan te passen

Maar er is een fundamenteel verschil in het doel van deze functie en de vorige die wordt besproken. Het verschil is wat er gebeurt als het verzoek is voltooid.

Net als wp_remote_get wordt voornamelijk gebruikt om terugvinden gegevens, wp_remote_post is gewend aan sturen gegevens over de te verwerken draad - een reactie kan nooit worden teruggestuurd.

Voor een eerste overzicht van deze specifieke functie - wat deze accepteert, inclusief de geavanceerde lijst met argumenten - bekijk dit artikel.

Hoe werkt dit?

Net zoals we deden met wp_remote_get, we hebben een plugin gemaakt om te demonstreren hoe wp_remote_post werkt binnen de bredere context van een WordPress-thema.

Hoewel de plug-in voor de referentie op GitHub staat, lopen we door de hele eerste versie van de plug-in in het volgende artikel. We bespreken in het bijzonder hoe het verzoek moet worden gedaan aan een script dat verantwoordelijk is voor ontvangst $ _POST gegevens en vervolgens hoe het een antwoord kan formatteren en terugsturen naar de beller.

Wat wordt er geretourneerd?

In het laatste artikel in de serie hebben we de plug-in voltooid door LESS te gebruiken om de plug-in een iets leukere look en feel te geven, en hebben we de plug-in afgerond, zodat het feitelijk enkele van de responsgegevens in de database opslaat om een ​​idee te geven over hoe dit kan worden bereikt.


Conclusie

Samenvatting berichten zijn nieuw gebied - voor mij tenminste - omdat ik mijn serie 'historisch gezien' op zichzelf heb laten staan, maar ik dacht dat dit een leuke referentie zou zijn om te geven gezien we zoveel terrein in de serie hadden behandeld.

Om te herhalen:

  • Hier is de volledige lijst met artikelen in de serie
  • Dit is een link naar de wp_remote_get broncode
  • Hier is de wp_remote_post project op GitHub

Met dat gezegd, laat het me weten als je de voorkeur geeft aan samenvatting berichten of niet. Zoals ik al zei, dit is iets dat ik normaal gesproken niet doe, maar als het een referentiepunt voor jullie is, dan ben ik blij om ze te blijven doen voor toekomstige series. '.