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

WooCommerce成功下单后直接跳转至已购数字商品页面方案

WooCommerce购买数字商品后直接跳转至对应商品页面的实现方法

针对你的单商品、无购物车的数字商品店铺场景,可通过以下两种WooCommerce钩子实现购买后跳过结账完成页面,直接跳转至已购商品页面:

方法一:修改结账成功跳转URL(推荐)

通过woocommerce_get_checkout_order_received_url过滤器直接替换默认的结账完成页面地址,跳转更流畅,无页面加载延迟。

将以下代码添加到当前主题的functions.php文件末尾,或自定义功能插件中:

add_filter( 'woocommerce_get_checkout_order_received_url', 'custom_redirect_to_purchased_product', 10, 2 );
function custom_redirect_to_purchased_product( $default_url, $order ) {
    // 遍历订单商品(单商品场景下仅取第一个)
    foreach( $order->get_items() as $item ) {
        $product_id = $item->get_product_id();
        $product_url = get_permalink( $product_id );
        
        if ( $product_url ) {
            return $product_url;
        }
        break;
    }
    // 异常情况 fallback 到原结账完成页面
    return $default_url;
}

方法二:在结账完成页面触发跳转

利用woocommerce_thankyou动作钩子,在结账完成页面加载时立即跳转至商品页面。

代码如下:

add_action( 'woocommerce_thankyou', 'redirect_to_product_after_checkout', 10, 1 );
function redirect_to_product_after_checkout( $order_id ) {
    $order = wc_get_order( $order_id );
    if ( ! $order ) return;

    foreach( $order->get_items() as $item ) {
        $product_id = $item->get_product_id();
        $product_url = get_permalink( $product_id );
        
        if ( $product_url ) {
            wp_redirect( $product_url );
            exit;
        }
        break;
    }
}

注意事项

  • 确保店铺已正确配置用户登录验证及商品权限逻辑,用户跳转后能正常访问已购商品内容;
  • 推荐使用自定义功能插件存放代码,避免主题更新导致代码丢失;
  • 两种方法均适配单商品购买场景,无需额外处理多商品逻辑。

内容的提问来源于stack exchange,提问作者Juan Pablo Contreras

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.09 03:15:40