De vorige keer hebben we ons framework als een kindthema gebruikt, waardoor een geheel nieuw thema is ontstaan dat afhankelijk is van het framework. Vandaag gaan we ons framework gebruiken als een standaardplaatje, de map kopiëren en er bewerkingen op uitvoeren.
Nu kunnen sommige mensen de redenering hierachter in twijfel trekken, en dat is eerlijk. Waarom zouden we het kader zelf veranderen? Mijn oorspronkelijke bedoeling voor dit raamwerk was eigenlijk slechts een standaardplaatje te zijn - iets dat ik kon kopiëren, plakken en wijzigen - in de HTML5-boilerscherm. Daarom gebruik ik meestal mijn boilerplate, ik kopieer en plak het gewoon.
Er is ook enige verdienste aan deze methode. Als u bijvoorbeeld structureel een heel ander ontwerp gebruikt, zult u de meeste van de sjabloonpagina's uiteindelijk toch herschrijven. De belangrijkste redenering achter het maken van het framework was om mijn CSS en meer algemene functies opnieuw te gebruiken. Het is net gevolgd om een koptekst, voettekst, index, enzovoort te maken om het thema te laten werken. Hoewel ik het zo generiek mogelijk probeerde te maken, wilde ik het ook licht houden. Daarom is er geen engine om code in verschillende delen van het thema te injecteren, zoals in Themaic of andere grotere kaders, waaraan ik de voorkeur geef. Zoals ik al zei in deel 1, wilde ik geen hele nieuwe API maken die mensen kunnen leren wanneer er al de WordPress API is.
Voordat we aan de slag gaan, moeten we enkele doelen schetsen voor het gebruik van raamwerk als standaardplaatje. De eerste is dat we alleen bestanden moeten wijzigen die moeten worden gewijzigd. Vergeet niet dat we buiten onze kop- en voettekst hebben geprobeerd de andere pagina's zo generiek mogelijk te maken. Dat betekent dat als CSS kan worden gebruikt om te regelen wat er al is, we dat net zo goed kunnen gebruiken omdat het voor ons minder werk (bewerkingen) is. We moeten ook rekening houden met wat er in onze themabestanden staat. We hebben 2 widget-gebieden (een in de voettekst) en een paar functies die zijn ontworpen voor hergebruik. We zouden die moeten gebruiken als we kunnen. Dat gezegd hebbende, hier is een kleine herinnering met wat we beginnen:
Het eerste is het eerste: laten we ons framework kopiëren en opmaken en voorbereiden voor gebruik. Ik heb zojuist mijn / wp-boilerplate / map gekopieerd en het hernoemd / wp-boilerplate-copy / (daar ga ik weer met de creatieve namen). Zoals altijd wijzigen we ons style.css-bestand:
/ * Theme Name: Framework Copy Theme URI: http: //example.com/ Beschrijving: Copy of Your Framework Theme Auteur: Your Name Author URI: http: //your-site.com/ Versie: 1.0 * /
Denk eraan, we hebben het niet nodig sjabloon
regel deze keer omdat dit een directe kopie van het framework is.
Voordat we in de CSS duiken, laten we bekijken welke structurele wijzigingen we willen aanbrengen. Ik zou graag een paar dingen willen doen aan het algemene ontwerp van de site. De eerste is plaats de navigatie boven de naam van de site en de zoekbalk (die we ook zullen toevoegen). Ik wil het ook zo maken dat de kop- en voettekststaven de breedte van het scherm van de gebruiker vergroten, terwijl de inhoud op een ingestelde breedte van 960 px wordt gehouden. Dit is het eindproduct waar we naartoe zullen werken:
Wat we hierna zullen doen is de header aanpassen. Hier is alles in header.php na de label:
">
Je zou een paar dingen moeten opmerken. Ik heb de ID van de hoofdcontainer gewijzigd in 'wrapper' en een klasse 'bevatten' toegevoegd. Dit is zo dat we de twee niet zouden verwarren. De #wrapper wordt nog steeds toegepast op de hele pagina, maar omdat we willen dat de kop- en voettekst de volledige breedte van het gebruikersscherm uitbreiden, moeten we de breedtedefinitie verwijderen. Aangezien we echter nog steeds de inhoud willen behouden die overeenkomt met onze oorspronkelijke breedte van 960 pixels, moeten we een afzonderlijke klasse maken die we gebruiken voor verschillende inhoudssecties. Hier is hoe de CSS eruit ziet voor #wrapper en .contain:
#wrapper text-align: left; achtergrond: #FFFFFF; kleur: # 333333; .contain width: 960px; marge: 0 auto;Zoals u kunt zien, hebben we de informatie met betrekking tot breedte en uitlijning verplaatst naar .contain. We zullen nu footer.php aanpassen aan header.php: