如何在WooCommerce中获得没有价格格式的所有订单总数?
我试过这个:
$order->get_order_item_totals()
但我得到这样的格式化价格:
cart_subtotal = array(
'label' => Subtotal
'value' => <span class="amount">$30.75</span><small class="tax_label">(ex. tax)</small>
)
total = array(
'label' => Total
'value' => <span class="amount">$30.75</span>
)
相反,我希望有这样的东西:
cart_subtotal = array(
'label' => Subtotal
'value' => 30.75
)
total = array(
'label' => Total
'value' => 30.75
)
答案 0 :(得分:1)
是的,这是可能的。而是使用 fitsystemwindows = true
,您应该使用:
$order->get_order_item_totals();
您可以使用所有function methods in Class WC_Abstract_Order来获得不同的总数。
由于每个订单可能不同,您需要首先在// For Order Sub-Total: $order_subtotal = $order->get_subtotal(); // For Order Total: $order_total = $order->get_total(); $cart_subtotal = array( 'label' => 'Subtotal', 'value' => $order_subtotal ); $cart_total = array( 'label' => 'Total', 'value' => $order_total );
语句中使用 {{1功能......
对于订单总计,您还可以使用 if
功能:
empty()
您还可以使用 get_post_meta()
在 $order_total = get_post_meta( $order->id, '_order_total', true);
数据库表中找到 meta_key
的其他 wp_postmeta
使用order ID
函数进行自定义计算:
get_post_meta()
如果您想查看订单ID 中的所有数据(包括客户详细信息,订单商品以及其他更多信息......),您应该使用仅用于视图测试:
$order_shipping = get_post_meta( $order->id, '_order_shipping', true);
$order_discount = get_post_meta( $order->id, '_cart_discount', true);
$order_discount_tax = get_post_meta( $order->id, '_cart_discount_tax', true);
$order_tax = get_post_meta( $order->id, '_order_tax', true);
$order_shipping_tax = get_post_meta( $order->id, '_order_shipping_tax', true);
// this one you get it yet
$order_total = get_post_meta( $order->id, '_order_total', true);
参考:
答案 1 :(得分:1)
试试这个
if ( $subtotal = (float)$order->get_subtotal()) {
$total_rows[] = array(
'title' => 'Subtotal:',
'value' => $subtotal
);
}
if ($cart_discount = (float)get_post_meta($order_id, '_cart_discount', true)) {
$total_rows[] = array(
'title' => 'Discount:',
'value' => $order->cart_discount
);
}
if ($order_shipping = (float)get_post_meta($order_id, '_order_shipping', true)) {
$total_rows[] = array(
'title' => 'Shipping:',
'value' => $order_shipping
);
}
if ($order_tax = (float)get_post_meta($order_id, '_order_tax', true)) {
$total_rows[] = array(
'title' => 'tax:',
'value' => $order_tax
);
}
if ($gettotals = (float)$order->get_total()){
$total_rows[] = array(
'title' => 'Total:',
'value' => $gettotals
);
}