Cum să evitați greșelile comune de dezvoltare a temei WordPress

Publicat: 2021-02-16

WordPress este cunoscut pentru că este incredibil de flexibil, mai ales când vine vorba de dezvoltarea temelor și a pluginurilor. Dacă doriți vreodată să vedeți dovezi, întrebați un grup de dezvoltatori cum ar implementa o anumită caracteristică. Sunt șanse să primiți mai multe metode diferite pentru a obține același rezultat. Forumurile de asistență sunt pline de astfel de exemple.

Dar cu această flexibilitate este și realitatea că este ușor să faci lucrurile în mod „greșit”. Acum, în acest caz, „greșit” înseamnă că ceva este fie ineficient, fie puțin dureros de menținut pe drum. Deși poate funcționa în sensul de a fi funcțional, există de obicei modalități mai bune de a face lucrurile.

Să aruncăm o privire la cinci dintre cele mai frecvente greșeli întâlnite în dezvoltarea temei, împreună cu alternative care vă vor scuti de durerile de cap în viitor.

1. Utilizarea adreselor URL absolute în șabloane

Dacă v-ați uitat vreodată la codul HTML pe care îl produce o pagină sau o postare WordPress, veți observa că atât imaginile, cât și linkurile interne folosesc adrese URL absolute (complete). Dar aceasta nu este cea mai bună modalitate de a face lucrurile atunci când adăugați cod la șabloanele dvs. de teme.

De exemplu, să presupunem că dezvoltați un site web care utilizează o adresă URL temporară. O adresă URL absolută codificată într-un șablon înseamnă că va trebui să faceți manual modificări de cod atunci când sunteți gata să lansați site-ul pe domeniul său permanent. Deși acest lucru se poate face, este prea ușor să uiți toate locurile în care acest tip de cod ar putea fi pândit.

WordPress are modalități încorporate de a determina adresa URL corectă – extrase chiar din zona Settings > General a tabloului de bord.

Pentru un link, ecou esc_url( home_url() ) va oferi o cale completă către pagina de pornire. Deci, în loc să plasați în mod explicit adresa URL în codul dvs., puteți adăuga un link simplu înapoi la pagina dvs. de pornire, astfel:

 <a href="<?php echo esc_url( home_url() ); ?>" />Home</a>

În plus, puteți folosi acest lucru pentru a indica pagini secundare. De exemplu, dacă dorim să facem un link către pagina Despre noi a site-ului nostru, am putea folosi următorul cod:

 <a href="<?php echo esc_url( home_url() ); ?>/about-us/" />About Us</a>

Un fragment similar funcționează și pentru imagini. Acest exemplu extrage o imagine din subdosarul /images/ al temei noastre active:

 <img src="<?php echo esc_url( get_stylesheet_directory_uri() ) ; ?>/images/hello.png" />

2. Adăugarea de scripturi și stiluri direct la un șablon

Folosirea de scripturi și stiluri terță parte cu WordPress este o lume proprie. Când începeți să construiți teme, puteți fi tentat să plasați pur și simplu etichete <script> sau <style> sau chiar un cod de încorporare a fontului Google direct în antetul temei dvs. În general, așa se fac lucrurile cu site-urile HTML statice, așa că este logic să faceți același lucru aici.

Dar, ca aproape orice altceva în WordPress, există o modalitate mai bună de a proceda. În schimb, profitați de wp_enqueue_script() și wp_enqueue_style() – care adaugă scripturi și foi de stil în locurile corecte pentru dvs. De asemenea, face gestionarea activelor mult mai ușoară, deoarece totul este numit din fișierul functions.php al temei.

În loc să reinventeze roata aici, Manualul de teme WordPress are un ghid fantastic despre cum adăugați corect scripturi și stiluri la tema dvs.

Luați decizii inteligente de dezvoltare

3. Apelarea instanțelor externe ale jQuery

Într-o notă conexă, unul dintre secretele ascunse ale WordPress este că acesta include deja o copie a jQuery, împreună cu câteva funcții populare de UI. Deci, nu trebuie să instalați jQuery sau să îl apelați de la distanță. Acest lucru face ușor să profitați de populara bibliotecă JavaScript și să implementați elemente precum file, datepickers, dialoguri și multe altele.

Singura captură este că trebuie să activați în mod specific elementele pe care doriți să le utilizați prin fișierul functions.php al temei. În timp ce acest lucru creează un pic de curbă de învățare, reduce și balonarea.

