[英]How to Google Tag Manager DataLayer in Wordpress PHP Function
我一直在嘗試找出如何為“訂單確認”頁面(Thankyou.php)制作一個dataLayer。 我想添加以下功能(通過functions.php或代碼段),但是在嘗試時會出現致命錯誤。 誰能看到我在做什么錯,或者是否有更好的方法來做到這一點?
我是新手,但是想學習,我一直在研究,但是找不到答案,如果這可能是一個新手問題,抱歉。 它為腳本中的<給出了致命錯誤,因此我認為也許我不應該在PHP中使用它,但是當我刪除該腳本時,我會在同一行收到針對意外{的致命錯誤:
add_action( 'woocommerce_thankyou', 'checkout_datalayer' );
function checkout_datalayer( $order_id ) {
<script>
dataLayer.push({
'ecommerce': {
'currencyCode': '<?php echo $order->get_order_currency(); ?>',
'purchase': {
'actionField':{
'id': '<?php echo $order->get_order_number(); ?>',
'affiliation': 'Website',
'revenue': <?php echo number_format($order->get_total(), 2, ".", ""); ?>,
'shipping': <?php echo number_format($order->calculate_shipping(), 2, ".", ""); ?>,
<?php if($order->get_used_coupons()): ?>
'coupon': '<?php echo implode("-", $order->get_used_coupons()); ?>'
<?php endif; ?>
},
'products': [
<?php
foreach($order->get_items() as $key => $item):
$product = $order->get_product_from_item( $item );
?>
{
'name': '<?php echo $item['name']; ?>',
'id': '<?php echo $product->get_sku(); ?>',
'price': '<?php echo number_format($order->get_line_subtotal($item), 2, ".", ""); ?>',
'brand': 'Brand',
'quantity': <?php echo $item['qty']; ?>
},
<?php endforeach; ?>
]
}
}
});
</script>
}
對於感興趣的任何人,我都知道了我相信的問題。 假設整個過程都是PHP,而停止此操作的唯一方法是在<script>
之前添加?>
,在</script>
之后添加<?php
。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.