{"id":27582,"date":"2021-05-19T09:51:00","date_gmt":"2021-05-19T06:51:00","guid":{"rendered":"https:\/\/themewp.inform.click\/?p=27582"},"modified":"2021-10-18T04:11:13","modified_gmt":"2021-10-18T01:11:13","slug":"como-exibir-produtos-relacionados-usando-woocommerce-rest-api","status":"publish","type":"post","link":"https:\/\/themewp.inform.click\/pt-pt\/como-exibir-produtos-relacionados-usando-woocommerce-rest-api\/","title":{"rendered":"Como exibir produtos relacionados usando WooCommerce REST API"},"content":{"rendered":"<p>Quando se trata de lojas online, \u00e9 \u00f3bvio mostrar produtos relacionados na p\u00e1gina de detalhes do produto \u00fanico. Ajuda seus clientes a mostrar produtos semelhantes que talvez queiram comprar. Ele tamb\u00e9m aumenta o engajamento do usu\u00e1rio em seu site. Quanto mais tempo os clientes gastam em sua loja, maiores s\u00e3o as chances de eles comprarem seus produtos. Neste artigo, mostrarei como mostrar produtos relacionados usando a API REST WooCommerce.<\/p>\n<p>Neste tutorial, vou buscar todos os produtos relacionados ao produto atual e, em seguida, exibi-los. Tamb\u00e9m vinculo cada produto \u00e0 sua p\u00e1gina de detalhes.<\/p>\n<p>O exemplo explicado neste artigo tamb\u00e9m pode ser aplicado ao site WooCommerce. Pode-se usar essa t\u00e9cnica e exibir produtos relacionados sem usar nenhum plugin. Isso lhe dar\u00e1 mais controle sobre o design e a marca\u00e7\u00e3o da p\u00e1gina do produto.<\/p>\n<h3>Obtenha sua chave e segredo do consumidor<\/h3>\n<p>Quando voc\u00ea decide come\u00e7ar com a API REST do WooCommerce, primeiro voc\u00ea precisa obter sua chave e segredo do consumidor. Essas chaves s\u00e3o a identifica\u00e7\u00e3o da loja e s\u00e3o necess\u00e1rias ao fazer uma chamada para a API WooCommerce. Voc\u00ea pode ler mais sobre isso em sua <a href=\"https:\/\/woocommerce.github.io\/woocommerce-rest-api-docs\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">documenta\u00e7\u00e3o<\/a>.<\/p>\n<p>Primeiro, instale o plug-in WooCommerce em seu site. Em seguida, v\u00e1 para a p\u00e1gina <strong>WooCommerce-&gt; Configura\u00e7\u00f5es<\/strong>. Clique na guia Avan\u00e7ado e, em seguida, no link REST API.<\/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=\"Como exibir produtos relacionados usando WooCommerce REST API\" ><\/a><\/p>\n<p>Nesta p\u00e1gina, clique no bot\u00e3o &#8216;Criar uma chave 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=\"Como exibir produtos relacionados usando WooCommerce REST API\" ><\/a><\/p>\n<p>Insira a descri\u00e7\u00e3o, escolha a permiss\u00e3o &#8216;Ler&#8217; e clique no bot\u00e3o Gerar chave de API. Voc\u00ea tamb\u00e9m pode escolher a permiss\u00e3o &#8216;Ler \/ Gravar&#8217;. Depende de sua necessidade. Se voc\u00ea s\u00f3 precisa ler os dados do WooCommerce, escolha a op\u00e7\u00e3o &#8216;Ler&#8217;. E se voc\u00ea deseja fazer opera\u00e7\u00f5es de leitura e grava\u00e7\u00e3o, sua op\u00e7\u00e3o \u00f3bvia \u00e9 &#8216;Ler \/ Gravar&#8217;. Aqui, estamos almejando apenas produtos relacionados, portanto, a permiss\u00e3o &#8216;Ler&#8217; \u00e9 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=\"Como exibir produtos relacionados usando WooCommerce REST API\" ><\/a><\/p>\n<p>Copie a chave e o segredo do consumidor que ser\u00e3o necess\u00e1rios ao fazer chamadas de 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=\"Como exibir produtos relacionados usando WooCommerce REST API\" ><\/a><\/p>\n<h3>WooCommerce REST API para obter produtos relacionados<\/h3>\n<p>Quando voc\u00ea estiver pronto com sua chave e segredo do consumidor, podemos come\u00e7ar com o c\u00f3digo que fornece uma chamada de API para o endpoint WooCommerce. Como precisamos buscar produtos relacionados primeiro, precisamos obter os dados de um \u00fanico produto por meio da API. Isso ocorre porque normalmente exibimos nossos produtos semelhantes na p\u00e1gina de um \u00fanico produto.<\/p>\n<p>Como precisamos enviar solicita\u00e7\u00f5es HTTP, instale a biblioteca Guzzle usando o comando abaixo.<\/p>\n<pre><code>composer require guzzlehttp\/guzzle<\/code><\/pre>\n<p>Guzzle \u00e9 um cliente PHP HTTP que torna f\u00e1cil o envio de solicita\u00e7\u00f5es HTTP e trivial para integra\u00e7\u00e3o com servi\u00e7os da web.<\/p>\n<p>Finalmente, vamos escrever um c\u00f3digo para obter um \u00fanico produto e, em seguida, seus produtos relacionados. Quando WooCommerce retorna os dados do produto, em resposta ele tamb\u00e9m cont\u00e9m a chave &#8216;related_ids&#8217; junto com os valores. Esses valores nada mais s\u00e3o do que ids de produtos relacionados. Portanto, no contexto disso, nosso c\u00f3digo PHP ser\u00e1 o seguinte.<\/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>Substitua o espa\u00e7o reservado &#8216;PRODUCT_ID_HERE&#8217; pelo valor real. No c\u00f3digo acima, estou passando o par\u00e2metro &#8216;includes&#8217; como uma matriz com os related_ids. Em resposta, WooCommerce nos d\u00e1 todos os detalhes sobre os produtos. Em seguida, fazemos um loop e exibimos o t\u00edtulo do produto e seu link. O usu\u00e1rio tamb\u00e9m pode imprimir os outros dados da resposta.<\/p>\n<h4>Artigos relacionados<\/h4>\n<ul>\n<li><a href=\"https:\/\/themewp.inform.click\/pt-pt\/um-guia-rapido-sobre-woocommerce-rest-api\/\" title=\"Um guia r\u00e1pido sobre WooCommerce REST API\">Um guia r\u00e1pido sobre WooCommerce REST API<\/a><\/li>\n<li><a href=\"https:\/\/themewp.inform.click\/pt-pt\/personalize-a-pesquisa-de-produtos-woocommerce-em-seu-site-wordpress\/\" title=\"Como personalizar a pesquisa de produtos WooCommerce em seu site WordPress\">Como personalizar a pesquisa de produtos WooCommerce em seu site WordPress<\/a><\/li>\n<\/ul>\n<p><div id=\"PostUnique_PostSource\" style=\"padding-top: 50px\">Fonte de grava\u00e7\u00e3o:  <a target=\"_blank\" rel=\"noopener nofollow\" href=\"\/\/artisansweb.net\" class=\"external external_icon\">artisansweb.net<\/a><\/div><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Voc\u00ea deseja exibir produtos relacionados em sua loja online baseados no WooCommerce? Neste artigo, mostramos como usar uma API para exibir<\/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":[317,613],"tags":[848],"class_list":["post-27582","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-base-de-dados","category-uncategorized-9","tag-affiai-pt-pt"],"_links":{"self":[{"href":"https:\/\/themewp.inform.click\/pt-pt\/wp-json\/wp\/v2\/posts\/27582","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/themewp.inform.click\/pt-pt\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/themewp.inform.click\/pt-pt\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/themewp.inform.click\/pt-pt\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/themewp.inform.click\/pt-pt\/wp-json\/wp\/v2\/comments?post=27582"}],"version-history":[{"count":0,"href":"https:\/\/themewp.inform.click\/pt-pt\/wp-json\/wp\/v2\/posts\/27582\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/themewp.inform.click\/pt-pt\/wp-json\/wp\/v2\/media\/20723"}],"wp:attachment":[{"href":"https:\/\/themewp.inform.click\/pt-pt\/wp-json\/wp\/v2\/media?parent=27582"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/themewp.inform.click\/pt-pt\/wp-json\/wp\/v2\/categories?post=27582"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/themewp.inform.click\/pt-pt\/wp-json\/wp\/v2\/tags?post=27582"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}