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>