Я хочу создать плагин, который захватывает определенные параметрические усилители URL от строки запроса для создания новой строки запроса для той же страницы. Я следую за превосходным Профессионал книга Разработки плагинов WordPress, но я не уверен, которые сцепляются для использования для этого действия. Вот моя функция действия:
add_action( 'init', 'tccl_redirect' );
function tccl_redirect() {
header ( "Location: http://www.mysite.com/$mypage?$newparam=$newvalue" );
?>
Какие рычаги подходят для перенаправлений заголовка?
Как кайзер, которому отвечают template_redirect
рычаг действительно подходит для перенаправлений.
Также необходимо использовать wp_redirect()
функция, вместо того, чтобы установить заголовок.
Я сказал бы template_redirect
. Но смотрите на Ссылку Действия.
Не забывайте exit()
на перенаправлении.
/**
* This example redirects everything to the index.php page
* You can do the same for the dashboard with admin_url( '/' );
* Or simply base the redirect on conditionals like
* is_*() functions, current_user_can( 'capability' ), globals, get_current_screen()...
*
* @return void
*/
function wpse12535_redirect_sample() {
exit( wp_redirect( home_url( '/' ) ) );
}
add_action( 'template_redirect', 'wpse12535_redirect_sample' );
Но я сказал бы, что этот пример от кайзера не может, работая, потому что после перенаправления этот рычаг template_redirect работает снова и снова, у Вас будет бесконечная передача!
Лучше должен проверить, если Вы уже находитесь на домашней странице, как это:
function wpse12535_redirect_sample() {
$current_url = 'http://'.$_SERVER['SERVER_NAME'].$_SERVER['REQUEST_URI'];
$site_url = get_bloginfo('siteurl') . "/";
if($current_url != $site_url)
exit( wp_redirect( home_url( '/' ) ));
}
add_action( 'template_redirect', 'wpse12535_redirect_sample');
Работы для меня прекрасный. Какие-либо предложения?С уважением!