Este artículo explica cómo usar la API HTTP WordPress, una función PHP establecida desde la biblioteca de características de WordPress para realizar solicitudes HTTP remotas, como REST JSON. Utilizamos la API HTTP de WordPress cuando queremos acceder a recursos de recursos remotos que no están presentes en el sitio web de WordPress que trabajamos, lo que podría ser, desde los datos que accedemos a través de la API Facebook o Twitter hasta la información meteorológica publicada por el Agentes gubernamentales. Hacemos estas solicitudes remotas utilizando las funciones API API HTTP de WordPress, especialmente wp_remote_get (), wp_remote_post () y wp_remote_ead ().
Estamos orgullosos de traerle este artículo como un ejemplo de un capítulo en nuestra guía completa “Aprender el desarrollo de WordPress”, ahora en la tercera edición revisada y extendida. Si le gusta este capítulo, consulte en funcionamiento. Hay alrededor de 40 capítulos de donde vino. Es la mejor guía para el desarrollo de WordPress.
¿Quieres aprender seriamente el desarrollo de WordPress? Despierta y corre hoy

En funcionamiento está nuestro curso completo “Aprende el desarrollo de WordPress”. Ahora, en la tercera edición actualizada y extendida, ha ayudado a cientos de compradores felices a aprender el desarrollo de WordPress de una manera rápida, inteligente y completa.

