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