web-dev-qa-db-fra.com

WooCommerce obtient le total de la commande

J'essaie actuellement d'obtenir le total de la commande d'un paiement pour WooCommerce afin qu'il puisse être envoyé avec une conversion Google AdWords.

Voici le code:

<?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 } ?>

Pour une raison quelconque, lorsque cela se trouve sur la page $ get_order_total = floatval (preg_replace ('# [^\d.] #', '', $ Order-> get_formatted_order_total ())); il brise la page et produit cette erreur:

Appel à une fonction membre get_formatted_order_total () sur un non-objet dans /woocommerce/checkout/thankyou.php sur la ligne 409

J'ai regardé autour de moi et j'ai également essayé d'ajouter la variable globale $ woocommerce mais sans succès. La version que nous utilisons est 2.1.12.

Votre aide serait grandement appréciée.

11
Kyon147

Essayez quelque chose comme ça pour afficher le total de votre commande

<?php echo $order->get_total(); ?>
40
Clément Houde