问题描述

我想构建一个插件,从查询字符串中获取某些 url 参数,为同一页面创建一个新的查询字符串。我遵循了专业的 WordPress 插件开发书,但我不知道使用哪个钩子来执行此操作。这是我的动作功能:

add_action( 'init', 'tccl_redirect' );
function tccl_redirect() {
    header ( "Location: http://www.mysite.com/$mypage?$newparam=$newvalue" );
?>

哪些钩子适合标头重定向?

最佳解决方案

像 kaiser 回答 template_redirect 钩子确实适合重定向。

还应该使用 wp_redirect()功能,而不是设置标题。

次佳解决方案

我会说 template_redirect 。但是看看 Action Reference

例子

不要忘记 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' );

参考文献

注:本文内容整合自 Google/Baidu/Bing 辅助翻译的英文资料结果。如果您对结果不满意,可以加入我们改善翻译效果:薇晓朵技术论坛。