我遇到的情况是我只需要在某些页面上加载此脚本中的“Purchase”事件。我将它添加到 header.php
并需要在所有页面上加载FB Pixel,但只在订单确认页面上加载一个事件。如何仅根据URI加载此脚本中的一个链接?
< script>

 !function(f,b,e,v,n,t,s){
 if(f.fbq)返回;
 n = f.fbq = function(){
 n.callMethod? n.callMethod.apply(N,参数):n.queue.push(参数)
 }; 
如果(!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)}
 (窗口,文档,'脚本',
'https://connect.facebook.net/en_US/fbevents.js'); 

 fbq('init',“xxxxx”); 

 fbq('track','PageView'); 

 fbq('track','Purchase',{value:'0.00',货币:'GBP'});

< / script> 
 代码>


答案 0 :(得分:1)
您不应该在header.php
文件中加载脚本,它们应该使用wp_enqueue_scripts
挂钩加入functions.php
文件中。它会让你的生活更轻松。我还在清理过去将脚本直接加载到页眉和页脚文件中的错误。
首先,您应该保存脚本的第一部分并将其上传到主题的/js
文件夹,将其命名为" facebook-tracking.js"
<强> Facebook的tracking.js 强>:
!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', "xxxxx");
fbq('track', 'PageView');
要正确排队,请在functions.php
中 添加以下内容(但请等待):
function enqueue_fb_tracking() {
wp_enqueue_script( 'fb-tracking-js', get_stylesheet_directory_uri() . '/js/facebook-tracking.js', array(), '1.0.0' );
}
add_action( 'wp_enqueue_scripts', 'enqueue_fb_tracking' );
但是您需要在某些页面上扩展脚本。幸运的是WP有一个名为wp_add_inline_script()
的函数。所以我们也可以在那里使用is_page()
来加味它,只将它加载到你想要的页面上。
function enqueue_fb_tracking() {
wp_enqueue_script( 'fb-tracking-js', get_stylesheet_directory_uri() . '/js/facebook-tracking.js', array(), '1.0.0' );
$purchase_pages = array(
'checkout',
'some-other-page'
);
if( is_page( $purchase_pages ) ){
wp_add_inline_script( 'fb-tracking-js', "fbq('track', 'Purchase', {value: '0.00', currency: 'GBP'});" );
}
}
add_action( 'wp_enqueue_scripts', 'enqueue_fb_tracking' );
只需将您想要的页面标题,标题或ID用于跟踪&#34;购买&#34; $purchase_pages
数组中的操作。