WordPress 5.2 важное обновление в темах
Согласно официальному блогу, с выходом версии WordPress 5.2 появится новая функция wp_body_open() которая будет запускать action — wp_body_open.
Согласно исходникам эта функция должна идти обязательно сразу после тега <body>
Причина появления wp_body_open() #
Когда разработчик или маркетолог встраивает код Google Analytics или Метрики или Facebook Pixel в тему WordPress, то обычно это делается через action: wp_head или wp_footer, цепляя нужный код к ним.
Обычно это выглядит вот так:
function custom_code() {
return '<!-- some code -->';
}
add_action( 'wp_head', 'custom_code' );Функция wp_head() представленная в WordPress 1.2.0, запускает action wp_head который добавляет код в head тэг.
Функция wp_footer() представленная в WordPress 1.5.1, запускает action wp_footer который добавляет перед закрытием тега </body>.
Проблема в том, что невозможно в текущей реализации шаблонов добавить скрипты или стили сразу после тега </body>. Это было основной претензией со стороны маркетологов к WordPress, т.к. им нужно было добавлять код после открытия тега </body>
Новая структура темы #
В WordPress 5.2 представлена функция wp_body_open() которая запускает action wp_body_open. Все «родные» темы используют ее в файле header.php
С выходом WordPress 5.2 структура темы стала такой:
<?php // WordPress 5.2 Theme Structure ?>
<html>
<head>
..
..
<?php wp_head(); ?>
</head>
<body>
<?php wp_body_open(); ?>
..
..
<?php wp_footer(); ?>
</body>
</html>Обновление тем #
Если вы разработчик и создаете свои темы для WordPress, то необходимо внедрить новую функцию в ваши темы с выходом WordPress 5.2
