WooCommerce OnClick添加到购物车未启动


WooCommerce OnClick Add to Cart Not Firing?

当有人单击"添加到购物车"按钮时,我正试图启动我的Facebook转换跟踪代码。我做了以下更改,尽管脸书仍然显示像素未经验证。

我不确定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 );

这是我的loop-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>