Envato Elements - pobierasz co chcesz, ile chcesz

Dziś zadebiutował publicznie WordPress 5.2 „Jaco” (od Jaco Pastorius), który przyniósł kilka zmian, jak to w przypadku aktualizacji bywa. Wśród zmian mamy dodatkowe strony związane z usługą „Site Health” (opcja, która pojawiła się wraz z 5.1), gdzie możemy sprawdzić stan witryny („stan witryny pokazuje krytyczne informacje na temat konfiguracji WordPressa i innych elementów, które wymagają twojej uwagi”), oraz uzyskać dodatkowe informacje o samej stronie („strona pokazuje każdy szczegół konfiguracji twojej witryny opartej o system WordPress”). Poprawiono też mechanizm zarządzania i kontrolowania ewentualnych błędów PHP, wraz ze specjalnym trybem awaryjnym (recovery mode). Ale dla mnie chyba najistotniejszą zmiana jest nowa funkcja, a wraz z nią nowy filtr, dzięki któremu można będzie w prosty sposób dodać kod zaraz za znacznikiem <body>.

Nowy filtr/akcja (hak) dla motywów (wp_body_open)

Oczywiście nie jest to coś, z czego skorzysta każdy użytkownik WordPressa, ale jest to opcja, której wielokrotnie mi brakowało w WordPressie, i zastanawiałem się, czy i ew. kiedy w końcu się pojawi. Oczywiście można było to obejść, ale… teraz będzie natywnie. Przynajmniej gdy deweloperzy zaktualizują motywy, wprowadzając nową funkcję w odpowiednim miejscu struktury strony:

<html>
	<head>
		<?php wp_head(); // filtr: wp_head ?>
	</head>
	<body>
		<?php wp_body_open(); // nowy filtr: wp_body_open ?>
		<?php wp_footer(); // filtr: wp_footer ?>
	</body>
</html>

Dzięki temu obok możliwości wstrzykiwania kodu do nagłówka (funkcja wp_head() i filtr wp_head, znacznik HTML <head>), czy stopki (funkcja wp_footer() i filtr wp_footer, tuż przed znacznikiem HTML </body>) będziemy mogli wstrzyknąć kod również na samym początku sekcji głównej strony, czyli „body”:

function webinsider_wp_body_open_custom_code() {
    // Jakiś kod zaraz za znacznikiem <body>
}
add_action( 'wp_body_open', 'webinsider_wp_body_open_custom_code' );

Teraz – tak jak napisałem – pozostaje poczekać, aż odpowiednia funkcja zostanie wdrożona w motywach. I o ile na potrzeby własnych stron można już będzie z nowego filtra korzystać (czy po aktualizacji motywu przez dewelopera, czy po samodzielnej modyfikacji – pamiętając, by użyć motywu potomnego), to w przypadku wdrożeń „bardziej uniwersalnych” (np. wtyczka ogólnodostępna) warto zweryfikować, czy motyw wspiera nowy filtr:

function webinsider_wp_body_open_custom_code() {
    // Jakiś kod zaraz za znacznikiem <body>
}
if ( did_action( 'wp_body_open' ) ) {
	add_action( 'wp_body_open', 'webinsider_wp_body_open_custom_code' );
} else {
	...
}

Bo nie ma co się oszukiwać, ale nie każdy autor nawet aktualnie dostępnego motywu (bezpłatnego, ale i komercyjnego) dokona (szybkiej) aktualizacji, tak samo, jak nie każdy użytkownik (administrator) strony dokona jego aktualizacji…

(!) Zgłoś błąd na stronie
Potrzebujesz profesjonalnej pomocy? Skontaktuj się z nami!
Spodobał Ci się artykuł? Zapisz się do naszego Newslettera - ZERO SPAMu, same konkrety, oraz dostęp do dodatkowych materiałów przeznaczonych dla subskrybentów!
Na podany adres e-mail otrzymasz od nas wiadomość e-mail, w której znajdziesz link do potwierdzenia subskrypcji naszego Newslettera. Dzięki temu mamy pewność, że nikt nie dodał Twojego adresu przez przypadek. Jeśli wiadomość nie przyjdzie w ciągu najbliższej godziny (zazwyczaj jest to maksymalnie kilka minut) sprawdź folder SPAM.

Patryk

CEO Webinsider.pl, a do tego CTO, CIO, CFO, CMO, CSO, COO i CRO ;-)
Pasjonat nowych technologii - od sprzętu po oprogramowanie, od serwerów po smartfony i rozwiązania IoT. Potencjalnie kiepski bloger, bo nie robi zdjęć "talerza" zanim zacznie jeść.

Dumny przyjaciel swoich psów :-)
Envato Elements - pobieraj co chcesz, ile chcesz
Napisz komentarz
wipl_napisz-komentarz_01Jeśli informacje zawarte na tej stronie okazały się pomocne, możesz nam podziękować zostawiając poniżej swój komentarz.

W tej formie możesz również zadać dodatkowe pytania dotyczące wpisu, na które – w miarę możliwości – spróbujemy Ci odpowiedzieć.
Linki partnerskie
Niektóre z linków na tej stronie to tzw. „linki partnerskie”, co oznacza, że jeśli klikniesz na link i dokonasz wymaganej akcji (np. zakup/rejestracja) możemy otrzymać za to prowizję. Pamiętaj, że polecamy tylko te produkty i usługi, z których sami korzystamy, i uważamy, że są tego na prawdę warte… :-)
Znaki towarowe i nazwy marek
W niektórych wpisach (oraz innych miejscach na stronie) mogą być przedstawione/użyte znaki towarowe i/lub nazwy marek, które stanowią własność intelektualną tych podmiotów, a zostały użyte wyłącznie w celach informacyjnych.