You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何为所有WordPress URL添加参数?解决重定向循环问题

解决WordPress URL自动添加参数的重定向循环问题

你的代码出现重定向循环的原因很直接:它在每次页面加载时都会强制触发重定向,哪怕当前URL已经带有refpin参数,导致浏览器反复跳转陷入死循环。

要解决这个问题,核心逻辑是:只有当URL中还没有refpin参数时,才执行重定向操作。另外add_query_arg函数本身已经能自动处理URL已有参数的情况(自动用&拼接新参数),不需要额外编写判断逻辑。

修正后的代码如下:

function wprdcv_param_redirect() {
    // 检查当前URL是否未包含refpin参数
    if ( ! isset( $_GET['refpin'] ) ) {
        // 自动处理参数拼接,生成带refpin的新URL
        $location = esc_url( add_query_arg( 'refpin', '123' ) );
        // 执行重定向并终止脚本,避免后续代码干扰
        wp_redirect( $location );
        exit;
    }
}
add_action( 'template_redirect', 'wprdcv_param_redirect' );

关键细节说明:

  • ! isset( $_GET['refpin'] ):通过这个判断跳过已带目标参数的请求,从根源上避免重定向循环。
  • add_query_arg( 'refpin', '123' ):该函数会自动识别当前URL的参数状态,已有参数则用&拼接,无参数则用?开头,完全满足你的需求。
  • exit;:执行wp_redirect后必须添加此语句,终止PHP脚本后续执行,防止出现额外的逻辑冲突。

内容的提问来源于stack exchange,提问作者Jamie Warren

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.15 16:32:08