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

如何在WordPress中配置重写规则处理产品详情页URL参数

解决WordPress重写规则导致页面跳首页的问题

问题出在哪

你之前写的重写规则是针对product-detail/MH-TOOL-152这种路径式URL的,但实际二维码跳转的是product-detail?model=MH-TOOL-152&isToolId=1这种带查询参数的URL,规则完全不匹配,WordPress找不到对应的页面,就直接跳首页了。另外,你没注册model这个自定义查询变量,就算规则匹配上,WordPress也识别不了这个参数。

正确配置步骤

1. 让WordPress识别model参数

添加这段代码,把model加入WordPress的查询变量白名单:

function mywebsite_register_query_vars( $vars ) {
    $vars[] = 'model';
    return $vars;
}
add_filter( 'query_vars', 'mywebsite_register_query_vars' );

2. 配置正确的重写规则

根据实际需求,我们适配二维码的带参URL,同时顺便兼容路径式URL方便后续扩展:

function mywebsite_rewrite_rule() {
    // 兼容路径形式的URL:product-detail/model/产品型号
    add_rewrite_rule(
        '^product-detail/model/([^/]+)/?',
        'index.php?pagename=product-detail&model=$matches[1]',
        'top'
    );
}
add_action( 'init', 'mywebsite_rewrite_rule' );

3. 确保product-detail页面存在

去WordPress后台创建一个名为product-detail的页面,在页面内容里添加你需要加载的短代码(比如[product_detail])。

4. 在短代码中获取model参数并查询产品

修改短代码函数,通过model参数查询对应SKU的产品并输出详情:

function product_detail_shortcode() {
    $model = get_query_var('model');
    if ( empty($model) ) {
        return '产品型号参数缺失';
    }

    // 以WooCommerce为例,通过SKU查询产品
    $product_id = wc_get_product_id_by_sku( $model );
    $product = $product_id ? wc_get_product($product_id) : null;

    // 输出产品详情内容
    ob_start();
    if ( $product ) {
        echo '<h2>' . $product->get_name() . '</h2>';
        echo $product->get_description();
    } else {
        echo '未找到对应产品';
    }
    return ob_get_clean();
}
add_shortcode( 'product_detail', 'product_detail_shortcode' );

5. 刷新重写规则

这一步别遗漏:

  • 进入WordPress后台的设置→固定链接
  • 无需修改任何设置,直接点击保存更改,WordPress会自动刷新重写规则

测试验证

现在访问二维码跳转的URLhttps://mywebsite.com/product-detail?model=MH-TOOL-152&isToolId=1,应该能正常加载product-detail页面并显示对应产品内容;测试路径式URLhttps://mywebsite.com/product-detail/model/MH-TOOL-152,也能正常打开。

内容的提问来源于stack exchange,提问作者Never Stop Learning

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.20 14:18:39