“Creo que cualquiera está interesado en aprender el desarrollo de WordPress necesita este curso. Antes de comprar en funcionamiento, aprendí un código de WordPress, pero me faltaba la dirección. Ver los videos del curso era como muchas luces encendidas. Pasé de estar vagamente familiarizado con la forma en que los temas, las funciones y el propio WordPress trabajan en su control. Todo se hizo mucho más claro. Recomiendo este curso a todos los que quieran escuchar “. – Jason Bobies, desarrollador de WordPress, el siguiente paso en tu viaje de desarrollo de WordPress!
Despierta y corre ahora
Recomendaciones clave:
La API HTTP de WordPress simplifica las solicitudes HTTP remotas: solicitudes que devuelven (y también pueden cambiar) el contenido de la página web utilizando el Protocolo de transferencia de hipertexto (HTTP), los medios fundamentales de comunicación por Internet.
Las funciones wp_remote_get (), wp_remote_post () y wp_remote_ead () hacen solicitudes, post y cabeza. wp_remote_request () puede hacer todas las formas de solicitudes HTTP.
Las respuestas HTTP recibidas como resultado de las solicitudes HTTP se procesan adicionalmente por las funciones de gestión de respuestas. Las funciones de gestión prescritas, como wp_remote_rethrieve_body () y wp_remote_rethrieve_header (), simplifican en gran medida el análisis de muchas respuestas.
De vez en cuando, deberá llamar a recursos remotos: recursos de sitios que no sean. Una forma ordinaria de hacerlo es haciendo solicitudes HTTP para la información que necesita. Este capítulo explica HTTP y analiza la API HTTP WordPress.
Comprensión de HTTP Web Works a través de HTTP: Protocolo de transferencia de hipertexto. HTTP es un “protocolo”, un estilo establecido, solicitudes y respuestas entre computadoras. Así es como dos computadoras “se dan la mano” y transfieren datos entre sí. ¿Qué transferencias? Transfieren “hipertexto”, que significa html. (Tenga en cuenta que HTML significa “lenguaje de marcado de hipertexto”). Por lo tanto, HTTP es un estándar acordado por el cual HTML se envía hacia adelante y hacia atrás entre las computadoras. Debido a que HTML moverse entre computadoras se trata de lo que es Web, HTTP es absolutamente esencial para su funcionamiento.
Para sentirse cómodo con las API HTTP, deberá comprender un poco sobre HTTP en sí, en primer lugar, que existen diferentes métodos HTTP y se utilizan para diferentes fines. HTTP tiene ocho métodos en total, pero para trabajar con la API HTTP de WordPress, necesitamos saber solo tres: obtener, cabeza y publicar.
Get Get es probablemente el método HTTP más común y familiar. Obtener solicitudes son cómo recupera un recurso HTTP, incluido su cuerpo principal. Cada vez que su navegador visita una página web como https://wshout.com, realmente envía una solicitud GET al servidor del sitio web.
En general, las solicitudes de Geta solo toman información: el servidor no debe crear, modificar ni destruir información en el proceso de servir una solicitud GET.
Head Head es una solicitud de Geta, en la que no desea el cuerpo real del recurso. Si solo recopila metadatos sobre los sitios web, por ejemplo, puede hacer una solicitud principal en https://wshout.com y recibir una respuesta en cuanto a un Get, pero sin el cuerpo que contiene toda la información real. contenido. (Descubriría, por ejemplo, qué esquema de codificación de caracteres usa wpshout. Una lista completa está en especificaciones http en: http://www.w3.org/protacols/rfc2616/rfc2616-sec14.html.)post para crear un Solicitud HTTP con “Efectos secundarios”, para que el servidor guarde los datos en la base de datos, por ejemplo, el método más común es la publicación. Una solicitud Get es un simple “¿Puedo tener esto?” Una publicación es más elaborada: “Ofrezco una cierta cantidad de información para hacer algo (como guardar en una base de datos), y después de hacer esto, me gustaría información”. Si completa un formulario, publique un nuevo tweet o se registre en una ubicación, una capa de software en algún lugar probablemente lo convierta en una solicitud de trabajo.
WordPress API HTTP API HTTP WordPress ofrece características simples de PHP para realizar solicitudes HTTP y administrar resultados HTTP.
La API HTTP WordPress ofrece algunas funciones de PHP simples y “WordPress-Y” que le permiten realizar solicitudes HTTP y administrar las respuestas apropiadas. Estas funciones son de dos tipos:
Funciones de solicitud: funciones que realizan solicitudes HTTP
Gerentes de respuesta: funciones que lo ayudan a comprender las respuestas que recibe
En la práctica, primero usará las funciones de solicitud, luego enviará los resultados de devolución a los manipuladores de respuesta.
Funciones de solicitud Las funciones de solicitud HTTP le permiten hacer Geta, Post y Head (así como solicitudes de métodos HTTP menos ordinarios). Se llaman constantemente: wp_remote_get () es para las solicitudes get
wp_remote_post () es para solicitudes postales
wp_remote_head () es para dirigirse a
Las primeras tres funciones son usos ligeramente especializados de una cuarta función, wp_remote_request (), que puede hacer cualquier tipo de solicitud HTTP. Las cuatro funciones tienen los mismos dos argumentos:
Una url
Una matriz asociativa de parámetros opcionales
Entonces se ve así: function_name ($ url, $ args); .
Un ejemplo: crear una solicitud GET para obtener la página de inicio de WPShout, puede usar wp_remote_get ()::
/ * Entorno: estamos en las funciones de un tema.php, o un archivo de complemento */ $ args = array (‘timeout’ => 10); $ respuesta = wp_remote_get (‘https://wshout.com’, $ args); O puede usar wp_remote_request () para hacer exactamente lo mismo:
/ * Entorno: estamos en las funciones de un tema.php, o en un archivo de complemento */ $ args = array (‘método’ => ‘get’, ‘timeout’ => 10); $ respuesta = wp_remote_request (‘https://wshout.com’, $ args);
Ambos ejemplos de código hacen exactamente lo mismo: hago una solicitud que HTTP obtenga para la página de inicio de WPShout y guarda la respuesta HTTP resultante a la variable de respuesta $. Para mostrarle el funcionamiento de $ Args, especificamos un parámetro opcional: Tiempo de espera. Este parámetro toma un entero y le permite especificar cuánto tiempo, en segundos, desea esperar la respuesta antes de que la solicitud simplemente devuelva un error. Por lo tanto, ambos ejemplos anteriores esperarán 10 segundos antes de que expire el tiempo, en lugar del valor predeterminado de 5. La matriz $ args puede tomar otros parámetros, como los siguientes: ‘redirigir’ toma un entero y permitirle especificar cuántos Redirecciones, si las hay, aceptará.
‘Bloqueo’ toma un booleano y dicta si desea o no algo más en la ejecución del script para esperar a su solicitud.

‘Sslverify’ toma un booleano y dicta si la respuesta se rechaza si el certificado de seguridad SSL no es válido.
La lista completa de argumentos está en Codex, en: http://codex.wordpress.org/http_ap#other_arguses.
Administrar la respuesta HTTP con funciones de ayuda Lo que recibe de la familia de funciones wp_remote_request () es una respuesta HTTP, transmitida como una matriz PHP estructurada.
Por lo general, puede usar las funciones de ayuda de WordPress para encontrar lo que desea en esta matriz de respuesta sin tener que recordar su estructura completa.
Lista parcial de funciones de ayuda Todas estas funciones toman la respuesta HTTP en sí misma como su primer argumento (y, solo para todos, excepto wp_remote_retriet_header ()). Esta respuesta es el resultado de la función de solicitud HTTP, que guardé como la respuesta variable $ en los ejemplos de código En el caso de la solicitud que hice anteriormente a https://wpshout.com, recibirá todo el código HTML que el navegador usa para reproducir esa página.
wp_remote_rethrieve_header requiere un segundo parámetro de función: el nombre del encabezado HTTP que desea de la respuesta, como ‘host’ o ‘autorización’.
wp_remote_rethrieve_headers: tenga en cuenta la final “s”; Esto devuelve una matriz PHP con todos los encabezados HTTP contenidos en respuesta.
wp_remote_rethrieve_revonse_code: le dará el código numérico de estado HTTP, como 404 o 200 o 501. Si la solicitud ha tenido éxito, generalmente estará en los 200S; Si estabas equivocado, estará en los años 400; Y si el servidor está confundido, debería estar en los 500.
wp_remote_rethrieve_revonse_message es útil si los números son desalentadores. Traducirá ese número en una versión de texto, como “no autorizado” en lugar de 401.
Un ejemplo: obtener el contenido de una página con wp_remote_rethrieve_body () Este ejemplo reanuda el lugar donde usamos wp_remote_get () arriba: tenemos los resultados de una geta hecha a https://wpshout.com. Dejaremos ese código en el siguiente ejemplo para mostrarle cómo se ajusta todo. El ejemplo hace algo estúpido, pero funcional: cuente siempre que la palabra “WordPress” aparezca en el código HTML completo de la página de inicio de WPShout. Si pegue la función a continuación en un archivo complemento o functions.php y luego llama a la función en sí con echo count_wordpress_on_wpshout_homepage (); , su navegador mostrará un número (54, la última vez que revisé) ./* Entorno: estamos en las funciones de un tema.php, o un archivo de complemento */ // cuenta cuántas veces el HTML de la página de inicio de WPShout incluida La palabra “WordPress” function count_wordpress_on_wpshout_homepage () {$ args = array (‘timeOut’ => 10); $ respuesta = wp_remote_get (‘https://wshout.com’, $ args); // Verifique el error if (is_wp_error ($ respuesta)) {return; } // PARSE REMOTO HTML FILE $ WPSHOUT_HOMEPAGE_HTML = WP_REMOTE_RETRIEVE_BODY ($ respuesta); // Verifique el error if (is_wp_error ($ wpshout_homepage_html)) {return; } // Cuenta las instancias de “WordPress” en el html $ count = sust_count ($ wpshout_homepage_html, ‘wordpress’); devolver $ cuenta; }
Es poco probable que las notas sobre este ejemplo necesiten contar los usos de “WordPress” en muchos sitios, pero los métodos HTTP que hemos presentado aquí son muy útiles para analizar otros sitios web. Además de los usos similares de “scraper web”, que la tendencia a ser semifibrita, estos métodos HTTP son los más útiles en el conjunto de casos que comenzaremos a explorar en el siguiente capítulo: Trabajar con las formas formales de APIS HTTP Para exponer los datos del sitio proporcionados por servicios como Facebook, Twitter y Oxford English Dictionary … y otros sitios de WordPress! ¿Por qué no usar los métodos PHP predeterminados para realizar solicitudes HTTP? PHP tiene varias formas de realizar solicitudes HTTP. ¿Por qué usar WordPress? Como de costumbre, la respuesta es que hacer cosas “en el camino de WordPress” tiene beneficios. WordPress vio, recibió informes de error y se probó en lucha contra un número masivo de servidores, configuraciones de alojamiento y hosts mixtos. Las funciones de WordPress tienen soluciones alternativas y alternativas para muchas de estas situaciones. Como desarrollador de WordPress, es bueno aprovechar esa flexibilidad acumulada “funciona en cualquier lugar”.
Lo que aprendí espero que esto te haya dado una buena idea de cuál es la API HTTP WordPress y cómo usarla. Puede usar esta API para obtener cualquier cosa, desde la página de inicio de WPShout hasta una tarea útil en Twitter: el límite es el cielo.
Resumen Limerick para hablar con sitios remotos, pruebe la API HTTP: para la solicitud de análisis y respuestas, es lo mejor, y sus funciones son simples como un pastel.
¡El momento de la prueba!
Una solicitud HTTP remota sería la solución correcta para: un complemento para “publicaciones recientes”.
Un complemento para “publicaciones recientes en Facebook”.
Un complemento de “agregado de blog” dirigido a otros sitios de WordPress
La siguiente solicitud HTTP es buena para causar cambios de estado, como escribir en una base de datos:
Obtener
Cabeza

CORREO
De las siguientes funciones de gestión de respuestas, requiere un segundo argumento:
wp_remote_rethrieve_heer ()
wp_remote_rethrieve_headers ()
wp_remote_rethrieve_body ()
Respuestas y explicaciones
B. A no está “a distancia”, y que probablemente se manejaría mejor utilizando un lector de flujo RSS.
C. Obtenga y la cabeza simplemente debe recuperar información sin cambiar la condición.
A. El segundo argumento es el encabezado deseado, como ‘anfitrión’.
homefinance blog