Intereting Posts
Как добавить галочку к моим сайтам сохранить настройки Метабокс с несколькими полями, добавленными пользователем, и поле для загрузки current_shortcode () – обнаружение используемого в настоящее время короткого кода Видео, охватываемое содержимым страницы в полноэкранном режиме – как это исправить? Как ускорить загрузку видео в формате Wistia? Электронные письма с порядком обновления триггера для подписки WooCommerce для тестирования Страница списка авторов: Исключить, исходя из последней даты публикации, не работает правильно Программно создавать вложения изображений из локальных URL-адресов и настраивать изображение Использование paginate_links () для создания штампов «01, 02, 03, 04» Изменение типа возможностей без изменения плагина Безопасное сохранение кода (html / js ..) в базе данных HTTPS для каждой страницы, кроме каналов Изменение роли пользователя после массового импорта Блоки кода с WYSIWYG в блоге Исключить изображение из цикла привязки

get_query_var не работает

Я хотел бы $ _GET параметр в URL-адресе, поскольку я читал, что мне нужно использовать query_vars. Сначала я добавил следующие строки в functions.php:

function add_query_vars_filter( $vars ){ $vars[] = "getvar"; return $vars; } add_filter( 'query_vars', 'add_query_vars_filter' ); 

после этого:

 if(get_query_var('getvar')) { die('DIE'); } 

Если я набираю domain.com/?getvar=1, ничего не происходит. В чем проблема?

Ваш фильтр:

 function add_query_vars_filter( $vars ){ $vars[] = "getvar"; return $vars; } add_filter( 'query_vars', 'add_query_vars_filter' ); 

Верно. Когда WordPress начинает собирать список переменных запроса, эта функция добавит «getvar» в список.

Но тогда вы сразу же проверяете, установлена ​​ли переменная до того, как она достигнет этой точки. Фильтр query_vars еще не произошел. Это говорит о том, что ваше понимание событий / фильтров является неполным. Когда вы добавляете фильтр, он не выполняет то, что внутри, так же, как если бы я сказал вам есть пищу, как только вы заплатили, вы ждете, пока не заплатите, чтобы съесть ее, вы ее не сразу едите ,

Так:

  1. Вы указываете, что WordPress выполняет функцию при фильтрации фильтра query_vars
  2. Вы проверяете наличие недопустимого запроса var 'getvar'
  3. Позже фильтр «query_vars» происходит, и функция functionggetvar становится законной безопасной переменной запроса
  4. С этой переменной запроса ничего не делается

Поэтому вам нужно проверить запрос var после выполнения функции, просто находясь дальше, файл не делает этого. вы должны подключиться к такому действию, как init и выполнить свой чек.