Și, adevărul să fie spus, nu este prea dificil să implementezi un element jQuery UI dorit. De exemplu, pentru a activa utilizarea filelor UI jQuery, trebuie doar să adăugați următorul fragment la functions.php :

 function my_jquery_elements() { wp_enqueue_script( 'jquery-ui-tabs', array('jquery')); add_action( 'template_redirect', my_jquery_elements ', 10 );

Acest lucru îi spune WordPress să încarce elementul din biblioteca sa deja existentă. De acolo, proiectați-vă filele și definiți-le așa cum este specificat în documentația jQuery UI.

4. Ducerea personalizării prea departe

Capacitatea de a adăuga câmpuri personalizate și tipuri de postări personalizate poate face viața atât pentru dezvoltatori, cât și pentru editorii de conținut de site-uri mult mai ușoară. Ele oferă confort, o organizare mai bună a conținutului și un UX mai intuitiv. Dar uneori o ducem prea departe.

Sunt un mare fan al câmpurilor personalizate, de exemplu. Dar chiar și eu recunosc că au fost momente când am personalizat o temă până la inflexibilitate. Câmpurile sunt excelente pentru configurații în care știm exact ce conținut va trebui să fie introdus, cum ar fi câmpurile unui profil de membru al personalului.

Cu toate acestea, poate deveni dezordonat atunci când există inconsecvențe în tipurile de conținut pe care cineva dorește să le adauge. Clienții sunt cunoscuți pentru că au excepții „minore” în conținut care pot face mai dificilă utilizarea personalizărilor. Logica condiționată poate explica o parte din acest lucru, dar o puteți lua atât de departe înainte ca interfața de utilizare să scape de sub control.

Nu există reguli stricte și rapide pentru acest tip de personalizare. Singurul lucru pe care îl putem face cu adevărat este să folosim cea mai bună judecată despre ceea ce ar trebui să fie personalizat și ce poate fi mai bine lăsat fie editorului de conținut WordPress, fie chiar unui plugin de nișă. Când adăugăm câmpuri sau tipuri de postări, trebuie doar să știți că lucrurile s-ar putea schimba pe viitor și să încercăm să construim ținând cont de asta.

5. Eșecul de a comenta codul

O să fac o altă admitere aici: Codul de comentarii nu este unul dintre punctele mele forte. Nu este că nu folosesc deloc comentarii, dar mai mult că nu sunt foarte articulate. De obicei, voi evidenția începutul și sfârșitul anumitor articole, fără o mulțime de informații între ele. Ar trebui să fac mai mult? Probabil asa.

Comentarea este importantă deoarece oferă cel puțin câteva puncte de referință în cod. Când căutați fișiere PHP sau JS care conțin mai multe lucruri, veți dori să știți unde să găsiți un anumit articol.

Chiar dacă ești singurul care va edita vreodată acel cod, comentariile sunt foarte recomandate. Dacă, de exemplu, trebuie să schimbați ceva peste șase luni, este puțin probabil să vă amintiți locul exact în care ați plasat un fragment de cod.

Deci, nu voi fi un mare ipocrit și vă implor să comentați totul cu mare profunzime. Dar voi spune că chiar și un efort minim aici face întreținerea viitoare mai ușoară pentru tine sau pentru alt dezvoltator care trebuie să-ți treacă munca.

Cod minim comentat

Tehnici mai bune de-a lungul timpului

Crearea propriei teme WordPress poate fi o experiență grozavă. Dar este nevoie de puțină practică pentru a descoperi detaliile mai fine ale creării unei teme bine codificate și ușor de întreținut. Cu cât câștigi mai multă experiență, cu atât tehnicile tale vor evolua mai mult.

Pot spune sincer că primele teme pe care le-am pus împreună nu au fost nici pe departe la fel de eficiente ca acum. Și sunt, de asemenea, sigur că s-ar putea să nu fie încă la curent atunci când sunt vizualizate de un dezvoltator cu adevărat expert. În acest sens, evoluția noastră este una constantă.

În cele din urmă, aș dori să remarc că am făcut personal fiecare dintre greșelile menționate mai sus. Doar prin încercări și erori, împreună cu mai multe vizite la Codex, am aflat cum să încep să fac lucrurile în „WordPress Way”.

Lecția este că toți vom face greșeli. Dar fiecare ne oferă o șansă de a învăța și de a ne perfecționa.