Как реализовать перезапись ЧПУ при определении города по ip?
Имеется кастомная таксономия для post - Город( location ), по ip узнаю город и встраиваю в урл по всему сайту.
Вариант реализации 1:
Через template_redirect подставляю в конце параметр в урл ?location=slug_location
Но этот вариант отпал. Во первых он не красивый, во вторых: так как город должен учитываться и влиять на категории и метки использовала is_archive() || is_category() || is_tax(), что привело к too mach redirection.
Вариант реализации 2:
Используя add_rewrite_rule перезаписываю правило где сразу после домена выставляю slug_location. Данная реализация работает с категориями, но с тегами не работает. Ко всему прочему хотелось бы убрать category из урла, но в этом случае не отображаются категории без указания slug_location в принципе. (Если подскажите как можно убрать category совсем, буду признательна).
Вообще идеально было бы если бы параметр location применялся по всему сайту без привязки к шаблону и в принципе его видимости - но вот как так реализовать пока не придумала.
Вопрос решается add_action('pre_get_posts', 'use_ip', 20);
Используя is_archive() || is_category() || is_tax()
встраиваем только на этих шаблонах в запрос нашу переменную таким образом: