Между тегами <body></body> всегда размещают какие-либо скрипты, которые должны работать на всех страницах сайта. Если раньше в WordPress не было «крючка» для вставки кода сразу после открытия тега <body>, то такая возможность появилась в версии WP 5.2. Новая функция wp_body_open() запускает action wp_body_open. Чтобы данное действие было возможным, в файле header.php вашей темы должна быть добавлена функция <?php wp_body_open(); ?>. Структура темы будет выглядеть так:
<?php // WordPress 5.2 Theme>
<html>
<head>
...
<?php wp_head(); ?>
</head>
<body>
<?php wp_body_open(); ?>
...
<?php wp_footer(); ?>
</body>
</html>
И теперь, чтобы не затрагивать наш структурный файл темы, добавим следующий хук в functions.php, а еще лучше подключим фрагмент кода при помощи плагина Code Snippets.
function body_open_script() {
return '<!-- какой-то код -->';
}
add_action( 'wp_head', 'body_open_script' );
Рассмотрим вставку кода на примере Google Tag Manager.
function webkato_google_tag_manager_after_body_open() {
?>
<!-- Google Tag Manager (noscript) -->
<noscript><iframe src="https://www.googletagmanager.com/ns.html?id=GTM-XXXX" height="0" width="0" style="display:none;visibility:hidden"></iframe></noscript>
<!-- End Google Tag Manager (noscript) -->
<?php
}
add_action( 'wp_body_open', 'webkato_google_tag_manager_after_body_open' );
Хочу напомнить, что данная функция доступна только с версии 5.2 WordPress и выше. Если вы обновились, но ваша тема не содержит функцию wp_body_open(), то добавьте ее так:
if ( ! function_exists( 'wp_body_open' ) ) {
function wp_body_open() {
do_action( 'wp_body_open' );
}
}
