php - WooCommerce:在结帐页面上获取并回显“订单总额”
问题描述
我正在尝试使用此代码在函数中获取“订单总计”。但不工作。根本不打印总数。
我在这里想念什么?
add_action('woocommerce_checkout_before_order_review' , 'add_in_order_review');
function add_in_order_review(){
$order = wc_get_order( $order_id );
if ( $order ) {
$totalOrder = $order->get_formatted_order_total( );
echo $totalOrder;
}
}
解决方案
$order_id
未定义,因此您也无法通过$order
这种方式访问。该$order
对象还没有针对该$cart
对象创建。
所以你得到:
function action_woocommerce_checkout_before_order_review () {
// Get cart total
$cart_total = WC()->cart->get_cart_contents_total();
echo 'CT = ' . $cart_total;
}
add_action( 'woocommerce_checkout_before_order_review', 'action_woocommerce_checkout_before_order_review', 10, 0 );
您可以访问的订单是在之前的订单中已经创建的订单
像:
function action_woocommerce_checkout_before_order_review () {
// An order id from a previous order
$order_id = 1966;
// Get order object
$order = wc_get_order( $order_id );
// Is a WC order
if ( is_a( $order, 'WC_Order') ) {
$total_order = $order->get_formatted_order_total();
echo 'TO = ' . $total_order;
}
}
add_action( 'woocommerce_checkout_before_order_review', 'action_woocommerce_checkout_before_order_review', 10, 0 );
推荐阅读
- docker - 恢复 Hdfs 文件
- node.js - 如何将 AWS lambda 函数转换为自己的 https 端点?
- python - 按位置连续顺序散开元素
- autodesk-forge - 调用 GET 时使用“forceget”错误:urn/metadata/:guid/properties
- apache-spark - 为什么在所有任务完成之前完成 spark 作业?
- kubernetes - 在 Kubernetes 节点上实现 iptables 规则
- angular - angular 2 完整的用户资料
- async-await - 设置异步调度的执行顺序(redux\redux-saga)
- c# - 在 GeckoFX 中添加功能
- php - 用 laravel 表单上的图标替换提交按钮