Javascript 将Facebook跟踪事件附加到Woocommerce中的订单接收页面

Javascript 将Facebook跟踪事件附加到Woocommerce中的订单接收页面,javascript,php,wordpress,facebook,woocommerce,Javascript,Php,Wordpress,Facebook,Woocommerce,我正在寻找添加一个Facebook跟踪事件,其中包括购买金额和货币到WooCommerce购买确认页面,而不诉诸插件 我假设在functions.php文件中可以执行以下操作: <?php /** * Append Facebook tracking Event */ add_action( 'woocommerce_thankyou', 'facebook_tracking_thank_you_page' ); function facebook_tracking_thank_yo

我正在寻找添加一个Facebook跟踪事件,其中包括购买金额和货币到WooCommerce购买确认页面,而不诉诸插件

我假设在functions.php文件中可以执行以下操作:

<?php
/**
 * Append Facebook tracking Event
 */
add_action( 'woocommerce_thankyou', 'facebook_tracking_thank_you_page' );

function facebook_tracking_thank_you_page() {
    $currency = $order->get_order_currency();
    $total = $order->get_total();
echo ("<script>fbq('track', 'Purchase', {value: '<?php echo $total ?>',currency: '<?php echo $currency?>'});</script>");
}
?>
然而,我在页面上看到的输出是:

<script>fbq('track', 'Purchase', {value: '<?php echo  ?>',currency: '<?php echo ?>'});</script>
fbq('track','Purchase',{value:'',currency:''});

您的代码中有许多错误和错误

  • 未定义
    $order
    变量
  • 您需要在钩住的函数中添加缺少的参数
    $order\u id
  • 您需要从订单ID
  • WC\u-Order
    方法
    get\u-Order\u-currency()
    已被弃用并替换为
    get\u-currency()
  • 还有一些人
请尝试以下操作:

add_action( 'woocommerce_thankyou', 'facebook_tracking_thank_you_page', 90, 1 );
function facebook_tracking_thank_you_page( $order_id ) {
    // Get the WC_Order instance Object
    $order = wc_get_order( $order_id );

    // Output
    echo "<!-- Facebook tracking event -->
    <script>fbq('track', 'Purchase', {value: '".$order->get_total()
    ."',currency: '".$order->get_currency()."'});</script>";
}
add_action('woocommerce_thankyou','facebook_tracking_thankyou_page',90,1);
功能facebook\u跟踪\u感谢页面($order\u id){
//获取WC_Order实例对象
$order=wc\u get\u order($order\u id);
//输出
回声“
fbq('track'、'Purchase'、{value:'”)“$order->get_total()
“,货币:”“$order->get_currency().“}”);”;
}

代码进入活动子主题(或活动主题)的function.php文件。经过测试,效果良好。

太好了,谢谢。正是我想要找到的。
<script>fbq('track', 'Purchase', {value: '<?php echo  ?>',currency: '<?php echo ?>'});</script>
add_action( 'woocommerce_thankyou', 'facebook_tracking_thank_you_page', 90, 1 );
function facebook_tracking_thank_you_page( $order_id ) {
    // Get the WC_Order instance Object
    $order = wc_get_order( $order_id );

    // Output
    echo "<!-- Facebook tracking event -->
    <script>fbq('track', 'Purchase', {value: '".$order->get_total()
    ."',currency: '".$order->get_currency()."'});</script>";
}