【问题标题】:How to Google Tag Manager DataLayer in Wordpress PHP Function如何在 Wordpress PHP 函数中使用 Google Tag Manager DataLayer
【发布时间】:2018-03-29 20:03:16
【问题描述】:

我一直在试图弄清楚如何为订单确认页面 (Thankyou.php) 创建一个数据层。我想添加以下函数(通过functions.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 wordpress google-tag-manager custom-wordpress-pages


    【解决方案1】:

    对于任何感兴趣的人,我想出了我相信的问题。假设整个事情都是 PHP 的,而阻止这种情况的唯一方法是在 &lt;script&gt; 之前添加 ?&gt; 和在 &lt;/script&gt; 之后添加 &lt;?php

    【讨论】:

    • 谢谢!在拔掉我的头发并咬掉我的指甲后,你的简单答案就成功了!我欠你一六杯啤酒:-)
    猜你喜欢
    • 2018-09-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-12-12
    相关资源
    最近更新 更多