Wtyczka ACF 6.2.7 – nowe filtrowanie może popsuć Twoje iframe.

blog.hitme.pl 9 miesięcy temu

Advanced Custom Fields (ACF) to popularnie wykorzystywana przy budowie stron wtyczka dla WordPress, która umożliwia dodawanie niestandardowych pól do motywu. Za jej pomocą twórca witryny umożliwia edycję oraz wprowadzanie dowolnych treści na stronie w łatwy sposób zarówno dla siebie jak i dla Klienta. jeżeli Twój motyw WordPress używa ACF, to dzięki tej wtyczce możesz dodawać edytować swoje treści, galerie, pliki, iframe google maps… i inne. No właśnie, iframe….

Ważne zmiany w ACF od wersji 6.2.7

Począwszy od wersji 6.2.7 Advanced Custom Fields następuje kilka zmian, z których najważniejsza to wprowadzone filtrowania HTML w polach ACF, dotyczy to tagów <script> oraz <iframe>. jeżeli wprowadzasz te tagi dzięki ACF to po aktualizacji pluginu do wersji 6.2.7 może się popsuć wygląd Twojej strony i będzie wymagało to interwencji Twojej lub twórcy strony.

Twórcy ACF już od kilku miesięcy przygotowują wszystkich do tej zmiany, od wprowadzania funkcji sprawdzających, opt-in czy wyświetlania monitów w kokpicie WordPress, tak aby wszyscy mogli się przygotować do aktualizacji do wersji 6.2.7.

Czy aktualizacja ACF 6.2.7 zepsuje mi stronę?

Jeśli nie używasz wtyczki Advanced Custom Fields na swojej stronie WordPress – to nie zepsuje. Nie masz się czym martwić.

Jeśli używasz Advanced Custom Fields ale nie wprowadzasz w polach treści podczas edycji strony tagów <script> lub <iframe> – nie zepsuje.

Natomiast jeżeli jesteś programistą, wiesz iż używasz i wprowadzasz z wykorzystaniem funkcji the_field wspomniane tagi, to aktualizacja 6.2.7 wyeliminuje te tagi i spowoduje wyświetlenie kodu pomiędzy nimi.

Jak się uratować przed filtrowaniem HTML w ACF 6.2.7?

Możesz testowo aktywować filtrowanie, przed wykonaniem aktualizacji wtyczki ACF do wersji 6.2.7. Pozwoli Ci to sprawdzić zachowanie na froncie strony i szybkie cofnięcie zmian.

użyj tego kodu w functions.php

add_filter( 'acf/the_field/escape_html_optin', '__return_true' );

Spowoduje to natychmiastową aktywację filtrowania HTML z wersji 6.2.7 Advanced Custom Fields

Jeśli widzisz problemy, możesz zmienić kod PHP w plikach szablonu zamieniając funkcje the_field(); na get_field();

the_field('moj_iframe') // -> zamiana na: echo get_field('moj_iframe')

możesz także wyłączyć filtrowanie HTML w functions.php dla danego pola używając poniższej funkcji

add_filter( 'acf/the_field/allow_unsafe_html', function( $allowed, $selector ) { if ( $selector === "moj_iframe" ) { return true; } return $allowed; }, 10, 2);

Czy mogę nie aktualizować wtyczki ACF do wersji 6.2.7?

Nie będzie to dobrym pomysłem. Aktualizacje tak ważnego składnika jak wtyczka ACF dostarcza poprawek błędów i usprawnień, co może wpłynąć na stabilność i wydajność twojej strony WordPress. Po drugie, nowe wersje wtyczek często zawierają aktualizacje związane z bezpieczeństwem, co zabezpiecza twoją witrynę przed potencjalnymi zagrożeniami. Ponadto, aktualizacje wprowadzają nowe funkcje i dostosowują wtyczkę do najnowszych standardów WordPress, co pozwala unikać problemów z zgodnością. o ile mimo to wolisz nie aktualizować komponentów swojej strony, upewnij się iż trzymasz ją na dobrym hostingu.

Idź do oryginalnego materiału