Z WordPressa chętnie korzystam zarówno dla swoich “projektów”, jak i na potrzeby stron które tworzę dla klientów. I chwalę go sobie bardzo – choć oczywiście ma swoje minusy, ale kto ich nie ma…
W każdym razie, jedną z wielu pozytywnych funkcji WordPressa jest informacja w panelu zarządzania stroną o dostępnej aktualizacji motywu i/lub wtyczki. Oczywiście od razu z panelu można dokonać automatycznej aktualizacji, co zazwyczaj działa szybko i sprawnie. Choć czasem można się zdziwić…
Spis treści w artykule
WordPress i błędna aktualizacja wtyczki/motywu
Wprawdzie już kiedyś z tą sytuacją spotkałem – wtedy dotyczyło to jakiejś wtyczki, ale było to tyle wersji WordPressa temu, że chyba spodziewałem się, że problem został jakoś rozwiązany… Niestety nie…
Problem polega na tym, że gdy korzystamy z jakiegoś motywu lub wtyczki, i w repozytorium WordPressa pojawi się wtyczka/motyw o takiej samej nazwie, ale z wyższym numerkiem wersji to WordPress wyświetli nam to jako aktualizację… Nie ma znaczenia, że w parametrach będzie inny adres czy inne dane – ważne, że nazwa się zgadza.
I tak możecie się któregoś pięknego dnia zaskoczyć, gdy po aktualizacji dotychczas używana wtyczka zacznie robić coś innego, albo używany motyw znacznie zmieni swój wygląd…
Przykład z przed kilku dni dotyczący motywu “Inspire” od 7theme na stronie jest w wersji 1.0.1, autor: 7theme:
WordPress informuje mnie o dostępnej aktualizacji do wersji 2.2, ale jak spojrzeć w szczegóły tej propozycji, to się okazuje, że faktycznie mamy do czynienia z aktualizacją motywu “Inspire”, tylko jego autorem jest kto inny, i – co oczywiste – motyw wygląda całkiem inaczej:
Po aktualizacji można się zdziwić…
Wprawdzie na dziesiątki stron przez kilka lat taka sytuacja zdarzyła mi się dopiero 2 razy (kiedyś wtyczka, teraz motyw), to jednak można przypuszczać, że przy obecnej popularności WordPressa i ilości powstających “każdego dnia” wtyczek i motywów takie sytuacje mogą występować coraz częściej…
Zabezpieczenie po stronie samego repozytorium w postaci sprawdzania nazw przy wgrywaniu też niewiele da(je), bo sprawdza głównie nazwę katalog z wtyczką/motywem – a nawet jakby analizować nazwę, to w kolejnych wersjach/aktualizacjach zawsze można ją zmienić… Można porównywać oprócz nazwy motywu/wtyczki również nazwę autora – ale ta z różnych przyczyn również może ulec zmianie…
Dlatego mam nadzieję, że ekipa odpowiedzialna za rozwój WordPressa poświęci chwile również temu zagadnieniu.
Jak się zabezpieczyć?
Najprościej – dla motywu – zmienić w pliku style.css wersję na “sporo wyższą”, co powinno wstrzymać aktualizacje – choć ma to taką wadę, że gdy pojawi się “prawdziwa aktualizacja” nie zobaczymy informacji o niej.
Można też dodać funkcję w functions.php, ale to ma podobne wady jak rozwiązanie powyżej, choć może dałoby się to napisać tak, by przy aktualizacji następowała również weryfikacja autora wtyczki/motywu.
Dlatego chyba najlepsze wyjście, gdy zajedzie taka sytuacja to skontaktować się z deweloperem, i ew do czasu rozwiązania problemu zachować ostrożność przy aktualizacji danego motywu lub wtyczki.
- Mały dron, duże zamieszanie, czyli seria DJI Mini i zabawa w klasy (unijne klasy dla dronów) z EASA i użytkownikami - 1970-01-01
- Opcja “restore_from_flash”, czyli sposób na zapamiętywanie ustawień w ESPHome na układach ESP8266 - 1970-01-01
- Blokowe szablony powiadomień (block notice) w WooCommerce, nawet w klasycznych motywach - 1970-01-01