我使用自定义付款,我在iframe中显示并将变量传递到表单中。
我需要在结账/付款后通过没有货币符号的总订单。
我找到了一种方法,可以在结帐/付款之前使用
传递购物车总额echo WC()->cart->total
在付款后的结帐页面(thankyou.php
)我找到了
echo $order->get_formatted_order_total();
这将仅在thankyou.php
页面上显示带有货币符号的总订单,无论我尝试什么,都不会传递到任何其他页面(这不重要,因为我可以使用ether thankyou.php页面或实际结帐页面)
完整代码在列表中看起来像这样
<?php _e( 'Total:', 'woocommerce' ); ?>
<strong><?php echo $order->get_formatted_order_total(); ?>
我已经尝试过测试以查看wordpress存储如何在thankyou.php页面和单独的页面上订购总计,看看我是否可以在结账/付款后从数组中调用订单总数,但我以太得到值0.00或我的分页
我到目前为止尝试的代码:
echo $order->get_order_total();
这打破了页面
echo WC()->$order->get_order_total();
这打破了页面
echo $order->get_total();
这也打破了网页
结帐/付款后调用总购物车echo WC()->cart->total
将显示0(这是有道理的)
答案 0 :(得分:1)
如果是感谢页面,那么它很简单 - 你只需要使用它,它应该可以在不破坏页面的情况下工作。
在您的templates/checkout/thankyou.php
文件中,添加以下代码:
if ( ! $order) {
echo 'No order object!';
} else if ($order->has_status( 'failed' ) {
echo 'Order failed for some reason.';
} else {
echo $order->get_total();
}
如果您没有$order
对象,可以从订单ID获取它:
$order = wc_get_order( $order_id );
$order->get_total();
如果您没有订单ID或$order
对象可用,那么我们需要更多信息才能提供帮助。