基于主题选项隐藏Google Analytics代码

时间:2011-03-19 作者:snthr

我现在正在做一个WordPress主题,我希望用户能够通过添加他们的跟踪代码,将Google分析添加到他们的网站上——你知道UA-20149670-1 -键入数字。

目前,我的所有Google Analytics JavaScript代码都位于<head> 跟踪代码由用户通过主题选项文本输入表单设置。

然而,如果用户没有添加跟踪代码,那么所有的Google JavaScript仍然保留在<head>, 没有跟踪代码,使标题膨胀。

我如何对其进行编码,以便谷歌分析代码仅在用户输入其跟踪代码后出现?

此外,目前谷歌分析代码仍在使用中header.php -- 理想情况下,我想把它改为functions.php. 我怎样才能做到最好?

谢谢

2 个回复
最合适的回答,由SO网友:TheDeadMedic 整理而成

从标题中提取GA代码,并将其包装在一个连接到的函数中wp_head;

function __analytics_head()
{
    $options = get_option( \'themename_theme_options\' );
    if ( !empty( $options[\'analytics\'] ) ) :
    ?>
<script type="text/javascript">
    var _gaq = _gaq || [];
    _gaq.push([\'_setAccount\', \'<?php echo esc_js( $options[\'analytics\'] ) ; ?>\']);
    _gaq.push([\'_trackPageview\']);
    (function() {
        var ga = document.createElement(\'script\'); ga.type = \'text/javascript\'; ga.async = true;
        ga.src = (\'https:\' == document.location.protocol ? \'https://ssl\' : \'http://www\') + \'.google-analytics.com/ga.js\';
        var s = document.getElementsByTagName(\'script\')[0]; s.parentNode.insertBefore(ga, s);
    })();
</script>
    <?php
    endif;
}
add_action( \'wp_head\', \'__analytics_head\', 100 );
显然,这只是指导性代码-您检索选项的方式可能有所不同-但想法是检查是否已设置GA帐户,如果已设置,则继续打印脚本。

SO网友:stffn

在旁注上;分析代码应该位于页脚中。。。

结束

相关推荐

获取在Functions.php中设置的变量,并在我的Custom Post模板中回显它们

在我的函数中设置了以下函数。php文件,以允许我的自定义帖子类型“Slideshow”工作。add_action( \'the_post\', \'paginate_slide\' ); function paginate_slide( $post ) { global $pages, $multipage, $numpages; if( is_single() && get_post_type() == \'lom_s