@BarneyGumble

Почему Wordpress REST API не отдаёт товары и категории товаров?

Досталось приложение (интернет магазин на nodejs), работающее с WP REST API (отдельный бэкенд на отдельном домене и сервере), развернул его у себя, но оно работает не полностью, открываются все страницы, кроме категорий товаров и самих карточек товаров

Запрашиваю основной JSON site.ru/wp-json/wc/v1 чтобы посмотреть список всех роутов. Результат запроса успешен, вот выдача:
D99cbVLz.jpg?download=1&name=%D0%A1%D0%BA%D1%80%D0%B8%D0%BD%D1%88%D0%BE%D1%82%2025-03-2021%2013:40:10.jpg

Далее прохожу по всем роутам, отдают данные со статусом 200 все, кроме выделенных, которые имеют slug

Если запросить, скажем, site.ru/wp-json/wc/v1/products/tshirts то отдаёт вот это:
Rt4ZaALb.jpg?download=1&name=%D0%A1%D0%BA%D1%80%D0%B8%D0%BD%D1%88%D0%BE%D1%82%2025-03-2021%2013:40:30.jpg

В админке Wordpress есть все товары и все категории с нужными slug

Подскажите, куда копать?

Сомневаться в том что взаимодействие с WP REST API не работает не приходится, ведь часть непродуктовых страниц прекрасно работают, значит приложение нормально запрашивает данные, получает их, обрабатывает и отдаёт пользователю. Косяк именно в товарах и категориях товаров. Но не пойму в чём именно
  • Вопрос задан
  • 363 просмотра
Решения вопроса 1
@BarneyGumble Автор вопроса
Ответ нашёлся здесь - https://stackoverflow.com/questions/24764212/preg-...

Экранирование минуса решило проблему:
'news/(?P<slug>[\d\w-_]+)', to 'news/(?P<slug>[\d\w\-_]+)',
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 2
qant
@qant
programer
Вроде как нужна авторизация или ключ, для Woocommerce

В любом случае курить тему именно Woocommerce API а не wordpress API

https://docs.woocommerce.com/document/woocommerce-...

https://woocommerce.github.io/woocommerce-rest-api...

Вот либа https://www.npmjs.com/package/@woocommerce/woocomm... вдруг тоже пригодится

Дока норм вроде, главное версии проверить
Ответ написан
Ну если чисто логически подумать что не работают именно те слаги, где идет динамическая подставка параметра, то скорее всего проблема в регулярке. Как вариант можно попробовать заменить слаг на (?P<slug>\S+)
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы