24+ motivi Il codice non funziona e come risolverlo
Pubblicato: 2013-08-21Collaudo sempre prima il codice per assicurarmi che funzioni, tuttavia ci sono molte ragioni per cui a volte non funziona sia per me che per altre persone che lo usano anche se non è rotto.
Ecco un elenco di alcuni dei motivi per cui il codice non funziona:
- Hai dimenticato di svuotare la cache del browser: potresti apportare modifiche CSS e pensare che non funzionino quando effettivamente lo fanno perché il browser sta effettivamente visualizzando una versione precedente di pagine che include il codice precedente. Svuota la cache del browser per essere sicuro.
- Non ha cancellato la cache del server: alcuni provider di hosting gestito utilizzano una cache lato server molto aggressiva. So che WPEngine significa che potrebbero volerci giorni prima che le modifiche CSS appaiano sul tuo sito. Puoi apportare queste modifiche che funzionano davvero ma pensare che non lo facciano perché non puoi vedere le modifiche sul front-end. Svuota la cache del server e verifica il codice in locale utilizzando la cache lato server o un plug-in di memorizzazione nella cache.
- Codice CSS incollato nel file delle funzioni: il codice CSS non funziona correttamente nel file delle funzioni che include un tag PHP di apertura che significa che viene letto da un processore PHP installato sul server.
- PHP incollato nel foglio di stile : il codice PHP non funziona in un file .css che viene letto da un browser e non da un processore PHP installato sul server.
- PHP o CSS incollati negli script di intestazione e piè di pagina: i temi che includono una casella per gli script di intestazione e piè di pagina semplificano l'aggiunta di Javascript per il monitoraggio di Google Analytics e gli script di chat dal vivo, non gli script PHP.
- L'ho copiato da una pagina web e l'ho incollato nell'editor del tema: errore molto comune che può causare la rotazione degli apostrofi con conseguente schermata bianca della morte che interrompe il tuo sito. Copia sempre il codice non elaborato e incollalo alla fine del file utilizzando un editor di testo come Notepad++.
- Non ho copiato tutto il codice: la copia di un blocco di codice CSS che non include la classe o manca una parentesi di chiusura comporterà il mancato funzionamento del codice. Quindi potresti pensare che il codice non sia un problema quando l'unico problema è che hai lasciato una parentesi o un punto e virgola dietro.
- Non ho incollato tutto il codice : come sopra e a volte succede.
- Usato i nuovi hook quando il tuo tema usa quelli vecchi: l' uso del codice che include loop hook per i siti che eseguono ancora il vecchio markup XHTML sui nuovi siti non funziona. Il codice funzionerà su siti meno recenti in modo che non sia danneggiato, ma non funzionerà su HTML 5 abilita temi figlio.
- Usato i vecchi hook quando il tuo tema usa quelli nuovi: come sopra
- Utilizzo di un vecchio browser che non supporta le classi nel codice: alcuni browser meno recenti non supportano determinate classi CSS, il che significa che il codice non farà ciò per cui è stato scritto. Puoi installare diversi browser per testare il codice o utilizzare strumenti online gratuiti per la compatibilità tra browser diversi.
- Utilizzo dell'ultima versione del browser che non supporta ancora le classi nel codice: alcuni nuovi browser non supportano alcune classi CSS, il che significa che il codice funzionerà su browser meno recenti, tuttavia potresti pensare di no perché stai utilizzando una versione beta versione o l'ultima versione che è stata appena rilasciata.
- Ho copiato il tag PHP di apertura e l'ho incollato nel file delle funzioni: gli snippet PHP generalmente includono un tag PHP di apertura, tuttavia questo non deve essere incollato in un file delle funzioni che include già quel tag. Riceverai un messaggio di errore e interromperai il tuo sito se ciò accade, il che è facile da risolvere semplicemente rimuovendo il tag. Questo è il motivo per cui è sempre consigliabile utilizzare un editor di testo per incollare il codice nel file effettivo anziché utilizzare l'editor di WordPress. Se aggiungi il codice al file effettivo, puoi riaprirlo facilmente e rimuovere rapidamente il problema, cosa che non accade se utilizzi l'editor di temi poiché verrai bloccato fuori dal sito quando subisci un errore di programmazione.
- Ho copiato e incollato entrambe le soluzioni invece di sceglierne una: molti post e forum includono più frammenti di codice che risolvono gli stessi problemi. Se incolli 2 frammenti di codice che fanno la stessa cosa, il tuo sito può essere interrotto, quindi potresti pensare che il codice sia rotto, il che non è il caso. Usa solo uno snippet alla volta.
- Codice delle funzioni copiato in un file modello: a volte troverai codice PHP che è stato scritto per essere utilizzato in un file modello anziché in un file delle funzioni dei temi figlio. Il codice del modello non funziona sempre in un file functions poiché generalmente è racchiuso in tag di apertura e chiusura PHP. Le funzioni personalizzate generalmente non significano che generalmente non funzioneranno in un file te,plate a seconda del tema. Assicurati semplicemente di sapere esattamente in quale file incollare il codice, altrimenti potresti ricevere un errore pensando che il codice non funzioni quando funziona.
- Hai installato un plug-in che sovrascrive il codice: alcuni plug-in sovrascrivono il codice PHP, il che significa che il codice con filtri e hook potrebbe non funzionare. Un esempio di questo è il plug-in Genesis Simple Edits. Se hai installato questo plug-in che ti consente di personalizzare le informazioni sul post e il meta post, l'aggiunta di codice PHP per fare la stessa cosa che include un filtro post meta o post info non funzionerà. Potresti pensare che il codice non funzioni quando in realtà funziona e tutto ciò che devi fare per risolvere il problema e far funzionare il codice è disattivare il plug-in.
- Utilizzo del codice PHP per modificare il layout in modo condizionale Questo codice non funzionerà su alcuni temi utilizzando bbPress che utilizza anche il plug-in Genesis bbPress connect. Questo plugin si aggancia ai filtri Genesis, che è la stessa cosa che fa il codice PHP per modificare i layout in modo condizionale, quindi non funzionerà poiché sovrascrive il codice.
- Utilizzo di classi CSS XHTML sul tema figlio HTML 5 – Esempio: #content non funzionerà su un tema figlio HTML 5 che utilizza .entry-content.
- Utilizzo del markup HTML su un tema XHTML – .site-header non funzionerà su un sito che esegue il markup XHTML, quindi è necessario utilizzare #header.
- Codice modello di prima pagina : qualsiasi codice nel modello di prima pagina funziona solo quando si utilizzano le impostazioni di lettura predefinite. Se modifichi queste impostazioni e selezioni una pagina statica come prima pagina, il codice nel modello della prima pagina non funzionerà.
- Aggiunti CSS dopo le query multimediali : è meglio aggiungere CSS personalizzati prima delle query multimediali, altrimenti potrebbe non funzionare.
- Aggiunto CSS per modificare lo stile della classe – Hai aggiunto CSS alla fine del foglio di stile per modificare lo stile di un elemento esistente che ha già lo stile per impostazione predefinita. Un esempio di ciò è quando modifichi un'area del widget per utilizzare il widget dei post in primo piano di Genesis quando è impostato per impostazione predefinita per utilizzare il widget della pagina in primo piano. Il tuo CSS potrebbe essere diverso ma stai usando una classe diversa. Quello che devi fare è modificare il CSS predefinito in modo che su stili più lunghi il widget della pagina in primo piano e stili solo il widget del post in primo piano.
- Codice modello home page : qualsiasi codice nel file modello home.php funzionerà solo sulla prima pagina quando si utilizzano le impostazioni di lettura predefinite. Se utilizzi una pagina statica come prima pagina, il codice funzionerà solo sulla pagina dei tuoi post (come una pagina del blog) se non hai selezionato il modello di pagina del blog dal menu a discesa. (Si applica solo ai temi che includono un modello di pagina del blog).
- Il CSS modificato in modo errato rende altri CSS interrotti : un membro ha installato del codice per creare un layout personalizzato ma non ha funzionato perché il CSS per modificare la larghezza del contenuto non ha funzionato. Hanno scoperto che altri CSS aggiunti in precedenza utilizzando !important impedivano il funzionamento del nuovo CSS.
Il codice sopra NON funzionerà se hai attivato anche il plug-in Genesis Simple Edits poiché sovrascrive il filtro delle informazioni sul post.
Questo è tutto ciò a cui riesco a pensare al momento, ma sono sicuro che ci sono molti altri motivi per cui il codice non funziona (ma funziona davvero) che potrebbero essere aggiunti a questo elenco.
Articoli correlati
- 5 punti importanti da considerare prima di ripubblicare il codice