[英]Set order id and order total in a javascript on Woocommerce order received
I have a script below I did integrate to the thank you page in woocommerce, I do not know what to put in to show the orderID
and orderValue
, can anyone please help me with that? 我下面有一个脚本,我确实集成到woocommerce中的“谢谢”页面,我不知道要显示什么来显示
orderID
和orderValue
,有人可以帮我吗?
(function() {
function c(t) {
for (var n = document.cookie.split(";"), r = 0; r < n.length; r++)
if (p = n[r].split("="), p[0] == t)
return p[1];
return ''
}
adrecord = {
"programID": 15,
"orderID": "HERE I NEED TO SHOW orderID (order number)",
"orderValue": HERE I NEED TO SHOW orderValue inc tax,
"trackID": c('trackID'),
"source": c('source')
};
var e = document.createElement('script');
e.src = 'https://track.adrecord.com/track.js';
var s = document.getElementsByTagName('script')[0];
s.appendChild(e);
})();
Any help is appreciated. 任何帮助表示赞赏。
You can use the following hooked function in woocommerce_thankyou action hook, that will set in your Javascript the correct Order ID and total: 您可以在woocommerce_thankyou操作挂钩中使用以下挂钩函数,该挂钩函数将在Javascript中设置正确的订单ID和总数:
add_action( 'woocommerce_thankyou', 'thankyou_tracking_script', 10, 1 );
function thankyou_tracking_script( $order_id ) {
// Get the WC_Order instance Object
$order = wc_get_order( $order_id );
// Output Javascript
?>
<!-- JS Order received Script -->
<script type="text/javascript">
(function() {
function c(t) {
for (var n = document.cookie.split(";"), r = 0; r < n.length; r++)
if (p = n[r].split("="), p[0] == t) return p[1];
return ''
}
adrecord = {
"programID": 15,
"orderID": "<?php echo $order_id; ?>",
"orderValue": <?php echo $order->get_total(); ?>,
"trackID": c('trackID'),
"source": c('source')
};
var e = document.createElement('script');
e.src = 'https://track.adrecord.com/track.js';
var s = document.getElementsByTagName('script')[0];
s.appendChild(e);
})();
</script>
<?php
}
Code goes in function.php file of your active child theme (or active theme). 代码进入您的活动子主题(或活动主题)的function.php文件中。 Tested and works.
经过测试和工作。
Or use this similar code using wp_footer
action hook targetting "Order received" (thankyou) page: 或使用
wp_footer
动作挂钩定位到“收到订单” (谢谢)页面,使用以下类似代码:
add_action( 'wp_footer', 'order_received_tracking_script' );
function order_received_tracking_script() {
// Only on "Order received" page
if( ! is_wc_endpoint_url('order-received') ) Return; // Exit
$order_id = absint( $wp->query_vars['order-received'] );
// Get the WC_Order instance Object
$order = wc_get_order( $order_id );
// Output Javascript
?>
<!-- JS Order received Script -->
<script type="text/javascript">
(function() {
function c(t) {
for (var n = document.cookie.split(";"), r = 0; r < n.length; r++)
if (p = n[r].split("="), p[0] == t) return p[1];
return ''
}
adrecord = {
"programID": 15,
"orderID": "<?php echo $order_id; ?>",
"orderValue": <?php echo $order->get_total(); ?>,
"trackID": c('trackID'),
"source": c('source')
};
var e = document.createElement('script');
e.src = 'https://track.adrecord.com/track.js';
var s = document.getElementsByTagName('script')[0];
s.appendChild(e);
})();
</script>
<?php
}
Code goes in function.php file of your active child theme (or active theme). 代码进入您的活动子主题(或活动主题)的function.php文件中。 Tested and works.
经过测试和工作。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.