WooCommerce возвращает 404 на страницах категорий
Я пытаюсь настроить ЧПУ (постоянные ссылки) 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%". ОК: Страницы товаров отображаются без проблем.
Есть ли способ решить эту проблему?

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

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

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

Оказывается, нет необходимости использовать %product-category%, так как это создаёт проблему с постоянными ссылками — название переменной остаётся в ссылках вместо фактической категории товара.
Просто оставьте поле Category base пустым, это, похоже, и было причиной конфликта с ошибкой 404. При следующих настройках всё работает корректно:
example.com/store/ => Страница магазина со списком товаров
example.com/store/category-name/ => Страница категории со списком товаров из категории
example.com/store/category-name/product-name/ => Страница товара с детальной информацией

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

Я проверил страницу:
- https://my-site-name.com/product-category/iphones/ - получаю УСПЕХ
- https://my-site-name.com/product-category/iphones/iphone-16-pro/ - получаю 404 НЕ НАЙДЕНО
Проблема была в том, что я не создал категорию "iphone-16-pro" в WooCommerce. Решение:
- Перейти в: Товары > Категории
- Создать категорию с именем: "iPhone 16 Pro" и ярлыком: "iphone-16-pro"
Проблема решена.
