Как изменить запрос заголовка WordPress - PullRequest
0 голосов
/ 09 апреля 2010

Допустим, у меня есть форма для поиска по нескольким тегам в WordPress.

<input type="checkbox" name="my_tags[]" value="tag1" />
<input type="checkbox" name="my_tags[]" value="tag2" />

Я хочу сделать так, чтобы, когда мой плагин увидел, что my_tags [] установлен, он переписывает запрос, чтобы сказать

mysite.com/?tag=tag1+tag2

Я знаю, как использовать add_query_arg для добавления тега и использовать фильтры query_vars, чтобы разрешить отправку моих аргументов, но к чему я подключаюсь, чтобы получить аргументы, отправленные после запроса, но до того, как wp анализирует просить?

1 Ответ

0 голосов
/ 10 апреля 2010

Насколько я понимаю, вы бы не «заменили» запрос в текущем запросе, а скорее сформировали бы новый URI запроса и перенаправили бы клиента с помощью wp_redirect() с кодом состояния по умолчанию 302 Found. Что-то вроде:

wp_redirect( add_query_arg( array( 'tag' => implode( ' ', $_REQUEST['my tags'] ) ), bloginfo('url') ), 302);

Такая уборка должна происходить до отправки заголовков, очевидно. Логическим местом для подключения через API плагинов будут действия parse_request или send_headers. Я имею в виду, что все, что вы делаете здесь, это анализ запроса и отправка заголовков. : P

Я почти ничего не знаю о том, как сделать это с перезаписью сервера в файле .htaccess, так что, возможно, вы могли бы также изучить это.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...