Intereting Posts
Позволяя пользователю определить аргументы в пользовательском цикле? (часть запроса $ custom_posts-> (…) ") Скрыть короткие коды «код» при использовании «редактора» так же, как wordpress, с «gallery» Woocommerce Custom Rewrite Rules Array – Подкатегории Динамическое создание пользовательского мета поля Есть ли какие-либо плагины Worpdress для изменения редактора тем? Категории фильтров / теги для отображения в нескольких обменных позициях для выбора во внутренних Сортировка столбца по мета-ключу и мета-значению wp_insert_post работает, но сообщение не отображается в списке сообщений администратора или в интерфейсе Customizer: сохранение настроек / контроля содержимого для публикации / страницы Любимые сайты с укороченными гиперссылками Пользовательский тип почтового архива с разбивкой на страницы? Категоризация сообщений по местоположению Получение текущего автора (он изменился) сообщения, а не оригинального автора Как восстановить адрес WordPress (URL) Infinite-Scroll Plugin и Jetpack Infinite Scroll Plugin – добавление в тему «Мысли»

Замена термина-заполнителя значением переменной сеанса в таксономическом фильтре

У меня есть в моих темах некоторый код, который будет устанавливать переменную сеанса. Например, это программа геолокации, которая будет установлена ​​в США, Великобритании или ROW, в результате чего:

$_SESSION['region'] = 'USA'; 

и у меня есть обычная таксономия «regionok», которая задана любым или всеми одинаковыми терминами.

Я хочу использовать значение переменной сеанса в качестве члена таксономии для фильтрации.

Самое чистое решение, которое я могу себе представить, было бы иметь привязку фильтра к моим функциям.php, которая заменила бы термин «авторегион» с использованием значения сеанса перед каждым запросом. Таким образом, я могу использовать плагины виджета без необходимости их взломать – я бы просто использовал термин placeholder в конфигурации. Однако я не знаю, каков будет соответствующий крючок.

(К другим вариантам использования относятся переменные сеанса для фильтра семьи, реферера и т. Д. Пример геолокации является полностью случайным.)

Если вы хотите применить этот фильтр терминалов ко всем запросам на сайте, то вы захотите использовать действие parse_query. Это действие примет экземпляр WP_Query как параметр, который позволит вам добавить фильтр терминов на основе переменной $ _SESSION.