将javascript代码插入woocommerce谢谢页面的head标签中

时间:2019-05-13 11:31:24

标签: javascript php wordpress woocommerce orders

我正在尝试向我的“谢谢”页面添加一些Google跟踪脚本。我已经编写了这段代码,该代码已将跟踪器成功地通过动态值注入到了您的感谢信中,但我需要将其添加到标签中。

function mv_google_conversion( $order_id ) {
    $order = new WC_Order( $order_id );
    $currency = $order->get_currency();
    $total = $order->get_total();
    ?>
    <script>
      gtag('event', 'conversion', {
          'send_to': 'AW-746876528/x5W1CLfA8JoBEPDckeQC',
          'value': <?php echo $total; ?>,
          'currency': '<?php echo $currency; ?>',
          'transaction_id': '<?php echo $order_id; ?>'
      });
    </script>
    <?php
  }
  add_action( 'woocommerce_thankyou', 'mv_google_conversion' );

如何通过header.php中的动态值使用此代码,或者在woocommerce谢谢页面上有一个针对标签的钩子。

1 个答案:

答案 0 :(得分:1)

您将使用以下代码在“收到的订单”(谢谢)页面的标题标签上插入代码:

add_action( 'wp_head', 'my_google_conversion' );
function my_google_conversion(){
    // On Order received endpoint only
    if( is_wc_endpoint_url( 'order-received' ) ) :

    $order_id = absint( get_query_var('order-received') ); // Get order ID

    if( get_post_type( $order_id ) !== 'shop_order' ) return; // Exit

    $order = wc_get_order( $order_id ); // Get the WC_Order Object instance
    ?>
    <script>
      gtag('event', 'conversion', {
          'send_to': 'AW-746876528/x5W1CLfA8JoBEPDckeQC',
          'value': <?php echo $order->get_total(); ?>,
          'currency': '<?php echo $order->get_currency(); ?>',
          'transaction_id': '<?php echo $order_id; ?>'
      });
    </script>
    <?php   
    endif;
}

代码进入活动子主题(或活动主题)的functions.php文件中。经过测试,可以正常工作。