{"id":28021,"date":"2021-05-19T10:13:00","date_gmt":"2021-05-19T07:13:00","guid":{"rendered":"https:\/\/themewp.inform.click\/?p=28021"},"modified":"2021-10-18T03:43:56","modified_gmt":"2021-10-18T00:43:56","slug":"jak-wyswietlic-powiazane-produkty-za-pomoca-woocommerce-rest-api","status":"publish","type":"post","link":"https:\/\/themewp.inform.click\/pl\/jak-wyswietlic-powiazane-produkty-za-pomoca-woocommerce-rest-api\/","title":{"rendered":"Jak wy\u015bwietli\u0107 powi\u0105zane produkty za pomoc\u0105 WooCommerce REST API"},"content":{"rendered":"<p>Je\u015bli chodzi o sklepy internetowe, oczywiste jest, \u017ce powi\u0105zane produkty s\u0105 wy\u015bwietlane na stronie szczeg\u00f3\u0142\u00f3w pojedynczego produktu. Pomaga klientom pokaza\u0107 podobne produkty, kt\u00f3re mog\u0105 chcie\u0107 kupi\u0107. Zwi\u0119ksza r\u00f3wnie\u017c zaanga\u017cowanie u\u017cytkownik\u00f3w w Twojej witrynie. Im wi\u0119cej czasu klienci sp\u0119dzaj\u0105 w Twoim sklepie, tym wi\u0119ksze s\u0105 szanse, \u017ce kupi\u0105 Twoje produkty. W tym artykule poka\u017c\u0119, jak pokaza\u0107 powi\u0105zane produkty za pomoc\u0105 WooCommerce REST API.<\/p>\n<p>W tym samouczku pobior\u0119 wszystkie produkty zwi\u0105zane z bie\u017c\u0105cym produktem, a nast\u0119pnie go wy\u015bwietl\u0119. \u0141\u0105cz\u0119 r\u00f3wnie\u017c ka\u017cdy produkt z jego stron\u0105 ze szczeg\u00f3\u0142ami.<\/p>\n<p>Przyk\u0142ad wyja\u015bniony w tym artykule mo\u017ce dotyczy\u0107 r\u00f3wnie\u017c witryny WooCommerce. Mo\u017cna u\u017cy\u0107 tej techniki i wy\u015bwietla\u0107 powi\u0105zane produkty bez u\u017cycia wtyczki. Zapewni to wi\u0119ksz\u0105 kontrol\u0119 nad projektem i znacznikami strony produktu.<\/p>\n<h3>Uzyskaj klucz klienta i tajemnic\u0119 klienta<\/h3>\n<p>Decyduj\u0105c si\u0119 na rozpocz\u0119cie korzystania z WooCommerce REST API, musisz najpierw uzyska\u0107 klucz klienta i tajny klucz klienta. Klucze te s\u0142u\u017c\u0105 do identyfikacji sklepu i s\u0105 niezb\u0119dne podczas wywo\u0142ywania API WooCommerce. Mo\u017cesz przeczyta\u0107 wi\u0119cej na ten temat w ich <a href=\"https:\/\/woocommerce.github.io\/woocommerce-rest-api-docs\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">dokumentacji<\/a>.<\/p>\n<p>Najpierw zainstaluj wtyczk\u0119 WooCommerce na swojej stronie. Nast\u0119pnie <strong>przejd\u017a<\/strong> do strony <strong>WooCommerce-&gt;Ustawienia<\/strong>. Kliknij na zak\u0142adk\u0119 Zaawansowane, a nast\u0119pnie na 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=\"Jak wy\u015bwietli\u0107 powi\u0105zane produkty za pomoc\u0105 WooCommerce REST API\" ><\/a><\/p>\n<p>Na tej stronie kliknij przycisk \u201eUtw\u00f3rz klucz API&quot;.<\/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=\"Jak wy\u015bwietli\u0107 powi\u0105zane produkty za pomoc\u0105 WooCommerce REST API\" ><\/a><\/p>\n<p>Wprowad\u017a opis, wybierz uprawnienie \u201eOdczyt&#8221; i naci\u015bnij przycisk Generuj klucz API. Mo\u017cesz r\u00f3wnie\u017c wybra\u0107 uprawnienie \u201eOdczyt\/zapis&#8221;. To zale\u017cy od Twoich wymaga\u0144. Je\u015bli potrzebujesz tylko odczyta\u0107 dane z WooCommerce, wybierz opcj\u0119 \u201eCzytaj&#8221;. A je\u015bli chcesz wykonywa\u0107 zar\u00f3wno operacje odczytu, jak i zapisu, twoj\u0105 oczywist\u0105 opcj\u0105 jest \u201eOdczyt\/zapis&#8221;. W tym przypadku kierujemy reklamy tylko na powi\u0105zane produkty, wi\u0119c wystarczy uprawnienie \u201eOdczyt&#8221;.<\/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=\"Jak wy\u015bwietli\u0107 powi\u0105zane produkty za pomoc\u0105 WooCommerce REST API\" ><\/a><\/p>\n<p>Skopiuj klucz klienta i tajny klucz klienta, kt\u00f3re b\u0119d\u0105 wymagane podczas wywo\u0142ywania 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=\"Jak wy\u015bwietli\u0107 powi\u0105zane produkty za pomoc\u0105 WooCommerce REST API\" ><\/a><\/p>\n<h3>WooCommerce REST API, aby uzyska\u0107 powi\u0105zane produkty<\/h3>\n<p>Gdy b\u0119dziesz gotowy z kluczem klienta i tajnym kluczem klienta, mo\u017cemy zacz\u0105\u0107 od kodu, kt\u00f3ry wywo\u0142uje interfejs API do punktu ko\u0144cowego WooCommerce. Poniewa\u017c najpierw musimy pobra\u0107 powi\u0105zane produkty, musimy pobra\u0107 dane jednego produktu za po\u015brednictwem interfejsu API. Dzieje si\u0119 tak, poniewa\u017c zwykle wy\u015bwietlamy nasze podobne produkty na stronie pojedynczego produktu.<\/p>\n<p>Poniewa\u017c musimy wysy\u0142a\u0107 \u017c\u0105dania HTTP, zainstaluj bibliotek\u0119 Guzzle za pomoc\u0105 poni\u017cszego polecenia.<\/p>\n<pre><code>composer require guzzlehttp\/guzzle<\/code><\/pre>\n<p>Guzzle to klient PHP HTTP, kt\u00f3ry u\u0142atwia wysy\u0142anie \u017c\u0105da\u0144 HTTP i banalne do integracji z us\u0142ugami internetowymi.<\/p>\n<p>Na koniec napiszmy kod, aby otrzyma\u0107 pojedynczy produkt, a nast\u0119pnie produkty powi\u0105zane. Gdy WooCommerce zwraca dane produktu, w odpowiedzi zawiera r\u00f3wnie\u017c klucz \u201erelated_ids&#8221; wraz z warto\u015bciami. Te warto\u015bci to nic innego jak identyfikatory powi\u0105zanych produkt\u00f3w. W zwi\u0105zku z tym nasz kod PHP b\u0119dzie wygl\u0105da\u0142 nast\u0119puj\u0105co.<\/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>Zast\u0105p symbol zast\u0119pczy \u201ePRODUCT_ID_HERE&#8221; rzeczywist\u0105 warto\u015bci\u0105. W powy\u017cszym kodzie przekazuj\u0119 parametr \u201eincludes&#8221; jako tablic\u0119 z powi\u0105zanymi_ids. WooCommerce w odpowiedzi podaje nam wszystkie szczeg\u00f3\u0142y dotycz\u0105ce produkt\u00f3w. Nast\u0119pnie przechodzimy przez niego w p\u0119tli i wy\u015bwietlamy tytu\u0142 produktu oraz jego link. U\u017cytkownik mo\u017ce r\u00f3wnie\u017c wydrukowa\u0107 inne dane z odpowiedzi.<\/p>\n<h4>Powi\u0105zane artyku\u0142y<\/h4>\n<ul>\n<li><a href=\"https:\/\/themewp.inform.click\/pl\/szybki-przewodnik-po-woocommerce-rest-api\/\" title=\"Kr\u00f3tki przewodnik po API REST WooCommerce\">Kr\u00f3tki przewodnik po API REST WooCommerce<\/a><\/li>\n<li><a href=\"https:\/\/themewp.inform.click\/pl\/dostosuj-wyszukiwanie-produktow-woocommerce-w-witrynie-wordpress\/\" title=\"Jak dostosowa\u0107 wyszukiwanie produkt\u00f3w WooCommerce w witrynie WordPress?\">Jak dostosowa\u0107 wyszukiwanie produkt\u00f3w WooCommerce w witrynie WordPress?<\/a><\/li>\n<\/ul>\n<p><div id=\"PostUnique_PostSource\" style=\"padding-top: 50px\">\u0179r\u00f3d\u0142o nagrywania:  <a target=\"_blank\" rel=\"noopener nofollow\" href=\"\/\/artisansweb.net\" class=\"external external_icon\">artisansweb.net<\/a><\/div><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Czy chcesz wy\u015bwietla\u0107 powi\u0105zane produkty w swoim sklepie internetowym zbudowanym na WooCommerce? W tym artykule pokazujemy, jak u\u017cywa\u0107 interfejsu API do wy\u015bwietlania powi\u0105zanych<\/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":[316,612],"tags":[847],"class_list":["post-28021","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-baza-danych","category-uncategorized-8","tag-affiai-pl"],"_links":{"self":[{"href":"https:\/\/themewp.inform.click\/pl\/wp-json\/wp\/v2\/posts\/28021","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/themewp.inform.click\/pl\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/themewp.inform.click\/pl\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/themewp.inform.click\/pl\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/themewp.inform.click\/pl\/wp-json\/wp\/v2\/comments?post=28021"}],"version-history":[{"count":0,"href":"https:\/\/themewp.inform.click\/pl\/wp-json\/wp\/v2\/posts\/28021\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/themewp.inform.click\/pl\/wp-json\/wp\/v2\/media\/20723"}],"wp:attachment":[{"href":"https:\/\/themewp.inform.click\/pl\/wp-json\/wp\/v2\/media?parent=28021"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/themewp.inform.click\/pl\/wp-json\/wp\/v2\/categories?post=28021"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/themewp.inform.click\/pl\/wp-json\/wp\/v2\/tags?post=28021"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}