Cadrele pot fi destul de puternice. Pentru utilizatorii începători WordPress, ele fac posibilă crearea unui site unic, care arata ca acesta este personalizat, iar pentru dezvoltatorii WordPress, ele pot ajuta aplica principiul DRY (nu te repeta - nu se mai repeta) și vă oferă posibilitatea de a crea rapid personalizat site-uri.
Dacă deja ați folosit o perioadă de timp pentru o terță parte și ați fost dezamăgiți de codul umflat și de lipsa de flexibilitate sau doriți doar să aveți control complet asupra codului, atunci crearea unui cadru propriu poate fi cea mai bună abordare.
În această serie, veți învăța cum să vă creați propriul cadru WordPress pe care îl puteți utiliza pentru a crea site-uri pentru dvs. sau pentru clienții dvs. sau chiar pentru public. Veți lucra în etape, inclusiv crearea unei tematici părinte care va sta la baza cadrului dvs., adăugând caracteristici suplimentare, cârlige și multe altele. Veți învăța, de asemenea, cum să le folosiți în temele copilului și plug-in-urile și cum să vă deschideți codul.
Dar, mai întâi, trebuie să știți cum funcționează cadrele și cum diferă acestea de subiectul obișnuit al părinților.
- Este alcătuită dintr-o temă părinte destinată utilizării cu temele copiilor. În unele cazuri, tema părinte poate fi, de asemenea, independentă, dar în alte cazuri tema parentală funcționează împreună cu tema copilului - WordPress Codex le definește ca "Teme de bază / inițiale" și "Biblioteci de coduri".
- Acesta include cârlige și funcții care pot fi gestionate de teme și pluginuri pentru copii. Cadrul dvs. este fundamentul întregului ecosistem cu care veți lucra și care include plug-in-uri care vor fi fixate în cadrul dvs.
- Dacă este proiectat pentru utilizatori care nu sunt dezvoltatori, acesta va include parametrii temei care le vor permite să personalizeze tema în funcție de nevoile lor. Cadrele pot fi extinse, inclusiv design, layout, funcții, conținut și multe altele. În unele cazuri, funcționalitatea poate fi furnizată utilizând instrumentul de depanare a subiectului.
- Poate conține mai multe domenii widget, astfel încât utilizatorii să poată adăuga chiar cod la pagină fără cunoașterea codului (inclusiv widget-uri adăugate de pluginurile dvs.).
- Acesta poate include și funcționalitatea unor biblioteci, cum ar fi glisoarele jQuery sau casetele de lumină. Depindeți de nevoile dvs. și de utilizatorii dvs., le puteți adăuga în cadrul dvs. sau pur și simplu să includeți niște pluginuri în el.
- Este extensibil. Permiteți-vă să vă extindeți prin teme și pluginuri pentru copii.
Primele două dintre aceste puncte sunt cele mai de bază - fără temă părinte, nu aveți un cadru. Și tema părinte fără funcții și cârlige, doar principala temă părinte, nu un cadru.
Acestea sunt cadrele, dar cum funcționează? Să aruncăm o privire la elementele cadrului:
- Teme pentru părinți și copii
- Cârlige (acțiune și filtru)
- funcții
- Setări tematice
- Widget-uri
- script-uri
- extensibilitate
Teme pentru părinți și copii
Componenta principală a cadrului este tema părinte. Poate fi creat în unul din două moduri:
- Ca subiect inițial care poate funcționa singur și poate schimba setările sau prin intermediul personalizatorului. Iată câteva exemple de Atahualpa și Tematică. Ele pot fi folosite ca subiecte separate fără a folosi copii.
- Ca bază pentru un subiect subsidiar, fără de care tema nu va susține în mod eficient site-ul. Iată câteva exemple de bază hibridă și geneză. Acesta va include codul principal pe care îl puteți găsi de obicei printre cârligele și funcțiile care pot fi folosite de tema copilului dvs., precum și pluginurile. Toate acestea conțin API-ul pentru cadru.
Fiind una dintre caracteristicile cheie ale cadrului, acesta este principiul DRY, tema părintească utilizează probabil părți din șabloane și conține fișiere acolo unde este posibil, adică puteți accesa același cod în mai multe locuri din subiectul dvs. De asemenea, este mai ușor să scrieți cod în tema copilului dvs., pur și simplu creați un șablon de înlocuire sau adăugați un fișier.
Nu voi explica conceptul de temă parentală și copil, totul este descris în acest ghid pentru subiectele copilului. Multe cadre sunt lansate cu temele copilului pentru sprijinul lor, în timp ce cu alții creați propriile teme.
Dacă vă dezvoltați propria temă, vă pot recomanda să faceți cel puțin o temă inițială, copil, pentru a evita repetarea instalării pentru fiecare proiect. Puteți crea mai multe teme pentru copii, ca elemente de bază, pentru diferite tipuri de proiecte, de exemplu, tema copilului pentru blog.
Cârlige (acțiune și filtru)
Cadrele vor conține diferite cârlige pentru teme și plugin-uri pentru copii, care vor fi incluse în adăugarea codului personalizat sau schimbarea comportamentului unei teme:
- cârlige de acțiune vor apărea în diferite locuri codul, permițându-vă să adăugați un cod la fișierele șablon utilizând funcțiile codificate în cadrul, care pot fi ignorate de teme pentru copii, sau prin caracteristicile pe care le-ați adăugat la temele pentru copii sau plugin-uri. Cadrul meu folosește în mare măsură cârligele de acțiune, oferind acces la ele în toate fișierele de șabloane, permițând utilizatorilor să navigheze în conținut, cum ar fi zone widget, informații de contact, butoane de acțiune și secțiuni specifice de cod.
- Cârligele de filtrare pot fi folosite pentru a schimba modul în care un site utilizează o temă copil sau pentru a schimba comportamentul anumitor pluginuri, de exemplu, configurarea buclelor, modificarea conținutului static și multe altele. Unele conținuturi statice (sau codificate din afara site-ului dvs.) ar trebui să fie înfășurate într-un filtru, astfel încât să poată fi modificate de temele copilului, dacă este necesar.
Este nevoie de ceva timp să vă gândiți la ce cârlige doriți să adăugați în stadiile incipiente, astfel încât să știți ce conținut este adăugat utilizând cârligele și, direct, ce cod să scrieți în șabloanele dvs. Veți considera acest lucru în următoarea parte a acestei serii.
Cadrul dvs. include, probabil, o serie de funcții. Unele dintre ele vor fi numite în cârlige, pe care le-ați definit deja, în timp ce altele vor fi funcții ale șabloanelor pe care temele copilului le pot folosi.
Dacă aveți funcții pe care le utilizați pe mai multe site-uri client, atunci este bine să le adăugați în cadrul dvs. Nu este nevoie să activați toate funcțiile, puteți să le activați din tema părinte folosind funcția add_action () din tema copilului dumneavoastră.
Setări tematice
Parametrii ferestrelor sunt un plus de utilitate pentru orice subiect dificil de compilat, dar vor fi folosiți în special pentru cadrele create pentru utilizatorii fără cunoștințe de cod. Cele mai multe cadre includ mai multe ferestre de parametri în modul de editare, opțiuni pentru activarea și dezactivarea extensiilor, modificarea aspectului, adăugarea de conținut și schimbarea elementelor de design, cum ar fi culorile, fundalul, fonturile și logo-ul.
Puteți alege utilizarea temelor personalizate pentru multe dintre opțiunile dvs., are avantajul de a permite utilizatorilor să vadă modificările de îndată ce le produc. Am aplicat această abordare pentru cadrul Edupress. pe care am dezvoltat-o pentru școli, împreună cu Mark Wilkinson (Mark Wilkinson).
Domenii widget
Decizia de a adăuga widget-uri, va depinde publicul, care va exploata cadrul dumneavoastră: dacă dumneavoastră sau o echipă mică pentru a lucra cu tema, probabil că nu se va adăuga zona de widget-uri suplimentare, de exemplu, mai mare bara laterală sau de subsol de mai jos.
Dar dacă cadrul dvs. este exploatat de către dezvoltatori, atunci puteți să le oferiți mai multă flexibilitate în manipularea cadrului, adăugând câteva widget-uri suplimentare. Le puteți înregistra în antet, înainte și după conținut și sub subsol.
Cadrul pe care îl folosesc pentru site-urile clientului meu include 4 zone ale widget-ului în subsol: tema verifică care dintre acestea sunt mai pline și adaugă clase CSS, în funcție de conținutul widget-urilor și ocupă lățimea corespunzătoare a paginii.
Zonele dvs. de widgeturi pot fi codate chiar în fișierele șablonului dvs. sau puteți decide (ca mine) să adăugați din cârlige de acțiune în locurile potrivite de pe site-ul dvs. Aceasta înseamnă că pot fi suprascrise în teme copil sau prin widget-uri suplimentare sau prin codul de utilizator.
În cazul în care subiectul este probabil să fie utilizat pe mai multe site-uri construite cadru, sau utilizatorii nu vor dețineți codul și doriți să ofere opțiuni suplimentare, puteți decide să adăugați câteva script-uri în cadrul dvs., cum ar fi slader sau lightbox;. Acest lucru poate împiedica utilizatorii să instaleze pluginuri suplimentare, dar are dezavantaje din codul de balonare dacă nu sunt necesare.
Din nou, acest lucru va depinde de nevoile publicului dvs. și de nevoile sale percepute. Dacă numai dvs. lucrați cu cadrul, atunci aș recomanda să dezvoltați (sau să identificați) pluginurile cu aceste scripturi și să le folosiți atunci când aveți nevoie de ele.
Dacă adăugați scripturi, aveți grijă de opțiunea activării și dezactivării, în ecranul de setări.
extensibilitate
Dacă vă faceți cadrul pentru mai multe site-uri, atunci doriți să fie extensibil. Tema părintelui formează nucleul cadrului, este inima ecosistemului pe care voi și utilizatorii dvs. îl veți folosi pentru a adăuga opțiuni și caracteristici suplimentare site-urilor. Aceasta include:
- Subsidiare sau subiecte inițiale - lista lor poate crește în timp, mai ales dacă publicați subiectul dvs. pentru uz general
- Pluginurile concepute special pentru lucrul cu cadrul dvs. sunt adesea activate prin intermediul unor cârlige speciale.
Acesta poate include, de asemenea, documentația pentru alți dezvoltatori care doresc să lucreze cu cadrul tau: Cele mai multe cadre sunt disponibile cu documentație extinsă, care dezvoltatorii pot utiliza pentru a personaliza sau site-uri construite pe acest cadru, sau pentru înființarea de filiale sau plug-in-uri pentru alți utilizatori.
Cadrele sunt instrumente puternice în arsenalul dezvoltatorilor WordPress. După cum am văzut, ele joacă un rol important pentru utilizatorii fără cunoștințe de cod care le folosesc pentru a-și crea propriile site-uri. Dar ele sunt, de asemenea, un lucru bun pentru dezvoltatorii care vor crea pagini diferite pentru ei înșiși sau pentru clienți.
Cadrele au mai multe caracteristici care au capacități: Sunt extensibile și flexibile și facilitează crearea de site-uri personalizate care utilizează teme copil și care au acces la funcțiile și cârligele furnizate de cadrul dvs.
După ce ați văzut cum funcționează cadrele, în următoarea parte a acestei serii veți determina ce ar trebui să faceți cadrul dvs. și cine îl va exploata, ceea ce vă va ajuta să decideți ce abordare să creați, să utilizați.