2015-11-17 29 views
8

Tôi hiện đang cố gắng nhận tổng số đơn đặt hàng của một thanh toán cho WooCommerce để nó có thể được gửi thông qua chuyển đổi Google AdWords.WooCommerce nhận tổng số đơn đặt hàng

Đây là mã:

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

Đối với một số lý do khi điều này là trên trang $ get_order_total = floatval (preg_replace ('# [.^\ D] #', '', $ mỗi phiên> get_formatted_order_total())); nó phá vỡ trang và tạo ra lỗi này:

Gọi để một hàm thành viên get_formatted_order_total() trên một tổ chức phi-đối tượng trong /woocommerce/checkout/thankyou.php trên đường dây 409

Tôi đã nhìn quanh và cũng đã cố gắng thêm biến $ woocommerce toàn cầu nhưng không thành công. Phiên bản chúng tôi đang sử dụng là 2.1.12.

Trợ giúp của bạn sẽ được đánh giá cao.

+1

sự cố là '$ order'. Nó nói rằng nó không phải là một đối tượng, do đó, biến là sai. – Neoares

+0

Chính xác, nó ở ngay trong thông báo lỗi. Nếu bạn có ID đặt hàng, bạn có thể '$ order = wc_get_order ($ order_id)' để lấy đối tượng đặt hàng. Ngoài ra '$ order-> get_total()' có thể có nghĩa là bạn không cần phải làm tất cả những gì 'preg_replace'. Oh, và cập nhật WooCommerce của bạn !! Bạn có một vài phiên bản phía sau. – helgatheviking

Trả lời

26

thử một cái gì đó như thế này cho hiển thị đơn đặt hàng tổng:

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

Tôi hy vọng đó là tác phẩm dành cho bạn!

Trân trọng.

+0

Cảm ơn bạn hiện đang làm việc :) – Kyon147

+0

Cảm ơn bạn, mã thực sự hữu ích @ Clément Houde. –

+0

Cảm ơn, đơn giản nhưng sạch sẽ !!! –

Các vấn đề liên quan