Поддержка Проблемы и решения Добавление трекинга корзины для Пинтерест

  • Добрый день
    Пытаюсь самостоятельно сделать отслеживание Pinterest добавления в корзину Woocommerce в functions.php текущей темы.

    //Трекинг добавления в корзину
    function pinterest_add_to_cart($cartid,$product_id,$quantity,$variation_id,$request_variation,$request_cart_item_data) {
    if ( WC()->cart->is_empty() ) {
    	return;
    }
    if (empty($variation_id)) {
    	$pid = $product_id;
    } else {
    	$pid = $variation_id;
    }
    $product = wc_get_product($pid);
    $price = $product->get_price();
    $value = $price*$quantity;
    if (empty($price) or empty($value)) return;
    $echo = '';
    $echo .= '<!--Pinterest add to cart-->';
    $echo .= "
    <script>
        pintrk('track', 'addtocart', {
    		product_id: '".$product_id."',
    		value: '".$value."', 
    		order_quantity: '".$quantity."', 
    		currency: 'EUR' 
        });
    </script>
    <noscript>
     <img height=\"1\" width=\"1\" style=\"display:none;\" alt=\"\" src=\"https://ct.pinterest.com/v3/?tid=TAG&event=addtocart&ed[value]=".$value."&ed[order_quantity]=".$quantity."&ed[product_id]=".$product_id."&ed[currency]=EUR&noscript=1\" />
    </noscript>
    ";
    echo $echo;
    }
    add_action('woocommerce_add_to_cart', 'pinterest_add_to_cart',100,6);
    

    Код вроде работает, но добавляет код отслеживания перед <html>, а нужно в хидере или ещё лучше в футере. Как бы понимаю, что нужно ставить ещё хук на wp_footer() или wp_print_footer_scripts(), но не соображу, как? Функция должна быть вложена в функцию? Помогите доделать, пожалуйста.

    • Тема изменена 3 месяца, 1 неделя назад пользователем den1xxx.
    • Тема изменена 3 месяца, 1 неделя назад пользователем den1xxx.
Просмотр 1 ответа (всего 1)
  • UPD
    Решил добавлением кода в $GLOBALS
    $GLOBALS[‘pinterest_footer’] .= $echo;
    в функции и выводом в футере путём установки хука на wp_footer

    • Ответ изменён 2 месяца, 2 недели назад пользователем den1xxx.
Просмотр 1 ответа (всего 1)