Cómo usar HTTP Requests en WordPress: Guía práctica con ejemplos
Cuando desarrollamos plugins o temas para WordPress, es común tener que conectarse a servicios externos para obtener o enviar información. Esto se hace mediante HTTP requests o solicitudes HTTP. En este artículo te explicamos qué son, cómo funcionan en WordPress y te mostramos ejemplos prácticos para que los apliques en tus proyectos.
¿Qué es una HTTP request?
Una HTTP request es una petición que hace tu sitio web a otro servidor. Por ejemplo, si tu plugin necesita mostrar el clima, podría enviar una solicitud a una API meteorológica como OpenWeatherMap y obtener la respuesta en formato JSON.
En WordPress, esto se puede hacer fácilmente usando funciones como wp_remote_get()y wp_remote_post().
¿Por qué usar las funciones nativas de WordPress?
Aunque podrías usar cURL o file_get_contents(), WordPress ya incluye su propio sistema HTTP que es:
- Compatible con varios entornos (cURL, fopen, fsockopen, etc.).
- Seguro (maneja errores, redirecciones, SSL, etc.).
- Fácil de usar.
Cómo hacer un GET request en WordPress
El método GET se usa para obtener información de un servidor externo. Por ejemplo, obtener datos de una API.
Ejemplo:
Puedes usar esta función en un shortcode o hook para mostrar el clima en tu sitio.
Cómo hacer un POST request en WordPress
El método POST se usa para enviar datos a un servidor, por ejemplo, para enviar formularios o crear un recurso en una API.
Ejemplo:
'Juan Pérez', 'email' => 'juan@correo.com', 'message' => 'Hola, quiero más información.' ]; $response = wp_remote_post( $apiUrl, [ 'body' => json_encode( $payload ), 'headers' => [ 'Content-Type' => 'application/json', ], ]); if ( is_wp_error( $response ) ) { return 'No se pudo enviar el mensaje.'; } $body = wp_remote_retrieve_body( $response ); return 'Respuesta del servidor: ' . $body; }
Cómo manejar errores correctamente
Es muy importante validar la respuesta con
is_wp_error()antes de procesarla, para evitar que tu plugin falle si hay problemas de red o con el servidor remoto.También puedes obtener más detalles del error:
get_error_message(); return 'Error: ' . $errorMessage; }
Agregar autenticación (Bearer Token)
Si tu API requiere autenticación, puedes agregar un encabezado personalizado:
[ 'Authorization' => 'Bearer ' . $token, ], ]); if ( is_wp_error( $response ) ) { return 'Error al acceder a los datos.'; } return wp_remote_retrieve_body( $response ); }
¿Dónde usar estas funciones?
Puedes usar
wp_remote_get()ywp_remote_post()en:
- Shortcodes personalizados.
- Funciones de tus plugins.
- Hooks como
wp_ajax_orest_api_init. - Cron jobs (
wp_schedule_event()).
Las HTTP requests te permiten integrar tu sitio WordPress con otros servicios fácilmente. Gracias a las funciones nativas de WordPress, no necesitas depender de bibliotecas externas ni complicarte con cURL.
Ya sea que quieras consumir una API, enviar datos o autenticar usuarios, wp_remote_get()y wp_remote_post()te dan las herramientas necesarias para hacerlo de forma segura y sencilla.
