2015-11-17 3 views
8

В настоящее время я пытаюсь получить общую сумму заказа для WooCommerce, поэтому его можно отправить с помощью преобразования Google AdWords.WooCommerce получить заказ всего

Вот код:

<?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] #', '', $ заказе запасного> get_formatted_order_total())); он ломает страницу и выдает эту ошибку:

вызов функции члена get_formatted_order_total() на не-объект в /woocommerce/checkout/thankyou.php по линии 409

Я посмотрел вокруг и также попытался добавить глобальную переменную $ woocommerce, но без успеха. Используемая нами версия 2.1.12.

Ваша помощь будет принята с благодарностью.

+1

проблема '$ order'. Он говорит, что это не объект, поэтому переменная неверна. – Neoares

+0

Именно там, в сообщении об ошибке. Если у вас есть идентификатор заказа, вы можете '$ order = wc_get_order ($ order_id)' получить объект заказа. Также '$ order-> get_total()' может означать, что вам не нужно делать все это 'preg_replace'. О, и обновите свою WooCommerce !! У вас несколько версий. – helgatheviking

ответ

26

попробовать что-то вроде этого для отображения вашего заказа всего:

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

Я надеюсь, что это работает для Вас!

С уважением.

+0

Спасибо, что сейчас работает :) – Kyon147

+0

Спасибо, очень полезный код @ Clément Houde. –

+0

Спасибо, простой, но чистый !!! –

Смежные вопросы