Woocommerce: Как избавиться от get параметров в url после выбора значений фильра?
Наткнулся на вашу статью про get rewrite rule. Но мне не хватает ума приспособить ее к решению своей проблемы. Подскажите пожалуйста.
У меня есть сайт на WordPress. В нём используется Woocommerce. Все товары, загружены и созданы атрибуты.
Когда пользователь открывает страницу каталога и выбирает значения фильтров возникают проблемы с url.
Например, пользователь открывает страницу каталога, выбирает категорию товара, устанавливает фильтр Атрибут 1 «Имя 1 Атрибута 1»
Ссылка выглядит вот так:
https://мойсайт.ру/shop/Категория/?filter_Атрибут 1= Имя атрибута 1
А нужно, чтобы она выглядела так
https://мойсайт.ру/shop/Категория/Категория-какой-то постоянный текст-Имя атрибута 1
Как это исправить?
На вуке по разному, в некоторых случаях даже в админке настроить можно. А какой фильтр используется? Это штатный фильтр вуки или какой плагин, просто быть может ситуация не такая чтобы юзать get rewrite rule, а можно обойтись более простыми вещами которые уже предусмотрены шаблоном, темой или плагином фильтра
В ЧПУ ты можешь написать правило, которое будет матчить такой URL. Но тут нужно будет разобраться (не совсем тривиальная задача). По идее как это сделать у меня описано: https://wp-kama.ru/function/wp_rewrite#example_36095
Но тебе нужно будет посмотреть текущие правила, найти там то которое сейчас обрабатывает УРЛ вида
/shop/Категория/
и в твое новое правило добавить теже самые параметры. Также убедиться что твое правило находится выше дефолтного.Примерно так может выглядеть твое правило:
В коде значение фильтра получаешь так:
Тут, еще важно понимать, что тебе всю логику обработки ГЕТ параметра нужно будет переделать под
get_query_var( 'attr_filter' )
. Ну и изначальное формирование такого урла тоже переделать.