#wordpress #woocommerce #gatsby #woocommerce-rest-api #gatsby-plugin
#wordpress #woocommerce #gatsby #woocommerce-rest-api #gatsby-плагин
Вопрос:
Я использую локальный веб-сайт WordPress с помощью маховика (URL: xyz.local ). Я создал новый сайт gatsby с использованием и добавил gatsby-source-woocommerce. Я также сгенерировал ключ потребителя и секрет потребителя из настроек woo-commerce. я добавил их в api_keys в файле конфигурации.
Когда я запускаю gastby develop, я получаю эту ошибку.
========== WARNING FOR FIELD products ===========
The following error status was produced: Error: connect ECONNREFUSED 127.0.0.1:8080
================== END WARNING ==================
08:19:23.204Z > gatsby-source-woocommerce: Fetching 0 nodes for field: products
08:19:23.206Z > gatsby-source-woocommerce: Completed fetching nodes for field: products
warn
========== WARNING FOR FIELD products/categories ===========
The following error status was produced: Error: connect ECONNREFUSED 127.0.0.1:8080
================== END WARNING ==================
08:19:23.213Z > gatsby-source-woocommerce: Fetching 0 nodes for field: products/categories
08:19:23.215Z > gatsby-source-woocommerce: Completed fetching nodes for field: products/categories
warn
========== WARNING FOR FIELD products/attributes ===========
The following error status was produced: Error: connect ECONNREFUSED 127.0.0.1:8080
================== END WARNING ==================
Может кто-нибудь, пожалуйста, сказать, пропустил ли я что-нибудь? или я что-то не так сделал?
Ответ №1:
Я решил это. Проблема с плагином. В настройках конфигурации gatsby-source-woocommerce прокомментируйте все после полей, т. Е. После комментария это выглядит как,
{
resolve: "@pasdo501/gatsby-source-woocommerce",
options: {
// Base URL of WordPress site
api: "wordpress.domain",
// set to false to not see verbose output during build
// default: true
verbose: true,
// true if using https. otherwise false.
https: false,
api_keys: {
consumer_key: <key>,
consumer_secret: <secret>,
},
// Array of strings with fields you'd like to create nodes for...
fields: ["products", "products/categories", "products/attributes"],
},
},
Перейдите в папку @pasdo501 / gatsby-source-woocommerce ( модули узла) -> gatsby-node.js
измените api_version = «wc / v3» на «wc / v2» и
измените wpAPIPrefix = null на «wp-json»
и сохраните его.
вуаля
Ответ №2:
нет необходимости менять пакет. вы можете сделать это:
-
добавить
/index.php
в конецapi
. -
установите
wpAPIPrefix
наwp-json
. -
установите
query_string_auth
наtrue
(я не уверен, что это необходимо).{ resolve: '@pasdo501/gatsby-source-woocommerce', options: { api: 'pro.com/index.php', https: true, verbose: true, api_keys: { consumer_key: `ck_...........`, consumer_secret: `cs_.................`, }, fields: ['products', 'products/categories', 'products/attributes', 'products/tags'], wpAPIPrefix: 'wp-json', query_string_auth: true, api_version: 'wc/v3', // per_page: 100, // encoding: 'utf8', // axios_config: {} } }