WooCommerce OnClick添加到购物车不烧?

问题描述:

我想让我的Facebook转换跟踪代码在有人点击添加到购物车按钮时触发。我做了以下更改,尽管Facebook仍然将像素显示为未验证。WooCommerce OnClick添加到购物车不烧?

我不确定ajax添加到购物车是否会干扰onclick事件。

这是我添加到购物车按钮:

echo apply_filters('woocommerce_loop_add_to_cart_link', 
    sprintf('<a href="%s" rel="nofollow" data-product_id="%s" data-product_sku="%s" data-quantity="%s" onclick="facebookConversionPixel(%s);" class="button %s product_type_%s">%s</a>', 
     esc_url($product->add_to_cart_url()), 
     esc_attr($product->id), 
     esc_attr($product->get_sku()), 
     esc_attr(isset($quantity) ? $quantity : 1), 
     esc_attr($product->get_price()), 
     $product->is_purchasable() && $product->is_in_stock() ? 'add_to_cart_button' : '', 
     esc_attr($product->product_type), 
     esc_html($product->add_to_cart_text()) 
    ), 
$product); 

这是我的环start.php文件的一部分:

<script> 
function facebookConversionPixel(fb_value){ 
    var _fbq = window._fbq || (window._fbq = []); 
    if (!_fbq.loaded) { 
    var fbds = document.createElement('script'); 
    fbds.async = true; 
    fbds.src = '//connect.facebook.net/en_US/fbds.js'; 
    var s = document.getElementsByTagName('script')[0]; 
    s.parentNode.insertBefore(fbds, s); 
    _fbq.loaded = true; 
    } 
})(); 
window._fbq = window._fbq || []; 
window._fbq.push(['track', '6018460172323', {'value':+ fb_value,'currency':'USD'}]); 
} 
</script> 
<ul class="products clearfix products-<?php echo $woocommerce_loop['columns']; ?>"> 

我刚添加的fb_value,我不知道如果我正确添加它。我确实没有尝试过,但仍未在Facebook上显示验证结果。

使用以下脚本将信息加载到页面上,并等待添加到购物车按钮来触发跟踪代码和金额。

<script> 
(function() { 
    var _fbq = window._fbq || (window._fbq = []); 
    if (!_fbq.loaded) { 
    var fbds = document.createElement('script'); 
    fbds.async = true; 
    fbds.src = '//connect.facebook.net/en_US/fbds.js'; 
    var s = document.getElementsByTagName('script')[0]; 
    s.parentNode.insertBefore(fbds, s); 
    _fbq.loaded = true; 
    } 
})(); 
function facebookConversionPixel(fb_value) { 
    window._fbq = window._fbq || []; 
    window._fbq.push(['track', '6018460172323', {'value':fb_value,'currency':'USD'}]); 
} 
</script>