Woocommerce facebook新的像素跟踪代码将购买增加到价值中

时间:2017-03-08 06:29:26

标签: php wordpress facebook woocommerce

我一直致力于在我的woocommerce网站上制作新的facebook像素跟踪代码功能。我有几件事我想用这个做,我已经开始我觉得最容易的地方了。首先,我想更改此代码以使用结帐小计而不是订单总额,因为我使用存款,它将订单总额更改为实际价格的20%。其次,我使用像素跟踪插件,我想将此功能添加到插件中,以便能够快速将其插入其他页面。通过将其添加到functions.php:

,我已经成功地获得了代码
// Add purchase code to order received page

function checkout_analytics( $order_id ) {
    $order = new WC_Order( $order_id );
    $currency = $order->get_order_currency();
    $total = $order->get_total();
    $date = $order->order_date;
    ?>
<!-- Facebook Pixel Code -->
<script>
!function(f,b,e,v,n,t,s){if(f.fbq)return;n=f.fbq=function(){n.callMethod?
n.callMethod.apply(n,arguments):n.queue.push(arguments)};if(!f._fbq)f._fbq=n;
n.push=n;n.loaded=!0;n.version='2.0';n.queue=[];t=b.createElement(e);t.async=!0;
t.src=v;s=b.getElementsByTagName(e)[0];s.parentNode.insertBefore(t,s)}(window,
document,'script','https://connect.facebook.net/en_US/fbevents.js');
fbq('init', 'XXXXXXXXXX'); // Insert your pixel ID here.
</script>
<script>
fbq('track', 'Purchase', {
value: <?php echo $order->get_total(); ?>,
currency: 'USD'
});
</script>
<noscript><img height="1" width="1" style="display:none"
src="https://www.facebook.com/tr?id=XXXXXXXXXX&ev=PageView&noscript=1"
/></noscript>
<!-- DO NOT MODIFY -->
<!-- End Facebook Pixel Code -->
    <?php   
}
add_action( 'woocommerce_thankyou', 'checkout_analytics' );

因此,为了尝试获取订单小计,我已经更改了这样的代码,这不起作用。它没有提取小计的值,我想我在这里有一些格式问题。 Pixel error picture

// Add purchase code to order received page

function checkout_analytics( $order_id ) {
    $order = new WC_Order( $order_id );
    $currency = $order->get_order_currency();
    $total = $order->get_total();
    $date = $order->order_date;
    $cart_subtotal = $order->subtotal_ex_tax;
    ?>
<!-- Facebook Pixel Code -->
<script>
!function(f,b,e,v,n,t,s){if(f.fbq)return;n=f.fbq=function(){n.callMethod?
n.callMethod.apply(n,arguments):n.queue.push(arguments)};if(!f._fbq)f._fbq=n;
n.push=n;n.loaded=!0;n.version='2.0';n.queue=[];t=b.createElement(e);t.async=!0;
t.src=v;s=b.getElementsByTagName(e)[0];s.parentNode.insertBefore(t,s)}(window,
document,'script','https://connect.facebook.net/en_US/fbevents.js');
fbq('init', 'XXXXXXXXXXXXXX'); // Insert your pixel ID here.
</script>
<script>
fbq('track', 'Purchase', {
value: <?php echo $order->subtotal_ex_tax; ?>,
currency: 'USD'
});
</script>
<noscript><img height="1" width="1" style="display:none"
src="https://www.facebook.com/tr?id=XXXXXXXXX&ev=PageView&noscript=1"
/></noscript>
<!-- DO NOT MODIFY -->
<!-- End Facebook Pixel Code -->
    <?php   
}
add_action( 'woocommerce_thankyou', 'checkout_analytics' );

我想让代码正常工作,然后我想将它添加到插件中,但我不确定如何完全执行此操作。我模糊的想法是复制功能,但我觉得这不会完全奏效。

1 个答案:

答案 0 :(得分:3)

在继续解决这个问题之后,我意识到了我的错误。如果有人有兴趣将它用于他们的facebook跟踪像素,他们需要做的就是修改脚本,将自己的跟踪像素ID放在你看到的XXXXXXXX

以下是正确运行的更正代码:

// Add purchase code to order received page

function checkout_analytics( $order_id ) {
    $order = new WC_Order( $order_id );
    $currency = $order->get_order_currency();
    $total = $order->get_total();
    $date = $order->order_date;
    $checkout_subtotal = $order->get_subtotal();
    ?>
<!-- Facebook Pixel Code -->
<script>
!function(f,b,e,v,n,t,s){if(f.fbq)return;n=f.fbq=function(){n.callMethod?
n.callMethod.apply(n,arguments):n.queue.push(arguments)};if(!f._fbq)f._fbq=n;
n.push=n;n.loaded=!0;n.version='2.0';n.queue=[];t=b.createElement(e);t.async=!0;
t.src=v;s=b.getElementsByTagName(e)[0];s.parentNode.insertBefore(t,s)}(window,
document,'script','https://connect.facebook.net/en_US/fbevents.js');
fbq('init', 'XXXXXXXXX'); // Insert your pixel ID here.
</script>
<script>
fbq('track', 'Purchase', {
value: <?php echo $order->get_subtotal(); ?>,
currency: 'USD'
});
</script>
<noscript><img height="1" width="1" style="display:none"
src="https://www.facebook.com/tr?id=XXXXXXXXX&ev=PageView&noscript=1"
/></noscript>
<!-- DO NOT MODIFY -->
<!-- End Facebook Pixel Code -->
    <?php   
}
add_action( 'woocommerce_thankyou', 'checkout_analytics' );