WooCommerce Wordpress在结账/ pyament

时间:2016-01-05 14:52:07

标签: php wordpress iframe woocommerce checkout

我使用自定义付款,我在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(这是有道理的)

1 个答案:

答案 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对象可用,那么我们需要更多信息才能提供帮助。