寻求有关通过functions.php或Wordpress中的任何其他位置插入此代码的帮助。我试过这个似乎不起作用......我在源代码中看不到它
<?php
function add_this_script_footer(){ ?>
<script type="text/javascript">
var _paq = _paq || [];
_paq.push(["trackPageView"]);
_paq.push(["enableLinkTracking"]);
(function() {
var u=(("https:" == document.location.protocol) ? "https" : "http") + "://stats.domain.com/statsapp/";
_paq.push(["setTrackerUrl", u+"piwik.php"]);
_paq.push(["setSiteId", "445"]);
var d=document, g=d.createElement("script"), s=d.getElementsByTagName("script")[0]; g.type="text/javascript";
g.defer=true; g.async=true; g.src=u+"piwik.js"; s.parentNode.insertBefore(g,s);
})();
</script> <?php }
add_action('wp_footer', 'add_this_script_footer'); ?>
谢谢你的帮助。
`
答案 0 :(得分:5)
您应该将其添加到模板文件中 - 可以添加到header.php或footer.php
答案 1 :(得分:2)
“正确”的方法是使用wp_enqueue_script并将代码放在自己的js文件中。
因此,请将跟踪代码保存在site-tracking.js等文件中。
然后在你的functions.php文件中执行以下操作:
add_action('wp_enqueue_scripts', 'my_custom_scripts');
function my_custom_scripts(){
/** here you can apply whatever logic you want to determine which pages
* your script gets included on, like wrap this in is_singular()
*/
wp_enqueue_script('tracking', get_template_directory_uri().'/js/site-tracking.js', array(), '', null, true);
}
通过这种方式,您的javascript可以正常排队,您可以在一个自包含的文件中更新它,然后根据需要取消注册。
答案 2 :(得分:2)
最灵活的方法是使用wp_enqueue_scripts
功能在子主题函数文件中使用自定义函数并自定义参数。
依赖于jQuery
add_action( 'wp_enqueue_scripts', 'child_enqueue_scripts' );
function child_enqueue_scripts() {
if ( ! is_admin() ) {
wp_register_script( 'script-handle', get_bloginfo( 'stylesheet_directory' ) . '/your.js', array( 'jquery' ), '1.0.0', true );
wp_enqueue_script( 'script-handle' );
}
}
register the script后,您可以在文件的其他代码中使用脚本句柄,而无需再次注册。
如果您希望将脚本放在结束标记之前,请将第5个参数 $ in_footer 设置为true,以便在页脚中执行。 默认值:false
此方法使您可以将WordPress和主题特定挂钩与条件标记一起使用,这比在模板文件中添加脚本更灵活。
儿童主题与家长主题
更改
get_bloginfo( 'stylesheet_directory' )
或者
get_stylesheet_directory_uri()
到
get_template_directory_uri()
在父主题中添加脚本时。
无依赖性
在子主题函数文件中使用以下示例,以获取不依赖于jQuery的没有依赖关系的脚本(如跟踪脚本)。
add_action( 'wp_enqueue_scripts', 'no_dependencies_enqueue_scripts' );
function no_dependencies_enqueue_scripts() {
if ( ! is_admin() ) {
wp_register_script( 'script-handle', get_stylesheet_directory_uri() . '/your.js', false, '1.0.0', true );
wp_enqueue_script( 'script-handle' );
}
}
注意:两个代码示例都假设包含脚本的文件位于子主题的根目录中。如果您将脚本文件添加到单独的文件夹中,请更改此路径。