如何在WooCommerce订单编辑页面显示订单总金额及拆分金额
WooCommerce订单编辑页整合支票到期日与金额拆分显示功能
以下是整合后的完整代码,既保留原有的支票到期日显示逻辑,又新增了订单金额拆分展示功能,同时修复了原代码中不适合订单编辑页的逻辑问题:
add_action( 'woocommerce_admin_order_data_after_billing_address', 'custom_checkout_field_display_admin_order_meta', 10, 1 ); function custom_checkout_field_display_admin_order_meta($order){ // 仅当支付方式为pec_gateway_check时执行后续逻辑 $payment_method = $order->get_payment_method(); if($payment_method != 'pec_gateway_check') return; // 显示支票到期日期 $check_due_date = date('Y/m/d', strtotime("+40 days")); echo '<p>' . $check_due_date . ' تاریخ چک صیادی</p>'; // 计算并显示35%已支付金额与65%支票支付金额 $order_total = $order->get_total(); $paid_amount = $order_total * 0.35; $check_amount = $order_total * 0.65; echo '<p>' . number_format($paid_amount) . ' ریال پرداخت شده</p>'; echo '<p>' . number_format($check_amount) . ' ریال مبلغ چک پرداختی</p>'; }
关键修改说明
- 支付方式获取优化:用WooCommerce官方推荐的
$order->get_payment_method()替代get_post_meta,兼容更高版本的WooCommerce,代码更规范。 - 订单金额获取修正:移除了原代码中针对购物车的全局变量调用,订单编辑页应使用
$order->get_total()获取已生成订单的总金额,而非购物车金额(购物车仅适用于未提交订单的前端场景)。 - 排版优化:给每个输出内容包裹
<p>标签,让后台页面的显示更整洁,避免内容拥挤。 - 逻辑合并:将两个功能整合到同一个钩子函数中,减少冗余代码,保持逻辑统一。
内容的提问来源于stack exchange,提问作者och
相关产品推荐
相关产品推荐

