Вопрос или проблема
У меня активирована дочерняя тема, и я не вижу ни head, ни body в своей дочерней теме, чтобы разместить фрагмент кода GTM.
Как мне это сделать? Я не хочу вставлять весь head и body в дочернюю тему, чтобы перезаписать родительскую тему и пропустить обновления.
Если ваша тема хорошая, в ней будет хуку wp_head
в header.php
. В functions.php
вашей дочерней темы вы можете добавить экшен, чтобы включить все, что хотите. Вот так:
add_action ('wp_head','wpse359909_add_gtm');
function wpse359909_add_gtm () {
echo 'любой код, который хотите добавить';
}
Я использую плагин Code Snippets, чтобы немного упростить управление внедренным кодом
add_action( 'wp_head', function () { ?>
<!-- скрипт для head здесь -->
<?php } );
add_action( 'wp_body_open', function () { ?>
<!-- скрипт для body здесь -->
<?php } );
Примечание: Это использует несколько новый хук wp_body_open
, введенный в WordPress 5.2 (май 2019 года). Убедитесь, что ваш WordPress 5.2 или выше и что ваша тема не слишком старая.
Ответ или решение
Для интеграции Google Tag Manager (GTM) в дочернюю тему WordPress, не заменяя содержимое родительской темы и сохраняя возможность обновлений, вы можете воспользоваться встроенными хуками WordPress. Следуйте инструкциям ниже, чтобы корректно добавить необходимый код для GTM в разделах <head>
и <body>
вашей дочерней темы.
Шаг 1: Подготовка кода GTM
Прежде всего, вам потребуется код GTM, который можно получить в вашем аккаунте Google Tag Manager. Код должен выглядеть примерно так:
<!-- Google Tag Manager -->
<script>(...)</script>
<noscript><iframe src="..."...</iframe></noscript>
<!-- End Google Tag Manager -->
Шаг 2: Добавление кода в файл functions.php
-
Откройте файл
functions.php
вашей дочерней темы. Обычно он находится по путиwp-content/themes/your-child-theme/functions.php
. -
Добавьте следующий код в конец файла:
// Добавление кода GTM в раздел <head>
add_action('wp_head', function() {
?>
<!-- Google Tag Manager -->
<script>(...)</script>
<noscript><iframe src="..."...</iframe></noscript>
<!-- End Google Tag Manager -->
<?php
});
// Добавление кода GTM в начало <body>
add_action('wp_body_open', function() {
?>
<!-- Google Tag Manager (noscript) -->
<noscript><iframe src="..."...</iframe></noscript>
<!-- End Google Tag Manager (noscript) -->
<?php
});
Шаг 3: Проверка наличия хука wp_body_open
Убедитесь, что ваша тема поддерживает хук wp_body_open
, который был введён в WordPress 5.2. Если ваша тема старше, то можно добавить функцию проверки в файл functions.php
:
if (function_exists('wp_body_open')) {
add_action('wp_body_open', function() {
?>
<!-- Google Tag Manager (noscript) -->
<noscript><iframe src="..."...</iframe></noscript>
<!-- End Google Tag Manager (noscript) -->
<?php
});
} else {
// Обработка, если хук не доступен.
}
Шаг 4: Проверка работоспособности
После добавления кода убедитесь, что изменения вступили в силу:
- Перейдите на ваш сайт и правой кнопкой на странице выберите «Просмотр кода страницы».
- Найдите добавленный код GTM в разделах
<head>
и<body>
.
Шаг 5: Альтернативный метод через плагин
Если вы предпочитаете более удобный способ управления кодом, рассмотрите возможность использования плагина, такого как Code Snippets. Это позволит вам добавлять пользовательские фрагменты кода без необходимости модифицировать файлы темы.
Заключение
Следуя этим инструкциям, вы успешно интегрируете Google Tag Manager в вашу дочернюю тему WordPress. Такой подход обеспечит сохранение совместимости с обновлениями родительской темы и позволит вам адаптировать код по мере необходимости. Убедитесь, что ваши изменения проверены и корректно отображаются на сайте. Обеспечение правильной установки GTM — это важный шаг для анализа данных и оптимизации сайта.