Peste 24 de motive pentru care codul nu funcționează și cum să îl remediați
Publicat: 2013-08-21Întotdeauna testez codul mai întâi pentru a mă asigura că funcționează, totuși există multe motive pentru care uneori nu funcționează atât pentru mine, cât și pentru alți oameni care îl folosesc, deși nu este stricat.
Iată o listă cu câteva dintre motivele pentru care codul nu funcționează:
- Am uitat să ștergeți memoria cache a browserului: puteți face modificări CSS și credeți că nu funcționează atunci când o fac, deoarece browserul afișează de fapt o versiune mai veche a paginilor care includ codul mai vechi. Goliți memoria cache a browserului pentru a vă asigura.
- Nu a șters memoria cache a serverului: Unii furnizori de găzduire gestionată folosesc cache foarte agresive pe partea serverului. Știu că WPEngine înseamnă că poate dura câteva zile înainte ca modificările CSS să apară pe site-ul tău. Puteți face aceste modificări care chiar funcționează, dar credeți că nu, deoarece nu puteți vedea modificările pe front-end. Ștergeți memoria cache a serverului și testați codul la nivel local pentru utilizarea memoriei cache pe partea serverului sau a unui plugin de stocare în cache.
- Cod CSS inserat în fișierul de funcții: codul CSS nu funcționează corect în fișierul de funcții, care include o etichetă PHP de deschidere, ceea ce înseamnă că este citit de un procesor PHP instalat pe server.
- PHP a fost lipit în foaia de stil : codul PHP nu funcționează într-un fișier .css care este citit de un browser și nu de un procesor PHP instalat pe server.
- S-a inserat PHP sau CSS în scripturile antet și subsol: temele care includ o casetă pentru scripturile antet și subsol fac acest lucru pentru a facilita adăugarea Javascript pentru urmărirea Google Analytics și scripturi de chat live, nu scripturi PHP.
- L-am copiat de pe o pagină web și l-am lipit în editorul de teme: greșeală foarte comună care poate face ca Apostrofele să se întoarcă, rezultând în ecranul alb al morții care vă distruge site-ul. Copiați întotdeauna codul brut și inserați-l la sfârșitul fișierului folosind un editor de text precum Notepad++.
- Nu ați copiat tot codul: copierea unui bloc de cod CSS care nu include clasa sau care lipsește o paranteză de închidere va duce la nefuncționarea codului. Așa că s-ar putea să credeți că codul nu este un geed când singura problemă este că ați lăsat o paranteză sau un punct și două puncte în urmă.
- Nu ați lipit tot codul : La fel ca mai sus și se întâmplă uneori.
- A folosit noile cârlige când tema dvs. le folosește pe cele vechi: utilizarea codului care include cârlige Loop pentru site-urile care încă rulează vechiul marcaj XHTML pe site-uri noi nu funcționează. Codul va funcționa pe site-uri mai vechi, astfel încât să nu fie rupt, dar nu va funcționa pe HTML 5 activează temele secundare.
- Ai folosit cârligele vechi când tema ta le folosește pe cele noi: La fel ca mai sus
- Utilizarea unui browser vechi care nu acceptă clasele din cod: Unele browsere mai vechi nu acceptă anumite clase CSS, ceea ce înseamnă că codul nu va face ceea ce este scris. Puteți instala mai multe browsere pentru a testa codul sau puteți utiliza instrumente online gratuite pentru compatibilitatea între browsere.
- Utilizarea celei mai recente versiuni de browser care nu acceptă încă clasele din cod: Unele browsere noi nu acceptă unele clase CSS, ceea ce înseamnă că codul va funcționa pe browsere mai vechi, dar este posibil să credeți că nu, deoarece utilizați o versiune beta versiunea sau cea mai recentă versiune care tocmai a fost lansată.
- Ați copiat eticheta PHP de deschidere și ați lipit-o în fișierul dvs. de funcții: fragmentele PHP includ în general o etichetă PHP de deschidere, dar aceasta nu ar trebui să fie lipită într-un fișier de funcții care include deja acea etichetă. Veți primi un mesaj de eroare și veți sparge site-ul dacă se întâmplă acest lucru, ceea ce este ușor de remediat prin simpla eliminare a etichetei. Acesta este motivul pentru care este întotdeauna cea mai bună practică de a folosi un editor de text pentru a lipi codul în fișierul real, mai degrabă decât de a folosi editorul WordPress. Dacă adăugați codul la fișierul real, îl puteți redeschide cu ușurință și puteți elimina problema rapid, ceea ce nu este cazul dacă utilizați editorul de teme, deoarece veți fi blocat în afara site-ului atunci când suferiți o eroare de programare.
- Copiat și lipit ambele soluții în loc să alegeți una: multe postări și forumuri includ mai multe fragmente de cod care rezolvă aceleași probleme. Dacă inserați 2 fragmente de cod care fac același lucru, site-ul vă poate distruge, astfel încât puteți crede că codul este rupt, ceea ce nu este cazul. Folosiți un singur fragment o dată.
- Cod de funcții copiat într-un fișier șablon: uneori veți găsi cod PHP care a fost scris pentru a fi folosit într-un fișier șablon, mai degrabă decât într-un fișier cu funcții cu teme secundare. Codul șablon nu funcționează întotdeauna într-un fișier cu funcții, deoarece este în general înfășurat în etichete de deschidere și închidere PHP. Funcțiile personalizate, în general, nu înseamnă că, în general, nu vor funcționa într-un fișier te,plate, în funcție de temă. Pur și simplu asigurați-vă că știți exact în ce fișier să lipiți codul, altfel este posibil să primiți o eroare crezând că codul nu funcționează atunci când o face.
- Aveți instalat un plugin care trece peste codul: Unele pluginuri peste codul PHP, ceea ce înseamnă că codul cu filtre și cârlige poate să nu funcționeze. Un exemplu în acest sens este pluginul Genesis Simple Edits. Dacă aveți instalat acest plugin care vă permite să personalizați informațiile postării și meta postarea, adăugarea de cod PHP pentru a face același lucru care include un meta post sau filtru de informații postare nu va funcționa. S-ar putea să credeți că codul nu funcționează când de fapt funcționează și tot ce trebuie să faceți pentru a rezolva problema și a face codul să funcționeze este să dezactivați pluginul.
- Utilizarea codului PHP pentru a schimba aspectul în mod condiționat Acest cod nu va funcționa pe unele teme folosind bbPress care utilizează și pluginul Genesis bbPress connect. Acest plugin se conectează la filtrele Genesis, care este același lucru pe care îl face codul PHP pentru a schimba layout-urile în mod condiționat, astfel încât să nu funcționeze, deoarece trece peste cod.
- Utilizarea claselor XHTML CSS pe tema secundară HTML 5 – Exemplu: #content nu va funcționa pe o temă copil HTML 5 care utilizează .entry-content.
- Utilizarea marcajului HTML pe o temă XHTML – .site-header nu va funcționa pe un site care rulează marcaj XHTML, așa că trebuie să utilizați #header.
- Cod șablon de prima pagină – Orice cod din șablonul de prima pagină funcționează numai atunci când utilizați setările implicite de citire. Dacă modificați aceste setări și selectați o Pagină Statică ca prima pagină, codul din șablonul pentru prima pagină nu va funcționa.
- CSS adăugat după interogări media – Cel mai bine este să adăugați CSS personalizat înainte de interogările media, altfel este posibil să nu funcționeze.
- S-a adăugat CSS pentru a modifica clasa deja stilată – Ați adăugat CSS la sfârșitul foii de stil pentru a schimba stilul unui element existent care este deja stilat în mod implicit. Un exemplu în acest sens este atunci când modificați o zonă de widget pentru a utiliza widget-ul de postări recomandate Genesis atunci când este stilat în mod implicit pentru a utiliza widget-ul paginii prezentate. CSS-ul dvs. poate fi diferit, dar utilizați o clasă diferită. Ceea ce trebuie să faceți este să modificați CSS-ul implicit, astfel încât pe mai lungi stiluri widget-ul paginii prezentate și doar stiluri widget-ul de postare prezentate.
- Cod șablon de pagină de pornire – Orice cod din fișierul șablon home.php va funcționa numai pe prima pagină atunci când utilizați setările implicite de citire. Dacă utilizați o pagină statică ca pagină principală, codul va funcționa numai pe pagina de postări (cum ar fi o pagină de blog) dacă nu ați selectat șablonul de pagină de blog din meniul derulant. (Se aplică numai temelor cu includerea unui șablon de pagină de blog).
- CSS modificat incorect face spargerea altor CSS – Un membru a instalat un cod pentru a crea un aspect personalizat, dar nu a funcționat deoarece CSS pentru a modifica lățimea conținutului nu a funcționat. Au descoperit alte CSS pe care le-au adăugat anterior folosind !important a împiedicat funcționarea noului CSS.
Codul de mai sus NU va funcționa dacă aveți și pluginul Genesis Simple Edits activat, deoarece trece peste filtrul de informații despre postare.
Asta este tot ce mă pot gândi în acest moment, dar sunt sigur că există multe alte motive pentru care codul nu funcționează (dar chiar funcționează) care ar putea fi adăugate la această listă.
postări asemănatoare
- 5 puncte importante de luat în considerare înainte de a republica codul