Новый хук к тегу body

С обновлением WordPress до 5.2 был добавлен новый хук wp_body_open, позволяющий темам выводить код прямо в начале элемента <body>. Данная функция должна быть размещена прямо внутри открывающего тега <body> файла шаблона. Например:

<body <?php body_class(); ?>>
<?php wp_body_open(); ?>

Обратная совместимость

Для поддержки предыдущих версий WordPress рекомендуется использовать в своей теме обертку, чтобы предотвратить фатальные ошибки от неопределенной функции.

<?php
if ( ! function_exists( 'wp_body_open' ) ) {
    function wp_body_open() {
        do_action( 'wp_body_open' );
    }
}

Этот хук должен использоваться только для вывода невидимых элементов, таких как теги
<script> или дополнительные метаданные. Его не следует использовать для добавления произвольного содержимого HTML-кода на страницу, которое может нарушить макеты или привести к неожиданным ситуациям.

Обратите внимание, что если ваша тема будет отправлена ​​в репозиторий тем, вы не сможете использовать префикс wp_, так как он будет помечен флагом «Проверка темы». Альтернативой является непосредственный вызов do_action. Тогда пример выше будет выглядеть таким образом:

<body <?php body_class(); ?>>
<?php 
if ( function_exists( 'wp_body_open' ) ) {
    wp_body_open();
} else {
    do_action( 'wp_body_open' );
}

Плагины могут определять использование этой функции в теме, вызывая did_action ('wp_body_open') и возвращаясь к альтернативным методам, если действие не было запущено.

Понравилось? Поделись этим с другими!

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *

Этот сайт использует Akismet для борьбы со спамом. Узнайте как обрабатываются ваши данные комментариев.