WordPress 5.2 wprowadza nowy hak „wp_body_open”

Nowy template tag

Wczoraj pojawiła się na blogu informacja o nowej wersji WordPressa oznaczonej numerem 5.2. Aktualizacja wprowadza szereg zmian i usprawnień, między innymi otrzymaliśmy nowy template tag „wp_body_open”.

Do tej pory aby dodać kod śledzący Google Analytics lub piksel Facebooka do sekcji <head></head> lub tuż przed zamknięciem </body> korzystaliśmy z 2 zaczepów wp_head oraz wp_footer, przykładowo:

/* Facebook pixel in head section */ 

function wplab_px_facebook() {     
return '<!--- kod śledzący - piksel Facebooka --->'; 
} 
add_action( 'wp_head', 'wplab_px_facebook' ); 

Brakowało haka, dzięki któremu dodalibyśmy kod śledzący tuż po otwarciu <body>. Wersja 5.2 wprowadziła właśnie nowy template_tag „wp_body_open”.

Poprawna struktura motywu WordPress od wersji 5.2

Domyślnie <?php wp_body_open(); ?> powinno znaleźć się w naszym motywie w pliku header.php tuż po otwarciu <body> . Cała struktura motywu powinna wyglądać tak jak poniżej:

<?php /* NF Theme - Structure - WordPress 5.2 */ ?> 
<html>   
<head>
...
...
...
<?php wp_head(); ?>   
</head>   
<body>     
<?php wp_body_open(); ?> 
...
...
...
<?php wp_footer(); ?>
</body>
</html> 

Jeśli pracujesz z motywami WordPressa, to powinieneś dodać nowy template_tag wp_body_open w swoim projekcie/projektach.

Kompatybilność wsteczna

Nowy hak działa od wersji 5.2, dlatego jeśli dodamy <?php wp_body_open(); ?> do motywu na WordPressie, który posiada niższą wersję, np. 4.9.9 to możemy się spodziewać, że wystąpi błąd krytyczny, dlatego, że próbujemy wywołać funkcję, która nie istnieje!

Najlepiej zaktualizować WordPressa do wersji 5.2, ale jeśli nie możesz tego zrobić, warto dodać do pliku functions.php poniższą funkcję:

/* Backwards compatibility for WordPress prior to 5.2.0 */ 

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

Wiele skryptów śledzących nas na stronach internetowych musi zostać załadowana zanim przeglądarka pokaże nam treść danej podstrony. Dlatego od teraz, od wersji 5.2 warto korzystać z nowego haka.

Jak dodać kod za pomocą wp_body_open ?

Nic prostszego, wykorzystaj w swoim projekcie poniższą funkcję:

/* Your code after the opening <body> tag */ 

function wplab_your_code() {     
return '<!--- here write your code --->'; 
} 
add_action( 'wp_body_open', 'wplab_your_code' ); 

Pamiętajcie, że nowy template_tag nie powinien być wykorzystywany do wyświetlania normalnych elementów HTML.

Na dzisiaj to tyle! Do następnego!

Marcin Guzik

Marcin Guzik

Zafascynowany WordPressem. Użytkownik WP od 2008 roku, od wersji 2.4, albo 2.5 (nie pamiętam dokładnie). Piszę na: mrcng.pl. Zawodowo: jestem właścicielem Net-Factory. Prywatnie: mąż, ojciec, instruktor karate.

Opieka i serwis stron internetowych

Zajmij się swoim biznesem a my zajmiemy się Twoją stroną. Zapewniamy stałą opiekę oraz wyspecjalizowany serwis dla stron na WordPress oraz sklepów internetowych WooCommerce.

Wybierz coś dla siebie