如何在WooCommerce Order Complete页面中插入Google Merchant Review JS代码

时间:2017-03-18 16:21:55

标签: javascript php wordpress woocommerce hook-woocommerce

我想完成Google Merchant Review代码要求在结帐页面上填写的变量:

<script src="https://apis.google.com/js/platform.js?onload=renderOptIn" async defer></script>

<script>
  window.renderOptIn = function() {
    window.gapi.load('surveyoptin', function() {
      window.gapi.surveyoptin.render(
        {
          "merchant_id": mymerchantid,
          "order_id": "ORDER_ID",
          "email": "CUSTOMER_EMAIL",
          "delivery_country": "COUNTRY_CODE",
          "estimated_delivery_date": "YYYY-MM-DD"
        });
    });
  }
</script>

我需要echo以下变量:

ORDER_ID :WooCommerce订单ID的ID号

CUSTOMER_EMAIL :订单的客户信息部分中列出的电子邮件

DELIVERY_COUNTRY:我认为我只能填写ES,因为我只在西班牙出售

ESTIMATED_DELIVERY_DATE:我已经有了一个用来计算发货日期的函数,所以我想我可以在这里使用那个php函数。

总之,我需要帮助确定如何在结帐页面中回显ORDER_IDCUSTOMER_EMAIL,具体地说是在所述脚本内部。我对如何这样做毫无头绪,因为我所做的一切都有一种灾难性的结果

非常感谢您的阅读!

TL; DR:如何在WooCommerce的付款后结帐页面中echo ORDER_IDCUSTOMER_EMAIL

1 个答案:

答案 0 :(得分:2)

  

如果您要向订单添加JavaScript目标转化代码   完成或Thankyou页面然后你必须使用   woocommerce_thankyou挂钩。

以下是代码:

function wh_CustomReadOrder($order_id) {
    //getting order object
    $order = wc_get_order($order_id);
    $email = $order->billing_email;
    ?>
    <script src="https://apis.google.com/js/platform.js?onload=renderOptIn" async defer></script>
    <script>
        window.renderOptIn = function () {
            window.gapi.load('surveyoptin', function () {
                window.gapi.surveyoptin.render(
                        {
                            "merchant_id": mymerchantid,
                            "order_id": "<?php echo $order_id; ?>",
                            "email": "<?php echo $email; ?>",
                            "delivery_country": "COUNTRY_CODE",
                            "estimated_delivery_date": "YYYY-MM-DD"
                        }
                );
            });
        };
    </script>
    <?php
}

add_action('woocommerce_thankyou', 'wh_CustomReadOrder');

代码进入您的活动子主题(或主题)的functions.php文件。或者也可以在任何插件PHP文件中。
代码已经过测试并且有效。

参考:

相关问题

希望这有帮助!