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()y wp_remote_post()en:

  • Shortcodes personalizados.
  • Funciones de tus plugins.
  • Hooks como wp_ajax_ o rest_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.

 

0 0 votes
Article Rating
Subscribe
Notify of
guest
0 Comments
Oldest
Newest Most Voted
Back to Top
0
Would love your thoughts, please comment.x
()
x