【问题标题】:WooCommerce: get and echo "Order Total" on checkout pageWooCommerce:在结帐页面上获取并回显“订单总额”
【发布时间】:2021-01-30 18:51:57
【问题描述】:

我正在尝试使用此代码在函数中获取“订单总计”。但不工作。根本不打印总数。

我在这里错过了什么?

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。该对象还没有针对购物车总数创建
  • @7uc1f3r 好的,我该如何定义?

标签: php wordpress woocommerce checkout orders


【解决方案1】:

$order_id 未定义,因此您也无法通过这种方式访问​​$order。 还没有针对$cart 对象创建$order 对象。

所以你得到:

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 );

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-02-10
    • 2018-10-01
    • 2014-12-17
    • 1970-01-01
    • 2016-02-18
    • 2017-04-24
    相关资源
    最近更新 更多