Я создал тему WordPress и создал множество вариантов для конечных пользователей, чтобы изменить определенные разделы сайта.
У меня возникли проблемы с текстовой областью, предназначенной для работы с пользовательским кодом Google Analytics.
Текстовая область работает, но вывод кода аналитики означает, что он не работает.
В моем файле 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>
Я замаскировал конкретный идентификатор в аналитическом коде по понятным причинам.
У кого-нибудь есть идеи относительно того, почему это происходит?
Был бы очень признателен за помощь и не может найти что-нибудь в Интернете по этому вопросу.
РЕДАКТИРОВАТЬ:
Я повторяю код в нижнем колонтитуле выше / body с этим:
<?php if( get_field('google_analytics', 'option') ) : ?><?php the_field('google_analytics', 'option'); ?><?php endif ?>
почему вы не пытаетесь использовать 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
?>
Если вы печатаете или var_dump поле, это значение уже экранировано или оно все еще содержит свое неформатированное значение?