如何在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
相关产品推荐
相关产品推荐

