我现在正在做一个WordPress主题,我希望用户能够通过添加他们的跟踪代码,将Google分析添加到他们的网站上——你知道UA-20149670-1
-键入数字。
目前,我的所有Google Analytics JavaScript代码都位于<head>
跟踪代码由用户通过主题选项文本输入表单设置。
然而,如果用户没有添加跟踪代码,那么所有的Google JavaScript仍然保留在<head>
, 没有跟踪代码,使标题膨胀。
我如何对其进行编码,以便谷歌分析代码仅在用户输入其跟踪代码后出现?
此外,目前谷歌分析代码仍在使用中header.php
-- 理想情况下,我想把它改为functions.php
. 我怎样才能做到最好?
谢谢
最合适的回答,由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帐户,如果已设置,则继续打印脚本。