{"id":28027,"date":"2021-05-19T10:21:00","date_gmt":"2021-05-19T07:21:00","guid":{"rendered":"https:\/\/themewp.inform.click\/?p=28027"},"modified":"2021-10-17T16:58:46","modified_gmt":"2021-10-17T13:58:46","slug":"como-mostrar-productos-relacionados-con-la-api-rest-de-woocommerce","status":"publish","type":"post","link":"https:\/\/themewp.inform.click\/es\/como-mostrar-productos-relacionados-con-la-api-rest-de-woocommerce\/","title":{"rendered":"C\u00f3mo mostrar productos relacionados con la API REST de WooCommerce"},"content":{"rendered":"<p>Cuando se trata de tiendas en l\u00ednea, es obvio mostrar productos relacionados en la p\u00e1gina de detalles de un solo producto. Ayuda a sus clientes a mostrar productos similares que tal vez quieran comprar. Tambi\u00e9n aumenta la participaci\u00f3n de los usuarios en su sitio web. A medida que los clientes pasan m\u00e1s tiempo en su tienda, hay m\u00e1s posibilidades de que compren sus productos. En este art\u00edculo, le muestro c\u00f3mo mostrar productos relacionados utilizando la API REST de WooCommerce.<\/p>\n<p>En este tutorial, buscar\u00e9 todos los productos relacionados con el producto actual y luego los mostrar\u00e9. Tambi\u00e9n vinculo cada producto a su p\u00e1gina de detalles.<\/p>\n<p>El ejemplo explicado en este art\u00edculo tambi\u00e9n se puede aplicar al sitio web de WooCommerce. Se puede utilizar esta t\u00e9cnica y mostrar productos relacionados sin utilizar ning\u00fan complemento. Le dar\u00e1 m\u00e1s control sobre el dise\u00f1o y el marcado de la p\u00e1gina de su producto.<\/p>\n<h3>Obtenga su clave de consumidor y su secreto de consumidor<\/h3>\n<p>Cuando decide comenzar con la API REST de WooCommerce, primero debe obtener su clave de consumidor y su secreto de consumidor. Estas claves son la identificaci\u00f3n de la tienda y son necesarias al realizar una llamada a la API de WooCommerce. Puede leer m\u00e1s sobre esto en su <a href=\"https:\/\/woocommerce.github.io\/woocommerce-rest-api-docs\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">documentaci\u00f3n<\/a>.<\/p>\n<p>Primero, instale el complemento WooCommerce en su sitio web. Luego dir\u00edgete a la p\u00e1gina <strong>WooCommerce-&gt; Configuraci\u00f3n<\/strong>. Haga clic en la pesta\u00f1a Avanzado y luego en el enlace API REST.<\/p>\n<p><a href=\"https:\/\/themewp.inform.click\/wp-content\/uploads\/2021\/04\/post-20557-608204b1b4391.png\" data-rel=\"lightbox\"><img decoding=\"async\" class=\"SDStudio-light-box-enable SDStudio-editor-tools-md-imp\" src=\"https:\/\/themewp.inform.click\/wp-content\/uploads\/2021\/04\/post-20557-608204b1b4391.png\" alt=\"C\u00f3mo mostrar productos relacionados con la API REST de WooCommerce\" ><\/a><\/p>\n<p>En esta p\u00e1gina, haga clic en el bot\u00f3n &#8216;Crear una clave API&#8217;.<\/p>\n<p><a href=\"https:\/\/themewp.inform.click\/wp-content\/uploads\/2021\/04\/post-20557-608204b21fb3e.png\" data-rel=\"lightbox\"><img decoding=\"async\" class=\"SDStudio-light-box-enable SDStudio-editor-tools-md-imp\" src=\"https:\/\/themewp.inform.click\/wp-content\/uploads\/2021\/04\/post-20557-608204b21fb3e.png\" alt=\"C\u00f3mo mostrar productos relacionados con la API REST de WooCommerce\" ><\/a><\/p>\n<p>Ingrese la descripci\u00f3n, elija el permiso &#8216;Leer&#8217; y presione el bot\u00f3n Generar clave API. Tambi\u00e9n puede elegir el permiso &#8216;Lectura \/ Escritura&#8217;. Depende de su requerimiento. Si solo necesita leer datos de WooCommerce, elija la opci\u00f3n &#8216;Leer&#8217;. Y si desea realizar operaciones de lectura y escritura, su opci\u00f3n obvia es &#8216;Leer \/ Escribir&#8217;. Aqu\u00ed nos dirigimos solo a productos relacionados, por lo que el permiso de &quot;lectura&quot; es suficiente.<\/p>\n<p><a href=\"https:\/\/themewp.inform.click\/wp-content\/uploads\/2021\/04\/post-20557-608204b2947e2.png\" data-rel=\"lightbox\"><img decoding=\"async\" class=\"SDStudio-light-box-enable SDStudio-editor-tools-md-imp\" src=\"https:\/\/themewp.inform.click\/wp-content\/uploads\/2021\/04\/post-20557-608204b2947e2.png\" alt=\"C\u00f3mo mostrar productos relacionados con la API REST de WooCommerce\" ><\/a><\/p>\n<p>Copie su clave de consumidor y su secreto de consumidor, que ser\u00e1n necesarios al realizar llamadas a la API.<\/p>\n<p><a href=\"https:\/\/themewp.inform.click\/wp-content\/uploads\/2021\/04\/post-20557-608204b2947e2.png\" data-rel=\"lightbox\"><img decoding=\"async\" class=\"SDStudio-light-box-enable SDStudio-editor-tools-md-imp\" src=\"https:\/\/themewp.inform.click\/wp-content\/uploads\/2021\/04\/post-20557-608204b2947e2.png\" alt=\"C\u00f3mo mostrar productos relacionados con la API REST de WooCommerce\" ><\/a><\/p>\n<h3>API REST de WooCommerce para obtener productos relacionados<\/h3>\n<p>Una vez que est\u00e9 listo con su clave de consumidor y su secreto de consumidor, podemos comenzar con el c\u00f3digo que da una llamada API al punto final de WooCommerce. Como primero necesitamos buscar productos relacionados, necesitamos obtener los datos de un solo producto a trav\u00e9s de la API. Esto se debe a que normalmente mostramos nuestros productos similares en la p\u00e1gina de un solo producto.<\/p>\n<p>Como necesitamos enviar solicitudes HTTP, instale la biblioteca Guzzle usando el siguiente comando.<\/p>\n<pre><code>composer require guzzlehttp\/guzzle<\/code><\/pre>\n<p>Guzzle es un cliente HTTP de PHP que facilita el env\u00edo de solicitudes HTTP y simplifica la integraci\u00f3n con los servicios web.<\/p>\n<p>Finalmente, escribamos un c\u00f3digo para obtener un solo producto y luego sus productos relacionados. Cuando WooCommerce devuelve los datos del producto, en respuesta tambi\u00e9n contiene la clave &#8216;related_ids&#8217; junto con los valores. Estos valores no son m\u00e1s que identificadores de productos relacionados. Entonces, en contexto con esto, nuestro c\u00f3digo PHP ser\u00e1 el siguiente.<\/p>\n<pre><code>&lt;?php\nrequire_once \"vendor\/autoload.php\";\n\u00a0\u00a0\nuse GuzzleHttpClient;\n\u00a0\ndefine('WC_CONSUMER_KEY', 'PASTE_CONSUMER_KEY_HERE');\ndefine('WC_CONSUMER_SECRET', 'PASTE_CONSUMER_SECRET_HERE');\n\u00a0\u00a0\n$client = new Client([\n\u00a0\u00a0\u00a0\u00a0\/\/ Base URI is used with relative requests\n\u00a0\u00a0\u00a0\u00a0'base_uri' =&gt; 'YOUR_DOMAIN_BASE_URL',\n]);\n\u00a0\ntry {\n\u00a0\u00a0\u00a0\u00a0$response = $client-&gt;request('GET', '\/wp-json\/wc\/v3\/products\/PRODUCT_ID_HERE', [\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0'headers' =&gt; [\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\"Authorization\" =&gt; \"Basic \". base64_encode(WC_CONSUMER_KEY.':'.WC_CONSUMER_SECRET)\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0],\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0'verify' =&gt; false, \/\/only needed if you are facing SSL certificate issue\n\u00a0\u00a0\u00a0\u00a0]);\n\u00a0\u00a0\u00a0\u00a0\u00a0\n\u00a0\u00a0\u00a0\u00a0$body = $response-&gt;getBody();\n\u00a0\u00a0\u00a0\u00a0$arr_body = json_decode($body);\n\u00a0\n\u00a0\u00a0\u00a0\u00a0$response = $client-&gt;request('GET', '\/wp-json\/wc\/v3\/products', [\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0'headers' =&gt; [\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\"Authorization\" =&gt; \"Basic \". base64_encode(WC_CONSUMER_KEY.':'.WC_CONSUMER_SECRET)\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0],\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0'query' =&gt; [\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0'include' =&gt; $arr_body-&gt;related_ids,\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0],\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0'verify' =&gt; false,\n\u00a0\u00a0\u00a0\u00a0]);\n\u00a0\u00a0\u00a0\u00a0\u00a0\n\u00a0\u00a0\u00a0\u00a0$body = $response-&gt;getBody();\n\u00a0\u00a0\u00a0\u00a0$arr_products = json_decode($body);\n\u00a0\n\u00a0\u00a0\u00a0\u00a0if (!empty($arr_products)) {\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0foreach ($arr_products as $product) {\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0?&gt;\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0&lt;p&gt;\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0&lt;a href=\"&lt;?php echo $product-&gt;permalink; ?&gt;\"&gt;&lt;?php echo $product-&gt;name; ?&gt;&lt;\/a&gt;\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0&lt;\/p&gt;\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0&lt;?php\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0}\n\u00a0\u00a0\u00a0\u00a0}\n} catch (Exception $e) {\n\u00a0\u00a0\u00a0\u00a0echo $e-&gt;getMessage();\n}<\/code><\/pre>\n<p>Reemplace el marcador de posici\u00f3n &#8216;PRODUCT_ID_HERE&#8217; con el valor real. En el c\u00f3digo anterior, estoy pasando el par\u00e1metro &#8216;incluye&#8217; como una matriz con related_ids. WooCommerce, en respuesta, nos da todos los detalles sobre los productos. Luego lo recorremos y mostramos el t\u00edtulo del producto y su enlace. El usuario tambi\u00e9n puede imprimir los dem\u00e1s datos de la respuesta.<\/p>\n<h4>Art\u00edculos relacionados<\/h4>\n<ul>\n<li><a href=\"https:\/\/themewp.inform.click\/es\/una-guia-rapida-sobre-la-api-rest-de-woocommerce\/\" title=\"Una gu\u00eda r\u00e1pida sobre la API REST de WooCommerce\">Una gu\u00eda r\u00e1pida sobre la API REST de WooCommerce<\/a><\/li>\n<li><a href=\"https:\/\/themewp.inform.click\/es\/personalice-la-busqueda-de-productos-de-woocommerce-en-su-sitio-de-wordpress\/\" title=\"C\u00f3mo personalizar la b\u00fasqueda de productos de WooCommerce en su sitio de WordPress\">C\u00f3mo personalizar la b\u00fasqueda de productos de WooCommerce en su sitio de WordPress<\/a><\/li>\n<\/ul>\n<p><div id=\"PostUnique_PostSource\" style=\"padding-top: 50px\">Fuente de grabaci\u00f3n:  <a target=\"_blank\" rel=\"noopener nofollow\" href=\"\/\/artisansweb.net\" class=\"external external_icon\">artisansweb.net<\/a><\/div><\/p>\n","protected":false},"excerpt":{"rendered":"<p>\u00bfEst\u00e1 buscando mostrar productos relacionados en su tienda en l\u00ednea que se basan en WooCommerce? En este art\u00edculo, le mostramos c\u00f3mo usar una API para mostrar relaciones<\/p>\n","protected":false},"author":1,"featured_media":20723,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":"","_wp_rev_ctl_limit":""},"categories":[310,606],"tags":[849],"class_list":["post-28027","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-base-de-datos","category-uncategorized-2","tag-affiai-es"],"_links":{"self":[{"href":"https:\/\/themewp.inform.click\/es\/wp-json\/wp\/v2\/posts\/28027","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/themewp.inform.click\/es\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/themewp.inform.click\/es\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/themewp.inform.click\/es\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/themewp.inform.click\/es\/wp-json\/wp\/v2\/comments?post=28027"}],"version-history":[{"count":0,"href":"https:\/\/themewp.inform.click\/es\/wp-json\/wp\/v2\/posts\/28027\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/themewp.inform.click\/es\/wp-json\/wp\/v2\/media\/20723"}],"wp:attachment":[{"href":"https:\/\/themewp.inform.click\/es\/wp-json\/wp\/v2\/media?parent=28027"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/themewp.inform.click\/es\/wp-json\/wp\/v2\/categories?post=28027"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/themewp.inform.click\/es\/wp-json\/wp\/v2\/tags?post=28027"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}