WooCommerce获取订单总额

2022-08-31 00:04:07

我目前正在尝试获取WooCommerce结账的订单总数,以便可以通过Google AdWords转换发送。

代码如下:

<?php
$get_order_total = floatval( preg_replace( '#[^\d.]#', '', $order->get_formatted_order_total() ) );
?>

<!-- Google Code for ATS Conversion Page -->
<?php if ( $get_order_total ) { ?>
<script type="text/javascript">
/* <![CDATA[ */
var google_conversion_id = 1066553725;
var google_conversion_language = "en";
var google_conversion_format = "3";
var google_conversion_color = "ffffff";
var google_conversion_label = "CzWXCLmwn1YQ_aLJ_AM";
if (<?php echo $get_order_total; ?>) { var google_conversion_value = <?php echo $get_order_total; ?>; var google_conversion_currency = "GBP"; }
var google_conversion_currency = "GBP";
var google_remarketing_only = false;
 /* ]]> */
</script>
<script type="text/javascript" src="//www.googleadservices.com/pagead/conversion.js">
</script>
<noscript>
<div style="display:inline;">
<img height="1" width="1" style="border-style:none;" alt="" src="//www.googleadservices.com/pagead/conversion/1066553725/?value=<?php echo $get_order_total; ?>&amp;currency_code=GBP&amp;label=CzWXCLmwn1YQ_aLJ_AM&amp;guid=ON&amp;script=0"/>
</div>
</noscript>

<?php } ?>

由于某种原因,当它在页面上时,$get_order_total = floatval( preg_replace( '#[^\d.]#', '', $order->get_formatted_order_total() ) );它会破坏页面并产生此错误:

在 /woocommerce/checkout/thankyou.php 第 409 行的非对象上调用成员函数 get_formatted_order_total()

我环顾四周,并尝试添加全局$woocommerce变量,但没有成功。我们使用的版本是2.1.12。

您的帮助将不胜感激。


答案 1

如果您已经有权访问该对象,请尝试类似这样的方法来显示您的订单总额。$order

<?php echo $order->get_total(); ?>

答案 2

推荐