Я хочу создать плагин, который получает определенные параметры URL-адреса из строки запроса, чтобы создать новую строку запроса для той же страницы. Я слежу за отличной книгой Professional WordPress Plugin Development, но я не уверен, какой хук использовать для этого действия. Вот моя функция действия:
add_action( 'init', 'tccl_redirect' );
function tccl_redirect() {
header ( "Location: http://www.mysite.com/$mypage?$newparam=$newvalue" );
?>
Какие хуки подходят для редиректа заголовков?
Вы действительно хотите изменить конечный URL или только переменные, используемые в WP_Query?
Код, который вы разместили, в основном будет перенаправлять каждую страницу, вы этого хотите? При каких условиях должно происходить это перенаправление? ПРИМЕЧАНИЕ. Я все равно поставил +1 кайзеру,
template_redirect
это тоже мое предложение.scribu, я хочу изменить конечный URL и строку запроса.
t31os, я упростил свой код для вопроса. Реальная вещь содержит больше условий.
Каков был результат? Отметьте решение, пожалуйста.
Спасибо за предложение, не против узнать, почему wp_redirect предпочтительнее, здесь: wordpress.stackexchange.com/questions/12944/…
Как кайзер ответил
template_redirect
, хук действительно подходит для редиректов.Также вы должны использовать
wp_redirect()
функцию, а не устанавливать заголовок.я бы сказал
template_redirect
. Но взгляните на Action Reference.Пример
Не забудьте
exit()
включить редирект.Но я бы сказал, что этот пример от kaiser не может работать, потому что после редиректа этот хук template_redirect срабатывает снова и снова, у вас будет бесконечная переадресация !
Лучше проверить, если вы уже на главной странице, вот так:
У меня работает нормально. Какие-либо предложения? С уважением!