如何 Google Wordpress 中的标签管理器数据层 PHP 功能
How to Google Tag Manager DataLayer in Wordpress PHP Function
我一直在想办法为订单确认页面制作数据层 (Thankyou.php)。我想添加以下函数(通过 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
。
我一直在想办法为订单确认页面制作数据层 (Thankyou.php)。我想添加以下函数(通过 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
。