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

如何在Woocommerce order-received页面展示客户最后一笔订单总金额?

在WooCommerce订单完成页(order-received)显示客户最后一笔订单总金额

要实现这个需求,你可以通过WooCommerce的钩子函数获取并输出订单金额,同时配合Facebook Pixel统计收益,具体实现如下:

代码实现

将以下代码添加到主题的functions.php文件,或使用自定义功能插件:

add_action( 'woocommerce_thankyou', 'display_last_order_total_for_facebook_pixel', 10, 1 );
function display_last_order_total_for_facebook_pixel( $order_id ) {
    // 获取当前订单对象
    $order = wc_get_order( $order_id );
    
    // 校验订单和用户有效性
    if ( ! $order || ! is_user_logged_in() ) {
        return;
    }
    
    $user_id = get_current_user_id();
    // 获取用户最后一笔订单(包含当前订单)
    $last_order = wc_get_customer_last_order( $user_id );
    
    if ( $last_order ) {
        // 格式化带货币符号的订单金额(用于页面显示)
        $formatted_total = $last_order->get_formatted_order_total();
        // 纯数字金额(用于Facebook Pixel统计)
        $numeric_total = $last_order->get_total();
        $currency = get_woocommerce_currency();
        
        // 页面显示订单金额(可自定义样式和位置)
        echo '<div class="last-order-total">';
        echo '<p>您最后一笔订单总金额:' . $formatted_total . '</p>';
        echo '</div>';
        
        // 嵌入Facebook Pixel追踪代码
        ?>
        <script>
        fbq('track', 'Purchase', {
            value: <?php echo $numeric_total; ?>,
            currency: '<?php echo $currency; ?>'
        });
        </script>
        <?php
    }
}

代码说明

  • 借助woocommerce_thankyou钩子,确保代码仅在订单完成页执行
  • 通过wc_get_customer_last_order()获取当前用户的最新订单数据
  • 区分两种金额格式:格式化金额用于页面展示,纯数字金额用于像素统计
  • 可自行修改HTML部分的样式,适配网站设计

添加代码后,用户在订单完成页会看到最后一笔订单的总金额,同时Facebook Pixel会自动追踪该笔订单的收益数据。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.14 13:16:02