2015-11-17 19 views
8

Obecnie próbuję uzyskać całkowitą sumę zamówienia na WooCommerce, aby można było wysłać ją za pomocą konwersji Google AdWords.WooCommerce uzyskaj łączną kwotę

Oto kod:

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

Z jakiegoś powodu, gdy ten znajduje się na stronie $ get_order_total = floatval (preg_replace ('# [.^\ D] #', '', $ zamówienia-> get_formatted_order_total())); łamie stronę i produkuje ten błąd:

wywołanie get_formatted_order_total funkcji członka() w sposób wolny od obiektu w /woocommerce/checkout/thankyou.php on line 409

Szukałem wokół i również próbował dodanie globalna zmienna $ woocommerce, ale bez powodzenia. Wersja, której używamy, to 2.1.12.

Twoja pomoc byłaby bardzo doceniana.

+1

problemem jest '$ order'. Mówi, że to nie jest obiekt, więc zmienna jest błędna. – Neoares

+0

Dokładnie tak jest w komunikacie o błędzie. Jeśli masz identyfikator zamówienia, możesz "$ order = wc_get_order ($ order_id)", aby uzyskać obiekt zamówienia. Również '$ order-> get_total()' może oznaczać, że nie musisz robić wszystkiego, co 'preg_replace'. Aha, i zaktualizuj WooCommerce !! Masz za sobą kilka wersji. – helgatheviking

Odpowiedz

26

spróbować czegoś podobnego do wyświetlania zamówienia łączna:

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

Mam nadzieję, że to działa dla Ciebie!

Pozdrawiamy.

+0

Dzięki to teraz działa :) – Kyon147

+0

Dziękujemy, naprawdę pomocny kod @ Clément Houde. –

+0

Dzięki, proste, ale czyste !!! –

Powiązane problemy