我创建了一个wordpress主题,并为最终用户创建了一系列选项来改变网站的某些区域。
我正在处理用于处理用户Google分析代码的文本区域的问题。
文本区域有效,但分析代码的输出意味着它不起作用。
在我的functions.php文件中,我有一个文本区域供用户输入他们的分析代码:
array (
'key' => 'field_52e7a858b4951',
'label' => __("Tracking code", 'dansiop'),
'name' => 'google_analytics',
'type' => 'textarea',
'instructions' => __("Copy and paste your Google Analytics tracking code here. You can create a free account at: http://www.google.com/analytics/", 'storini'),
'default_value' => '',
'placeholder' => '',
'maxlength' => '',
'formatting' => 'none',
),
在我的管理员中没有根据需要提供文本区域:
[由于在这里不知名而无法发布图片] http://www.dansiop.com/analytics.png
因此,当用户输入特定的分析代码时,例如:
<script>
(function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
(i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
})(window,document,'script','//www.google-analytics.com/analytics.js','ga');
ga('create', 'XX-XXXXXXXX-X', 'auto');
ga('send', 'pageview');
</script>
代码显示在页脚的网站上。它被放置在正确的位置但是当我查看源代码时,我会看到像这样的Google Analytics代码:
<script>
(function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
(i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
})(window,document,'script','//www.google-analytics.com/analytics.js','ga');
ga('create', 'XX-XXXXXXXX-X', 'auto');
ga('send', 'pageview');
</script>
出于显而易见的原因,我已经屏蔽了分析代码中的特定ID。
任何人都有任何关于为什么会这样做的想法?
非常感谢一些帮助,无法在网上找到有关此事的任何内容。
编辑: 我用这个回显上面/身体的页脚代码:
<?php if( get_field('google_analytics', 'option') ) : ?><?php the_field('google_analytics', 'option'); ?><?php endif ?>
答案 0 :(得分:1)
为什么不尝试使用html_entity_decode()
您应该使用html_entity_decode('Your-analytic-code-variable');
<?php
if( get_field('google_analytics', 'option') ) :
echo html_entity_decode(get_field('google_analytics', 'option'), ENT_QUOTES, "ISO-8859-1");
endif
?>
答案 1 :(得分:0)
如果您打印或var_dump该字段,该值是否已转义或是否仍保留其无格式值?