In het vorige deel van deze serie heb ik je laten zien hoe je aangepaste taxonomieën registreerde voor je kennisdatabase en die registreerde die je niet nodig hebt.
De volgende stap is het maken van de frontend door het maken en / of bewerken van sjabloonbestanden die we nodig hebben en het toevoegen van functies voor aangepaste navigatie.
Om deze tutorial te volgen, heb je deze nodig
Als u het zich herinnert, hebben we in het eerste deel van deze serie, toen we de kennisbank hadden gepland, de volgende sjablonen geïdentificeerd:
index.php
page.php
archive.php
single.php
sidebar.php
Het startthema dat ik gebruik, bevat al al deze dingen, wat goed nieuws is. Ik zal moeten bewerken sidebar.php
, om de contextgevoelige navigatie in te schakelen die deel uitmaakte van het oorspronkelijke plan. Ik kom hier binnenkort op.
Als u uw eigen thema gebruikt en niet alle sjabloonbestanden bevat, moet u ze maken. Als alternatief, als uw index.php
of loop.php
bestand (als u er een heeft) de code bevat die nodig is voor het effectief weergeven van afzonderlijke berichten en taxonomiearchieven, wilt u dat misschien vasthouden.
Ik ga niet door alle sjabloonbestanden heen werken, maar laten we even kijken archive.php
om te zien hoe het werkt in mijn thema:
Archief voor Archief voor Archief voor naam; ?>
> "> 'left', 'alt' => trim (strip_tags ($ wp_postmeta -> _ wp_attachment_image_alt)))); ?> "title =""rel =" bladwijzer ">
Zoals u kunt zien, gebruikt de sjabloon objectgeoriënteerde CSS om de breedte van elementen in te stellen en de weergave van aanbevolen afbeeldingen mogelijk te maken als het bericht er een heeft. In een kennisbank maak je minder vaak gebruik van uitgelichte afbeeldingen, maar het is niet onmogelijk, dus ik laat die achter. Als berichten geen uitgelichte afbeeldingen hebben, worden de titel en het fragment nog steeds weergegeven.
De volgende stap is het maken van de contextgevoelige navigatie in de zijbalk. Ik ga dit niet toevoegen aan de sidebar.php
het dossier; in plaats daarvan voeg ik een actiehaak toe aan dat bestand en maak ik vervolgens een functie die ik aan die actiehaak zal koppelen.
Open uw thema's sidebar.php
het dossier. De mijne ziet er zo uit:
Op dit moment bevat dit alleen het widgetgebied. Ik wil dit behouden maar een haak erboven toevoegen.
Boven de if (is_active_sidebar ())
regel, voeg het volgende toe:
do_action ('tutsplus_sidebar');
Hiermee wordt een actiehaak gemaakt met behulp van de do_action ()
functie. Alle functies die u aan die haak koppelt, worden op dat moment in uw sjabloonbestand geactiveerd, dus alles dat via de haak wordt weergegeven, wordt vóór het widgetgebied weergegeven. Als je liever de haak onder het widgetgebied hebt, voeg je de code achter het widgetgebied toe.
Toen ik mijn kennisbasis aan het plannen was, identificeerde ik drie lijsten die ik nodig zou hebben in verschillende zijbalken:
Elk van deze moet conditionele tags bevatten zodat ze worden toegevoegd aan de zijbalk op de rechterpagina's. Ze kunnen allemaal in één functie worden opgenomen, maar met een aantal voorwaardelijke tags.
Dus laten we ze schrijven!
Let op: aangezien sommige voorwaardelijke tags statische pagina's zullen detecteren, moet u drie statische pagina's maken voordat u begint: voor gebruikers, ontwikkelaars en inhoudstypen.
Eerst is er een lijst met gebruikersonderwerpen. Dit omvat een link naar de hoofdarchiefpagina voor de taxonomie bovenaan. De eerste stap is om de functie te maken en daarbinnen een voorwaardelijke tag toe te voegen om te controleren in welk deel van de site we ons bevinden.
Open je functions.php
bestand en voeg het volgende toe:
function tutsplus_sidebar_content () // lijst met gebruikersonderwerpen if (is_tax ('usertopic') || is_front_page () || is_page (31) || is_single ()) ?>Hiermee wordt een lege functie gemaakt met onze eerste voorwaardelijke tag en wordt deze gekoppeld aan de
tutsplus_sidebar
haak die we hebben toegevoegd aan desidebar.php
het dossier.Voeg nu de inhoud toe aan uw voorwaardelijke functie, zodat deze als volgt luidt:
if (is_tax ('usertopic') || is_front_page () || is_page (31) || is_single ()) ?>Dit geeft een lijst met termen in de User Topics-taxonomie, met links naar hun archiefpagina's, onder een kop, met behulp van de volgende WordPress-functies:
get_terms ()
om een lijst met taxonomietermen op te halenget_term_link ()
om een link naar de archiefpagina van de term uit te voerenMerk op dat de is_pagina (31)
check moet een ander pagina-ID hebben, afhankelijk van de ID van de pagina Gebruikers die u heeft gemaakt.
Nu onder de voorwaardelijke tag voor de lijst met gebruikersonderwerpen en nog steeds in de tutsplus_sidebar_content ()
functie, voeg de code toe voor de ontwikkelaarsonderwerpen, die erg op elkaar lijken:
// lijst met ontwikkelaarsonderwerpen if (is_tax ('developertopic') || is_front_page () || is_page (33) || is_single ()) ?>De inhoudstypelijst
Voeg ten slotte de code toe voor de inhoudstypen, nog steeds in de
tutsplus_sidebar_content ()
functie:// inhoudstypenlijst if (is_tax ('contenttype') || is_front_page () || is_page (37) || is_single ()) ?>Je hele functie ziet er nu als volgt uit:
function tutsplus_sidebar_content () // lijst met gebruikersonderwerpen if (is_tax ('usertopic') || is_front_page () || is_page (31) || is_single ()) ?>U zult nu merken dat terwijl u berichten aanmaakt en taxonomietermen aan hen toewijst, de termen in de relevante zijbalk zullen verschijnen.
Houd er rekening mee dat termen zonder berichten die aan hen zijn toegewezen niet worden weergegeven. Wees dus niet verbaasd als uw lijsten in eerste instantie leeg zijn.
Nadat je dit hebt gedaan en een aantal berichten hebt toegevoegd, worden in je zijbalken een lijst met taxonomietermen weergegeven, afhankelijk van waar je je op de site bevindt. Op de gebruikers pagina (en gebruikers-taxonomie termijnarchieven), ziet u de lijst met gebruikersonderwerpen:
Wanneer u zich in een termarchief bevindt in de taxonomie van de ontwikkelaarsthema's, ziet u een lijst met alle termen in die taxonomie met berichten die aan hen zijn gekoppeld:
En op de startpagina en enkele pagina's ziet u een lijst met alle voorwaarden:
Samenvatting
Uw kennisbank heeft nu een front-end-structuur met de sjablonen en functies om deze te ondersteunen.
Als u dat wilt, kunt u enkele van deze technieken verder gebruiken om extra navigatie aan uw site toe te voegen. U kunt bijvoorbeeld:
U kunt wellicht meer bedenken die relevant zijn voor uw eigen kennisbank, maar deze moeten u een voorproefje geven van de mogelijkheden.
In het laatste deel van deze serie zal ik u de stappen voorleggen die nodig zijn om uw kennisbasis te laten leven en de overwegingen die u nodig hebt om rekening te houden.