WooCommerce возвращает 404 на страницах категорий

23 дек. 2015 г., 19:26:18
Просмотры: 27.9K
Голосов: 6

Я пытаюсь настроить ЧПУ (постоянные ссылки) WooCommerce, чтобы получить следующую структуру:

  • example.com/shop/ => Страница магазина со списком товаров
  • example.com/shop/category-name/ => Страница категории со списком товаров из категории
  • example.com/shop/category-name/product-name/ => Страница товара с подробной информацией

Но при попытке открыть страницу категории я получаю ошибку 404 (страница не найдена).

Что я сделал:

  • Я создал страницу "Магазин" и установил её как страницу магазина в настройках WooCommerce. ОК: Страница работает нормально и отображает все товары.

  • В настройках постоянных ссылок WordPress я установил базовый URL категории товаров как "shop". ОШИБКА: Когда я пытаюсь отобразить страницу категории, WordPress возвращает ошибку 404 (при этом ссылки правильно генерируются в боковой панели магазина, но ошибка 404 возникает при клике по ним).

  • В настройках постоянных ссылок WordPress я установил структуру ссылок товара как "/shop/%product_cat%". ОК: Страницы товаров отображаются без проблем.

Есть ли способ решить эту проблему?

2
Комментарии

Невозможно ответить на вопросы типа "что-то не работает как ожидалось" без полной информации о ваших настройках. Вы пробовали отключать плагины, менять тему? Что-то необычное в настройках вашего сервера? И так далее...

Mark Kaplun Mark Kaplun
24 дек. 2015 г. 07:46:22

Если вы хотите исправить ошибку 404, попробуйте этот код - https://stackoverflow.com/questions/28221920/woocommerce-change-product-category-slug-to-shop-base/42922650#42922650

Jon Jon
26 янв. 2018 г. 13:55:13
Все ответы на вопрос 3
4
11

В разделе Пользовательская база, где вы использовали /shop/%product_cat%, необходимо заменить на /shop/%product-category%. Пожалуйста, ознакомьтесь со скриншотом ниже:

Настройка пользовательской базы в WooCommerce

24 дек. 2015 г. 11:41:03
Комментарии

Теперь я вижу страницу со списком категорий, но при клике на товар получаю ошибку "400 bad request", потому что вызываемый URL имеет вид: /shop/%product-category%/product-name/ (%product-category% не заменяется на название категории)

Seb33300 Seb33300
24 дек. 2015 г. 16:54:28

Какая у вас структура постоянных ссылок в "Общих настройках"? Пришлите, пожалуйста, полный скриншот страницы настроек постоянных ссылок.

Prasad Nevase Prasad Nevase
24 дек. 2015 г. 17:23:09

Не могу найти ничего по этой конкретной проблеме. У меня тоже, когда я добавляю %product-category% в пользовательскую основу, это исправляет страницы категорий, но в постоянных ссылках товаров вместо категории выводится буквальное имя переменной %product-category% (/shop/%product-category%/products-name/)

i_a i_a
15 мая 2017 г. 22:04:33

Это решение работает. По какой-то причине использование %product-category% в поле "Произвольная база" настроек постоянных ссылок товаров исправляет проблему с базой категорий товаров. Однако это приводит к поломке постоянных ссылок на товары. :(

Nathan Nathan
26 апр. 2021 г. 17:41:19
2

Оказывается, нет необходимости использовать %product-category%, так как это создаёт проблему с постоянными ссылками — название переменной остаётся в ссылках вместо фактической категории товара.

Просто оставьте поле Category base пустым, это, похоже, и было причиной конфликта с ошибкой 404. При следующих настройках всё работает корректно:

example.com/store/ => Страница магазина со списком товаров

example.com/store/category-name/ => Страница категории со списком товаров из категории

example.com/store/category-name/product-name/ => Страница товара с детальной информацией

Настройки постоянных ссылок WooCommerce

16 мая 2017 г. 20:29:48
Комментарии

Оставление поля базы категорий продуктов пустым теперь приводит к тому, что Woo принудительно устанавливает его как product-category

Nathan Nathan
26 апр. 2021 г. 17:40:00

Да, то, что сказал Натан, в конечном итоге и является проблемой. Решения до сих пор нет. Либо у вас работают ссылки на продукты, либо правильно отформатированные ссылки на категории, но не оба варианта одновременно.

user3035649 user3035649
14 авг. 2023 г. 18:54:16
0

Я проверил страницу:

Проблема была в том, что я не создал категорию "iphone-16-pro" в WooCommerce. Решение:

  1. Перейти в: Товары > Категории
  2. Создать категорию с именем: "iPhone 16 Pro" и ярлыком: "iphone-16-pro"

Проблема решена.

13 окт. 2024 г. 15:28:43