Ponad 24 powody, dla których kod nie działa i jak go naprawić
Opublikowany: 2013-08-21Zawsze najpierw testuję kod, aby upewnić się, że działa, jednak jest wiele powodów, dla których czasami nie działa on zarówno dla mnie, jak i innych osób, które go używają, nawet jeśli nie jest zepsuty.
Oto lista niektórych przyczyn, dla których kod nie działa:
- Zapomniałem wyczyścić pamięć podręczną przeglądarki: możesz wprowadzić zmiany CSS i pomyśleć, że nie działają, gdy faktycznie działają, ponieważ przeglądarka faktycznie wyświetla starszą wersję stron, która zawiera starszy kod. Aby się upewnić, wyczyść pamięć podręczną przeglądarki.
- Nie wyczyszczono pamięci podręcznej serwera: niektórzy dostawcy hostingu zarządzanego używają bardzo agresywnego buforowania po stronie serwera. Wiem, że WPEngine oznacza, że może minąć kilka dni, zanim zmiany CSS pojawią się w Twojej witrynie. Możesz wprowadzić te zmiany, które naprawdę działają, ale myślisz, że tak nie jest, ponieważ nie możesz zobaczyć zmian na interfejsie. Wyczyść pamięć podręczną serwera i przetestuj kod lokalnie, używając pamięci podręcznej po stronie serwera lub wtyczki pamięci podręcznej.
- Wklejony kod CSS do pliku funkcji: Kod CSS nie działa poprawnie w pliku funkcji, który zawiera otwierający tag PHP, co oznacza, że jest odczytywany przez procesor PHP zainstalowany na serwerze.
- Wklejono PHP do arkusza stylów : kod PHP nie działa w pliku .css, który jest odczytywany przez przeglądarkę, a nie przez procesor PHP zainstalowany na serwerze.
- Wklejono PHP lub CSS do skryptów nagłówka i stopki: Motywy, które zawierają pole na skrypty nagłówka i stopki, ułatwiają dodawanie kodu JavaScript do śledzenia Google Analytics i skryptów czatu na żywo, a nie skryptów PHP.
- Skopiowałem go ze strony internetowej i wkleiłem do edytora motywów: Bardzo częsty błąd, który może spowodować odwrócenie się Apostrofów, co spowoduje biały ekran śmierci, który psuje twoją witrynę. Zawsze kopiuj surowy kod i wklej go na końcu pliku za pomocą edytora tekstu, takiego jak Notepad ++.
- Nie skopiowano całego kodu: Skopiowanie bloku kodu CSS, który nie zawiera klasy lub brakuje nawiasu zamykającego, spowoduje, że kod nie będzie działał. Możesz więc pomyśleć, że kod nie jest w porządku, gdy jedynym problemem jest to, że zostawiłeś nawias lub średnik za sobą.
- Nie wkleiłem całego kodu : tak samo jak powyżej i czasami się zdarza.
- Używano nowych zaczepów, gdy w motywie są używane stare: Używanie kodu, który zawiera zaczepy pętli w witrynach, które nadal używają starych znaczników XHTML na nowych witrynach, nie działa. Kod będzie działał na starszych witrynach, więc nie jest zepsuty, ale nie będzie działał w HTML 5, włączając motywy podrzędne.
- Użyto starych haczyków, gdy twój motyw używa nowych: Tak samo jak powyżej
- Korzystanie ze starej przeglądarki, która nie obsługuje klas w kodzie: Niektóre starsze przeglądarki nie obsługują niektórych klas CSS, co oznacza, że kod nie zrobi tego, do czego został napisany. Możesz zainstalować kilka przeglądarek, aby przetestować kod lub skorzystać z bezpłatnych narzędzi online w celu zapewnienia zgodności z różnymi przeglądarkami.
- Korzystanie z najnowszej wersji przeglądarki, która nie obsługuje jeszcze klas w kodzie: Niektóre nowe przeglądarki nie obsługują niektórych klas CSS, co oznacza, że kod będzie działał na starszych przeglądarkach, jednak możesz pomyśleć, że tak nie jest, ponieważ używasz wersji beta wersja lub najnowsza wersja, która dopiero się ukazała.
- Skopiowano otwierający tag PHP i wkleiłem go do pliku funkcji: Fragmenty PHP zazwyczaj zawierają otwierający tag PHP, jednak nie należy go wklejać do pliku funkcji, który już zawiera ten tag. Otrzymasz komunikat o błędzie i zepsujesz witrynę, jeśli tak się stanie, co można łatwo naprawić, usuwając tag. Z tego powodu zawsze najlepszą praktyką jest używanie edytora tekstu do wklejania kodu do rzeczywistego pliku, zamiast korzystania z edytora WordPress im. Jeśli dodasz kod do rzeczywistego pliku, możesz go łatwo ponownie otworzyć i szybko usunąć problem, co nie ma miejsca w przypadku korzystania z edytora motywów, ponieważ w przypadku wystąpienia błędu programistycznego zostaniesz zablokowany.
- Skopiowano i wkleiłem oba rozwiązania, zamiast wybierać jedno: wiele postów i forów zawiera wiele fragmentów kodu, które rozwiązują te same problemy. Jeśli wkleisz 2 fragmenty kodu, które robią to samo, może to spowodować uszkodzenie witryny, więc możesz pomyśleć, że kod jest uszkodzony, co nie jest prawdą. Używaj tylko jednego fragmentu na raz.
- Skopiowany kod funkcji do pliku szablonu: Czasami można znaleźć kod PHP, który został napisany do użycia w pliku szablonu, a nie w pliku funkcji motywów potomnych. Kod szablonu nie zawsze działa w pliku funkcji, ponieważ jest zwykle opakowany w znaczniki otwierające i zamykające PHP. Niestandardowe funkcje generalnie nie oznaczają, że generalnie nie będą działać w pliku te,plate w zależności od motywu. Po prostu upewnij się, że wiesz dokładnie, do którego pliku wkleić kod, w przeciwnym razie możesz otrzymać błąd, że kod nie działa, gdy tak się dzieje.
- Masz zainstalowaną wtyczkę, która nadjeżdża z kodu: Niektóre wtyczki nadjeżdżają z kodu PHP, co oznacza kod z filtrami i podpięciami, które mogą nie działać. Przykładem tego jest wtyczka Genesis Simple Edits. Jeśli masz zainstalowaną tę wtyczkę, która umożliwia dostosowanie informacji o wpisie i meta wpisu, dodanie kodu PHP w celu wykonania tego samego, co obejmuje meta wpisu lub filtr informacji o wpisie, nie zadziała. Możesz myśleć, że kod nie działa, podczas gdy w rzeczywistości działa i wszystko, co musisz zrobić, aby rozwiązać problem i sprawić, by kod działał, to dezaktywować wtyczkę.
- Używanie kodu PHP do warunkowej zmiany układu Ten kod nie będzie działał na niektórych motywach używających bbPress, które również używają wtyczki Genesis bbPress connect. Ta wtyczka łączy się z filtrami Genesis, co jest tym samym, co kod PHP, aby warunkowo zmieniać układy, więc nie będzie działać, ponieważ przejeżdża przez kod.
- Używanie klas CSS XHTML w motywie potomnym HTML 5 – Przykład: #content nie będzie działać w motywie potomnym HTML 5, który używa .entry-content.
- Używanie znaczników HTML w motywie XHTML — .site-header nie będzie działać w witrynie obsługującej znaczniki XHTML, więc musisz użyć #header.
- Kod szablonu pierwszej strony — dowolny kod w szablonie pierwszej strony działa tylko wtedy, gdy używasz domyślnych ustawień czytania. Jeśli zmienisz te ustawienia i wybierzesz stronę statyczną jako stronę główną, kod w szablonie strony głównej nie będzie działał.
- Dodano CSS po zapytaniach o media – najlepiej dodać niestandardowy CSS przed zapytaniami o media, w przeciwnym razie może nie działać.
- Dodano CSS do modyfikacji klasy , która ma już styl — dodałeś CSS na końcu arkusza stylów, aby zmienić stylizację istniejącego elementu, który jest już stylizowany domyślnie. Przykładem tego jest zmodyfikowanie obszaru widżetu tak, aby używał widżetu polecanych postów Genesis, gdy jest on domyślnie stylizowany na użycie widżetu polecanej strony. Twój CSS może być inny, ale używasz innej klasy. To, co musisz zrobić, to zmodyfikować domyślny CSS, tak aby stylizował on dłużej widżet polecanej strony i stylizował tylko widżet polecanego posta.
- Kod szablonu strony głównej — dowolny kod w pliku szablonu home.php będzie działał tylko na stronie głównej, jeśli użyjesz domyślnych ustawień czytania. Jeśli jako stronę główną używasz strony statycznej, kod będzie działał na stronie Twoich postów (takich jak strona bloga), jeśli nie wybrałeś szablonu strony blogu z menu rozwijanego. (Dotyczy tylko motywów z dołączonym szablonem strony bloga).
- Nieprawidłowo zmodyfikowany CSS powoduje przerwanie innego CSS — członek zainstalował kod w celu utworzenia niestandardowego układu, ale nie zadziałał, ponieważ CSS modyfikujący szerokość treści nie działał. Odkryli inne CSS, które dodali wcześniej za pomocą !ważne, uniemożliwiło działanie nowego CSS.
Powyższy kod NIE będzie działał, jeśli masz również aktywowaną wtyczkę Genesis Simple Edits, ponieważ przejeżdża ona przez filtr informacji o wpisie.
To wszystko, o czym mogę myśleć w tej chwili, ale jestem pewien, że jest wiele innych powodów, dla których kod nie działa (ale naprawdę działa), które można dodać do tej listy.
powiązane posty
- 5 ważnych punktów do rozważenia przed ponownym opublikowaniem kodu