Ultima dată când am folosit cadrul nostru ca temă copil, creăm o temă complet nouă, care depinde de cadru. Astăzi vom folosi cadrul nostru ca o placă de bord, copiind dosarul și făcând modificări corecte.
Acum, unii oameni ar putea pune la îndoială raționamentul din spatele acestei situații și este corect. De ce am schimba cadrul în sine? Intenția mea inițială pentru acest cadru a fost de fapt să fie doar o boilerplate - ceva pe care l-aș putea copia, lipi și modifica - la placa de bază HTML5. Din cauza asta, de cele mai multe ori îmi folosesc boilerplate-ul, de fapt, o copiez și o lipesc.
Există, de asemenea, unele merite pentru această metodă. Dacă, de exemplu, aveți de-a face cu un design foarte diferit din punct de vedere structural, veți termina oricum rescrierea majorității paginilor șablonului. Principalul raționament din spatele creării cadrului a fost de a reutiliza funcțiile CSS și funcțiile mai comune. A urmat exemplul pentru a crea un antet, subsol, index etc. pentru a obține tema de lucru. În timp ce am încercat să-l fac cât mai generic posibil, am vrut să-l păstrez ușor. Din acest motiv, nu există un motor care să injecteze codul în diferite părți ale temei, cum ar fi în tema sau alte cadre mai mari, pe care le prefer. După cum am spus în Partea 1, nu am vrut să creez un API complet nou pentru ca oamenii să învețe când există deja API-ul WordPress.
Înainte de a începe, ar trebui să evidențiem câteva obiective pentru folosirea cadrului ca o placă de boiler. Primul este că ar trebui să schimbăm doar fișierele care trebuie schimbate. Rețineți că, în afara antetului și subsolului nostru, am încercat să facem celelalte pagini generice cu putință. Asta inseamna ca daca CSS poate fi folosit pentru a aranja ceea ce este deja acolo, am putea sa o folosim si pentru ca este mai putin de lucru (editeze) pentru noi. De asemenea, ar trebui să fim atenți la ce se află în fișierele tematice. Avem 2 zone widget (unul în subsol) și câteva funcții destinate reutilizării. Ar trebui să le folosim dacă putem. Acestea fiind spuse, iată un mic memento la ce începem cu:
Primul lucru este primul: să copiem și să ne căutăm cadrul și să îl pregătim pentru utilizare. Tocmai am copiat / wp-boilerplate / folderul și l-am redenumit / wp-boilerplate-copy / (acolo mă duc din nou cu numele creativ). Ca întotdeauna, vom modifica fișierul stil.css:
/ * Tema Nume: URI-ul temei copie cadru: http: //example.com/ Descriere: Copie a temei dvs. cadru Autor: Numele dvs. Autor URI: http: //your-site.com/ Versiune: 1.0 * /
Amintiți-vă, nu avem nevoie de șablon
line din acest moment, deoarece aceasta este o copie directă a cadrului.
Înainte de a ne arunca cu capul în CSS, să analizăm ce schimbări structurale vrem să facem. Aș dori să fac câteva lucruri pentru design-ul general al site-ului. Primul este plasarea navigației deasupra numelui site-ului și a barei de căutare (pe care o vom adăuga și noi). Aș dori, de asemenea, să fac așa încât barele de antet și footer să prelungească lățimea ecranului utilizatorului, păstrând în același timp conținutul la o lățime stabilită de 960 de pixeli. Acesta este produsul final la care vom lucra:
Ce vom face mai departe este modificarea antetului. Aici este totul în header.php după etichetă:
„>
Ar trebui să observați câteva lucruri. Am schimbat ID-ul principal al containerului în "wrapper" și am adăugat o clasă "contain". Aceasta este pentru ca noi să nu confundăm cele două. #Wrapperul este încă aplicat pe întreaga pagină, dar din moment ce dorim ca antetul și subsolul să extindă întreaga lățime a ecranului utilizatorului, trebuie să eliminăm definiția lățimii. Cu toate acestea, deoarece încă ne dorim ca conținutul propriu să fie păstrat la lățimea originală de 960px, trebuie să creați o clasă separată pe care o vom folosi pentru mai multe secțiuni de conținut. Iată ce arată CSS-ul pentru #wrapper și .contain:
#wrapper text-align: left; fundal: #FFFFFF; culoare: # 333333; .cu width: 960px; marja: 0 auto;După cum puteți vedea, am mutat informațiile referitoare la lățimea și alinierea la .contain. Vom modifica acum footer.php pentru a se potrivi cu header.php: