Вопрос или проблема
У меня возникла проблема: у меня есть клиент, который хочет, чтобы код Google Analytics был только на одной странице. Я использую следующий код is_page в footer.php
своей дочерней теме, но он не отображается на странице. Этот код правильный?
<?php if ( is_page( 'contact' )) {
echo '<script type="text/javascript">/* <![CDATA[ */
var google_conversion_id = 000000000;
var google_conversion_language = "en";
var google_conversion_format = "3";
var google_conversion_color = "ffffff";
var google_conversion_label = "000000000";
var google_remarketing_only = false;
/* ]]> */</script>
<script type="text/javascript" src="https://www.googleadservices.com/pagead/conversion.js"></script>
<noscript><div style="display:inline;"><img height="1" width="1" style="border-style:none;" alt="" src="https://www.googleadservices.com/pagead/conversion/000000000/?label=000000000&guid=ON&script=0"/></div></noscript>';
} ?>
Вместо слага страницы используйте идентификатор страницы, например is_page(12)
, где идентификатор страницы 12.
Редактировать
Ваш код должен работать, боюсь, что слаг вашей страницы не совпадает, поэтому будет безопаснее использовать идентификатор страницы вместо слага.
Я бы предложил просто использовать некоторое настраиваемое поле, чтобы добавить флаг “отслеживать этот пост”. Допустим, вы используете имя ga_tracking_enabled
.
В вашем footer.php
вы можете просто проверить метаданные этого поста для включения отслеживания:
if ( get_post_meta( get_the_ID(), 'ga_tracking_enabled', true ) ) {
// Код отслеживания GA здесь
}
Вы можете сделать это немного более дружелюбным для пользователя, добавив небольшой плагин, который добавляет настраиваемый метабокс с переключателем для установки поля ga_tracking_enabled
на true
.
Важно:
1. Не используйте КОНКРЕТНЫЙ идентификатор поста, так как это не гарантирует его сохранение (думайте: перемещение вашей базы данных)
2. и не используйте КОНКРЕТНЫЙ слаг страницы, так как если уже есть пост с этим URL, вы получите -2
и т.д., что опять сломает ваши изменения.
Если у вас есть mywebsite/contact как URL, он должен появиться в нижнем колонтитуле. Убедитесь, что слаг “contact” или используйте идентификатор страницы, как предложил Закар. Вы можете найти идентификатор страницы, перейдя в Страницы
в админ-области и наведя курсор на контактную страницу. Вы увидите его в нижнем левом углу экрана в URL mywebsite/wp-admin/post.php?post=10$action=edit
–> идентификатор поста = 10
Ответ или решение
Чтобы установить код отслеживания Google Analytics только на одной странице сайта WordPress, необходимо использовать правильный подход в вашем файле footer.php. Ваш исходный код, как вы указали, содержит конструкцию is_page
и задает отслеживание для страницы с именем "contact". Однако если код не работает, это может быть связано как с ошибками в написании, так и с особенностями конфигурации самой страницы.
Альтернативные Подходы к Решению Проблемы
1. Проверка Страницы по ID
Более надежный способ – использовать идентификатор страницы (ID), поскольку он не изменится при перемещении или изменении названия страницы. Например:
<?php if ( is_page( 12 ) ) { // Замените 12 на фактический ID вашей страницы
echo '<script type="text/javascript">
var google_conversion_id = 000000000;
var google_conversion_language = "en";
var google_conversion_format = "3";
var google_conversion_color = "ffffff";
var google_conversion_label = "000000000";
var google_remarketing_only = false;
</script>
<script type="text/javascript" src="https://www.googleadservices.com/pagead/conversion.js"></script>
<noscript><div style="display:inline;"><img height="1" width="1" style="border-style:none;" alt="" src="https://www.googleadservices.com/pagead/conversion/000000000/?label=000000000&guid=ON&script=0"/></div></noscript>';
} ?>
Вы можете найти ID вашей страницы, наведя курсор на заголовок страницы в админке WordPress. В строке состояния браузера должно появиться что-то вроде mywebsite/wp-admin/post.php?post=10&action=edit
, где 10
– это ID.
2. Использование Пользовательского Поля (Custom Field)
Для более удобного и гибкого решения вы можете использовать пользовательское поле для активации отслеживания на странице. Например, создайте поле с именем ga_tracking_enabled
и установите его значение в true
для страницы, на которую необходимо добавить код отслеживания.
В вашем footer.php код будет выглядеть следующим образом:
<?php if ( get_post_meta( get_the_ID(), 'ga_tracking_enabled', true ) ) {
echo '<script type="text/javascript">
var google_conversion_id = 000000000;
var google_conversion_language = "en";
var google_conversion_format = "3";
var google_conversion_color = "ffffff";
var google_conversion_label = "000000000";
var google_remarketing_only = false;
</script>
<script type="text/javascript" src="https://www.googleadservices.com/pagead/conversion.js"></script>
<noscript><div style="display:inline;"><img height="1" width="1" style="border-style:none;" alt="" src="https://www.googleadservices.com/pagead/conversion/000000000/?label=000000000&guid=ON&script=0"/></div></noscript>';
} ?>
Чтобы сделать это решение более удобным, вы можете создать админский интерфейс для добавления мета-поля с помощью небольшого плагина, который добавляет метабокс с переключателем для включения или отключения данного поля.
Важно Учесть
- Не используйте фиксированные ID или слаги: Это может вызвать проблемы, если страницы будут перемещены или переименованы. Вместо этого используйте метод с пользовательскими полями.
- Тестирование: После добавления кода проверьте, работает ли отслеживание с помощью расширения для браузера или анализа данных в Google Analytics.
Следуя этим рекомендациям, вы сможете успешно интегрировать код отслеживания Google Analytics только на нужной странице вашего сайта, что будет благоприятно сказываться на аналитике и управлении данными.