De startbestanden voor uw WordPress-themakader maken

In de eerdere delen van deze serie hebt u geleerd hoe themakaders werken en hebt u rekening gehouden met uw benadering van het kader dat u aan het ontwikkelen bent.

Nu is het tijd om wat code in te duiken!

In deze tutorial neemt u een basisthema en bewerkt u de sjabloonbestanden zodat ze gereed zijn voor haken en functies die eraan moeten worden toegevoegd voor uw kader. Het doel van deze zelfstudie is om het thema op te ruimen zodat de code niet wordt gedupliceerd, wat inhoudt dat u include-bestanden maakt voor de lus. 

Dit betekent dat je geen dubbele lussen in je kindthema's hoeft te maken wanneer je nieuwe sjabloonbestanden maakt, en als je de lus moet bewerken, hoef je het maar een keer te doen.

Opmerking: de startbestanden zijn gebaseerd op het thema dat ik heb gemaakt voor mijn serie over het maken van een WordPress-thema uit HTML, met een paar wijzigingen. Je kunt ze downloaden van de GitHub-repository die deze reeks vergezelt.

Wat je nodig hebt

Als u deze zelfstudie wilt volgen, heeft u het volgende nodig:

  • een ontwikkelingsinstallatie van WordPress
  • je eigen startthema of de startthema-bestanden in de GitHub-repository voor deze serie
  • een code-editor

Opgenomen bestanden voor de lus maken

Voor mijn raamwerk ga ik drie loops maken:

  • één voor archieven (inclusief de hoofdblogpagina)
  • een voor enkele berichten
  • één voor pagina's

Dit komt omdat ik wil dat elk van deze iets anders wordt weergegeven dan de anderen.

Hoewel er drie loops zijn, zal het nog steeds efficiënter zijn dan een lus in elk afzonderlijk sjabloonbestand in uw framework op te nemen.

De hoofdlus

De hoofdlus is voor archieven en de hoofdblogpagina. Maak een bestand met de naam in uw themamap loop.php.

Kopieer het volgende hier naartoe archive.php:

 

Archief voor Archief voor Archief voor naam; ?>

>

"title =""rel =" bladwijzer ">

"> 'left', 'alt' => trim (strip_tags ($ wp_postmeta -> _ wp_attachment_image_alt)))); ?>

geplaatst op door

Categorieën:

U hoeft geen kop op de hoofdblogpagina weer te geven, dus voeg een voorwaardelijke tag toe rond de eerste lus om te controleren of we niet op die pagina staan:

if (! is_front_page ()) 

De eerste lus zal nu als volgt luiden:

if (! is_front_page ()) if (have_posts ()) the_post (); ?> 

Archief voor Archief voor Archief voor naam; ?>

Nu moet u deze lus opnemen in de relevante sjabloonbestanden. In archive.php en index.php, vervang de bestaande lus door de get_template_part () tag, die uw loop-bestand op de juiste plaats bevat:

 

Je hebt nu een werkende lus voor archieven.

Pagina lus

Vervolgens maak je een lusbestand voor pagina's. Maak een bestand met de naam lus-page.php.

Kopieer de lus naar deze van de bestaande page.php:

 
>

Nu in alle paginasjablonen van uw thema (page.php en page-full-width.php), vervang de lus door:

Enkele berichtlus

Ten slotte maakt u een lusbestand voor afzonderlijke berichten, dat werkt voor normale berichten en voor alle aangepaste berichttypen die u in de toekomst maakt. Dit is vergelijkbaar met de hoofdlus, behalve dat het geen link naar de post bevat, en er is geen initiële lus om te controleren in wat voor soort archief we ons bevinden.

Maak een bestand met de naam lus-single.php en een andere geroepen single.php.

Kopieer de inhoud van de index.php bestand in single.php, en bewerk de opmerkingen aan het begin van het bestand en de aanroep voor de lus, zodat er staat:

Nu in single-loop.php, kopieer de code in loop.php, niet inclusief de eerste loop op zoek naar archieven. Bewerk de openingstag-tag in de lus om de link te verwijderen, zodat de code luidt:

 
>

"> 'left', 'alt' => trim (strip_tags ($ wp_postmeta -> _ wp_attachment_image_alt)))); ?>

geplaatst op door

Categorieën:

Sla deze twee bestanden op. Je hebt nu al je loop-bestanden klaar voor gebruik.

Samenvatting

Een thema opschonen en dubbele code reduceren voordat u het gebruikt als basis voor een themakader, bespaart u uren werk op de lange termijn. 

Terwijl u kindthema's maakt om met dit ouderthema te werken, zult u merken dat u op maat gemaakte loops maakt om eenvoudig inhoud te creëren op precies de juiste manier voor een bepaald project. Door slechts drie discrete lussen te gebruiken om te werken, vermijdt u de noodzaak om dubbele sjabloonbestanden te maken in uw kindthema en hoeft u alleen maar dubbele lusbestanden te maken.