Lis
20
2017

Stworzyłeś nowy szablon w motywie i… go nie widać. Oto rozwiązanie.

Wraz z wydaniem WordPressa 4.9 pojawił się w nim silniejszy sposób keszowania niektórych elementów. A wraz z tym mechanizmem dostajemy bardzo niewygodny błąd.

Jeśli ktoś z Was próbował w ostatnich dniach dodać do swojego motywu szablon do wyświetlania treści (template) być może już zauważył, że na stronie edycji wpisu, w polu do wybierania szablonu, owego nie widać. Jeśli ktoś ma dużo czasu i mu się nie spieszy w pracy (albo zarabia od każdej spędzonej godziny) uzna to za mały problem: szablony bowiem się pojawiają, ale czasem nawet z godzinnym opóźnieniem. Gorzej, jeśli musimy coś zrobić „na już”.

Powodem tego błędu jest fakt, że wraz z nowym wydaniem wprowadzono cache’owanie z użyciem Transient API kilku nowych elementów, w tym także listy dostępnych szablonów. Ktoś, kto to zaimplementował, zapomniał jak wiele osób codziennie tworzy lub zmienia wordpressowe motywy – wszyscy oni potraktują to jako poważny błąd. I takim też jest, choć zwykły użytkownik nigdy na niego nie trafi.

Błąd został już zgłoszony i opracowywana jest poprawka. Najprawdopodobniej zostanie dodana reguła, który wyłączy mechanizm keszowania w sytuacji gdy stała WP_Debug ustawiona jest na true. To chyba najlepsze rozwiązanie, biorąc pod uwagę, że i tak developerzy zmienną tę powinni mieć zawsze tak ustawioną. Szkoda, że nie działa to już teraz i trzeba będzie zaczekać.

Rozwiązanie tymczasowe? Jedno to downgrade WordPressa do wersji 4.8, ale jest i drugie, lepsze: po dodaniu nowego szablonu do motywu, zwiększ numer wersji (w dowolny sposób, tak by był to ciąg unikalny, można więc do numeru wersji dodawać po prostu znacznik czasowy). Zmienna transient zawiera bowiem w sobie numer wersji motywu i przy kolejnym sprawdzeniu czy lista ma być wczytana od nowa, czy wzięta właśnie z cache, wartość tymczasowa nie zostanie znaleziona.

Nie jest to sposób najbardziej elegancki, ale działa.

Powiązane wpisy

O autorze: Konrad Karpieszuk

Jak każdy chyba tutaj zacząłem po prostu od blogowania. WordPress jednak tak mnie zafascynował, że szybko zabrałem się za tworzenie stron na nim opartych. Później przyszedł czas na pisanie poradników z nim związanych, zdarzyła się nawet książka. Współorganizowałem pierwszy polski WordCamp. Opiekuję się serwisem WPzlecenia.pl, a teraz także tym podserwisem, na którym właśnie jesteście: dev.WPzlecenia. Wszystkim życzę jak najwięcej wyniesionej WIEDZY odnośnie WordPressa. Zaparzcie kawę, usiądźcie wygodnie i - do lektury! :)

Obecnie jestem pracownikiem firmy tworzącej wtyczkę WPML (pozwala tworzyć wielojęzykowe strony), gdzie odpowiadam za jej rozwój. Jestem także autorem bardzo popularnej wtyczki sklepowej TradeMatik

Dodawanie komentarzy jest zamknięte.

Uwaga, leci reklama:

Gdzie nas czytać?

Autorzy »
Komentujący »
#wpzlecenia »