Ich versuche derzeit, die Bestellsumme eines Checkouts für WooCommerce zu erhalten, damit es mit einer Google AdWords-Conversion versendet werden kann.WooCommerce Gesamtbetrag erhalten
Hier ist der 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; ?>&currency_code=GBP&label=CzWXCLmwn1YQ_aLJ_AM&guid=ON&script=0"/>
</div>
</noscript>
<?php } ?>
Aus irgendeinem Grund, wenn diese auf der Seite $ get_order_total = floatval (preg_replace ('# [.^\ D] #', '', $ order-> get_formatted_order_total())); es bricht die Seite und erzeugt diesen Fehler:
Anruf auf eine Elementfunktion get_formatted_order_total() auf einem Nicht-Objekt in /woocommerce/checkout/thankyou.php on line 409
ich mich umsah haben und auch versucht, das Hinzufügen die globale Variable $ woocommerce, aber ohne Erfolg. Die Version, die wir verwenden, ist 2.1.12.
Ihre Hilfe würde sehr geschätzt werden.
das Problem ist '$ Auftrag'. Es sagt, es ist kein Objekt, also ist die Variable falsch. – Neoares
Genau, es ist genau dort in der Fehlermeldung. Wenn Sie die Auftrags-ID haben, können Sie '$ order = wc_get_order ($ order_id)' verwenden, um das Auftragsobjekt zu erhalten. Außerdem kann '$ order-> get_total()' bedeuten, dass Sie all das 'preg_replace' nicht tun müssen. Oh, und aktualisiere deinen WooCommerce !! Sie haben mehrere Versionen zurück. – helgatheviking