{"id":1878,"date":"2023-03-28T11:00:00","date_gmt":"2023-03-28T17:00:00","guid":{"rendered":"http:\/\/racmanuel.dev\/?p=1878"},"modified":"2023-03-28T10:48:58","modified_gmt":"2023-03-28T16:48:58","slug":"como-usar-guzzle-en-un-plugin-de-wordpress","status":"publish","type":"post","link":"https:\/\/racmanuel.dev\/en\/como-usar-guzzle-en-un-plugin-de-wordpress\/","title":{"rendered":"How to use Guzzle in a WordPress plugin?"},"content":{"rendered":"\n<p class=\"wp-block-paragraph\">En este tutorial, te mostrar\u00e9 c\u00f3mo usar Guzzle en un plugin de WordPress para realizar solicitudes HTTP.<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img fetchpriority=\"high\" decoding=\"async\" width=\"1880\" height=\"1250\" src=\"http:\/\/racmanuel.dev\/wp-content\/uploads\/pexels-photo-2882570.jpeg\" alt=\"close up shot of keyboard buttons\" class=\"wp-image-1919\" title=\"\" srcset=\"https:\/\/racmanuel.dev\/wp-content\/uploads\/pexels-photo-2882570.jpeg 1880w, https:\/\/racmanuel.dev\/wp-content\/uploads\/pexels-photo-2882570-600x399.jpeg 600w, https:\/\/racmanuel.dev\/wp-content\/uploads\/pexels-photo-2882570-300x199.jpeg 300w, https:\/\/racmanuel.dev\/wp-content\/uploads\/pexels-photo-2882570-1024x681.jpeg 1024w, https:\/\/racmanuel.dev\/wp-content\/uploads\/pexels-photo-2882570-768x511.jpeg 768w, https:\/\/racmanuel.dev\/wp-content\/uploads\/pexels-photo-2882570-1536x1021.jpeg 1536w\" sizes=\"(max-width: 1880px) 100vw, 1880px\" \/><figcaption class=\"wp-element-caption\">Photo by Miguel \u00c1. Padri\u00f1\u00e1n on <a href=\"https:\/\/www.pexels.com\/photo\/close-up-shot-of-keyboard-buttons-2882570\/\" rel=\"nofollow noopener\" target=\"_blank\">Pexels.com<\/a><\/figcaption><\/figure>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"paso-1-instalar-guzzle\"><span style=\"color: var(--theme-palette-color-8, #25ff00);\" class=\"stk-highlight\">Paso 1: Instalar Guzzle<\/span><\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Lo primero que necesitas hacer es instalar Guzzle en tu plugin de WordPress. Puedes hacer esto utilizando Composer, la herramienta de gesti\u00f3n de dependencias de PHP.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">En tu terminal, navega hasta la carpeta de tu plugin de WordPress y ejecuta el siguiente comando:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code lang=\"php\" class=\"language-php\">composer require guzzlehttp\/guzzle<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Esto descargar\u00e1 e instalar\u00e1 Guzzle en tu plugin de WordPress.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"paso-2-crear-un-archivo-php-para-realizar-solicitudes-http\"><span style=\"color: var(--theme-palette-color-8, #25ff00);\" class=\"stk-highlight\">Paso 2: Crear un archivo PHP para realizar solicitudes HTTP<\/span><\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Una vez que tengas Guzzle instalado en tu plugin de WordPress, es hora de crear un archivo PHP para realizar solicitudes HTTP. Puedes crear un nuevo archivo PHP en la carpeta de tu plugin de WordPress y llamarlo &#8220;http-request.php&#8221;.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">En el archivo &#8220;http-request.php&#8221;, necesitar\u00e1s agregar el siguiente c\u00f3digo:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code lang=\"php\" class=\"language-php\">&lt;?php\n\nrequire_once('\/path\/to\/vendor\/autoload.php'); \/\/ Reemplaza '\/path\/to\/vendor\/autoload.php' con la ruta correcta a tu archivo autoload.php\n\nuse GuzzleHttp\\Client;\n\n$client = new Client();\n\n$response = $client-&gt;request('GET', 'https:\/\/jsonplaceholder.typicode.com\/posts\/1');\n\necho $response-&gt;getBody();\n\n?&gt;\n<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">En este c\u00f3digo, estamos incluyendo el archivo autoload.php de Guzzle y luego creando un nuevo objeto de cliente de Guzzle. Luego, enviamos una solicitud GET a la URL <a href=\"https:\/\/jsonplaceholder.typicode.com\/posts\/1\" rel=\"nofollow noopener\" target=\"_blank\">https:\/\/jsonplaceholder.typicode.com\/posts\/1<\/a> y almacenamos la respuesta en la variable $response. Finalmente, imprimimos el cuerpo de la respuesta utilizando el m\u00e9todo &#8220;getBody()&#8221;.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"paso-3-agregar-un-shortcode-para-mostrar-la-respuesta\"><span style=\"color: var(--theme-palette-color-8, #25ff00);\" class=\"stk-highlight\">Paso 3: Agregar un shortcode para mostrar la respuesta<\/span><\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Una vez que hayas creado el archivo &#8220;http-request.php&#8221;, es hora de agregar un shortcode en WordPress para mostrar la respuesta en una p\u00e1gina o entrada.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Para hacer esto, puedes agregar el siguiente c\u00f3digo en el archivo functions.php de tu tema de WordPress:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code lang=\"php\" class=\"language-php\">function display_http_response() {\n    ob_start();\n    include('http-request.php');\n    return ob_get_clean();\n}\n\nadd_shortcode('http_response', 'display_http_response');\n<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Este c\u00f3digo define una funci\u00f3n llamada &#8220;display_http_response()&#8221; que carga el archivo &#8220;http-request.php&#8221; y devuelve su contenido utilizando el m\u00e9todo &#8220;ob_get_clean()&#8221;. Luego, agregamos un shortcode llamado &#8220;[http_response]&#8221; que llama a esta funci\u00f3n.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"paso-4-probar-el-shortcode\"><span style=\"color: var(--theme-palette-color-8, #25ff00);\" class=\"stk-highlight\">Paso 4: Probar el shortcode<\/span><\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Una vez que hayas agregado el shortcode, puedes probarlo creando una nueva p\u00e1gina o entrada en WordPress y agregando el shortcode &#8220;[http_response]&#8221;. Esto deber\u00eda mostrar la respuesta de la solicitud HTTP que realizaste en el archivo &#8220;http-request.php&#8221;.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"conclusion\"><span style=\"color: var(--theme-palette-color-8, #25ff00);\" class=\"stk-highlight\">Conclusi\u00f3n<\/span><\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Usar Guzzle en un plugin de WordPress es una forma \u00fatil de realizar solicitudes HTTP y recuperar datos de servicios externos. Siguiendo los pasos descritos en este tutorial, podr\u00e1s instalar Guzzle en tu plugin de WordPress, crear un archivo PHP para realizar solicitudes HTTP, agregar un shortcode para mostrar la respuesta y probar el shortcode. Si tienes problemas con la conexion, aseg\u00farate de revisar la documentaci\u00f3n de Guzzle para solucionarlos. \u00a1Buena suerte!<\/p>\n\n\n<style><\/style><style><\/style>\n<div class=\"wp-block-group is-layout-constrained wp-block-group-is-layout-constrained\">\n<div class=\"wp-block-group is-layout-constrained wp-block-group-is-layout-constrained\">\n<h4 class=\"wp-block-heading has-large-font-size\" id=\"necesitas-ayuda-con-un-proyecto-web\">\u00bfNecesitas ayuda con un proyecto web?<\/h4>\n\n\n\n<p class=\"wp-block-paragraph\">Si \u00bfNecesitas ayuda con alg\u00fan proyecto web? No dudes en contactarme desarrollo soluciones completas y personalizadas con WordPress y PHP, con herramientas y procesos modernos, utilizando HTML, CSS, SCSS, PHP, JavaScript, Bootstrap y m\u00e1s\u2026 Si \u00bfEst\u00e1s listo? \u00a1Env\u00edame un mensaje y hablemos de tu proyecto web!<\/p>\n\n\n<div class=\"wp-block-groundhogg-forms\">\n\t<div class=\"gh-form-wrapper\"><form method=\"post\" class=\"gh-form gh-form-v2\" target=\"_parent\" enctype=\"multipart\/form-data\" name=\"Formulario de Contacto\" id=\"gh-form-24\" data-id=\"24\"><div class=\"gh-form-fields\"><div class=\"gh-form-column col-1-of-2\"><label for=\"first_name\">Nombre <span class=\"required\">*<\/span><\/label><div class=\"gh-form-input-field\"><input type=\"text\" name=\"first_name\" id=\"first_name\" class=\"gh-input gh-first-name\" value=\"\" required\/><\/div><\/div><div class=\"gh-form-column col-1-of-2\"><label for=\"last_name\">Apellido(s) <span class=\"required\">*<\/span><\/label><div class=\"gh-form-input-field\"><input type=\"text\" name=\"last_name\" id=\"last_name\" class=\"gh-input gh-last-name\" value=\"\" required\/><\/div><\/div><div class=\"gh-form-column col-1-of-1\"><label for=\"email\">Correo electr\u00f3nico <span class=\"required\">*<\/span><\/label><div class=\"gh-form-input-field\"><input type=\"email\" name=\"email\" id=\"email\" class=\"gh-input gh-email\" value=\"\" required\/><\/div><\/div><div class=\"gh-form-column col-1-of-1\"><label for=\"primary_phone\">Tel\u00e9fono o WhatsApp <span class=\"required\">*<\/span><\/label><div class=\"gh-form-input-field\"><input type=\"tel\" name=\"primary_phone\" id=\"primary_phone\" class=\"gh-input\" value=\"\" required\/><\/div><\/div><div class=\"gh-form-column col-1-of-1\"><label for=\"nombre_de_tu_negocio_o_empresa\">Nombre de tu Negocio o Empresa<\/label><div class=\"gh-form-input-field\"><input type=\"text\" name=\"nombre_de_tu_negocio_o_empresa\" id=\"nombre_de_tu_negocio_o_empresa\" class=\"gh-input\" value=\"\"\/><\/div><\/div><div class=\"gh-form-column col-1-of-1\"><label for=\"link_de_tu_pagina_web\">Link de tu pagina web<\/label><div class=\"gh-form-input-field\"><input type=\"url\" name=\"link_de_tu_pagina_web\" id=\"link_de_tu_pagina_web\" class=\"gh-input\" value=\"\" placeholder=\"Si tu negocio o empresa tiene p\u00e1gina web ingresa aqu\u00ed el link.\"\/><\/div><\/div><div class=\"gh-form-column col-1-of-1\"><label for=\"question_type\">\u00bfQu\u00e9 tipo de pregunta tienes? <span class=\"required\">*<\/span><\/label><div class=\"gh-form-input-field\"><select name=\"question_type\" id=\"question_type\" class=\"gh-input\" required><option value=\"Cotizaci\u00f3n\">Cotizaci\u00f3n<\/option><option value=\"General\">General<\/option><option value=\"Soporte\">Soporte<\/option><\/select><\/div><\/div><div class=\"gh-form-column col-1-of-1\"><label for=\"message\">Pregunta <span class=\"required\">*<\/span><\/label><div class=\"gh-form-input-field\"><textarea name=\"message\" id=\"message\" class=\"gh-input\" rows=\"7\" placeholder=\"Tu pregunta o duda...\" type=\"text\" required><\/textarea><\/div><\/div><div class=\"gh-form-column col-1-of-1\"><div class=\"consent gh-gdpr\" id=\"gdpr_consent\"><div ><label class=\"gh-checkbox-label\"><input type=\"checkbox\" name=\"data_processing_consent\" id=\"data-processing-consent\" class=\"\" value=\"yes\" required\/><span class=\"checkbox-label\">I agree to racmanuel.dev&#8217;s storage and processing of my personal data. <span class=\"required\">*<\/span><\/span><\/label><\/div><div ><label class=\"gh-checkbox-label\"><input type=\"checkbox\" name=\"marketing_consent\" id=\"marketing-consent\" class=\"\" value=\"yes\"\/><span class=\"checkbox-label\">I agree to receive marketing offers and updates from racmanuel.dev.<\/span><\/label><\/div><\/div><\/div><div class=\"gh-form-column col-1-of-3\"><button type=\"submit\" class=\"gh-submit gh-button primary\" value=\"\">\u00a1P\u00f3ngase en contacto!<\/button><\/div><\/div><\/form><\/div><\/div>\n<\/div>\n<\/div>\n","protected":false},"excerpt":{"rendered":"<p>Usar Guzzle en un plugin de WordPress es una forma \u00fatil de realizar solicitudes HTTP y recuperar datos de servicios externos. Siguiendo los pasos descritos en este tutorial, podr\u00e1s instalar Guzzle en tu plugin de WordPress, crear un archivo PHP para realizar solicitudes HTTP, agregar un shortcode para mostrar la respuesta y probar el shortcode.<\/p>","protected":false},"author":1,"featured_media":1920,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"_gspb_post_css":"","_glsr_average":0,"_glsr_ranking":0,"_glsr_reviews":0,"footnotes":""},"categories":[48],"tags":[42],"niveles":[39],"class_list":["post-1878","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-tutoriales","tag-wordpress","niveles-avanzado"],"blocksy_meta":[],"acf":[],"_links":{"self":[{"href":"https:\/\/racmanuel.dev\/en\/wp-json\/wp\/v2\/posts\/1878","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/racmanuel.dev\/en\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/racmanuel.dev\/en\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/racmanuel.dev\/en\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/racmanuel.dev\/en\/wp-json\/wp\/v2\/comments?post=1878"}],"version-history":[{"count":3,"href":"https:\/\/racmanuel.dev\/en\/wp-json\/wp\/v2\/posts\/1878\/revisions"}],"predecessor-version":[{"id":1921,"href":"https:\/\/racmanuel.dev\/en\/wp-json\/wp\/v2\/posts\/1878\/revisions\/1921"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/racmanuel.dev\/en\/wp-json\/wp\/v2\/media\/1920"}],"wp:attachment":[{"href":"https:\/\/racmanuel.dev\/en\/wp-json\/wp\/v2\/media?parent=1878"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/racmanuel.dev\/en\/wp-json\/wp\/v2\/categories?post=1878"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/racmanuel.dev\/en\/wp-json\/wp\/v2\/tags?post=1878"},{"taxonomy":"niveles","embeddable":true,"href":"https:\/\/racmanuel.dev\/en\/wp-json\/wp\/v2\/niveles?post=1878"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}