Вставьте код JavaScript в заголовки тегов на странице благодарности woocommerce - PullRequest
2 голосов
/ 13 мая 2019

Я пытаюсь добавить скрипт отслеживания 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 Ответ

1 голос
/ 13 мая 2019

Для вставки кода в теги заголовков на странице «Заказ получен» (спасибо) вы будете использовать следующее:

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 вашей активной дочерней темы (или активной темы)).Проверено и работает.

...