De structuur van uw WordPress Knowledge Base creëren

In deze fase zou je al een plan moeten hebben voor de structuur van je knowledge base en alle postsoorten en taxonomieën die je moet gebruiken om je gegevens op te slaan.

De volgende stap is om de structuur voor uw gegevens te creëren. 

In deze tutorial neem ik je mee door:

  • registreren van taxonomieën voor uw gegevens
  • het verwijderen van taxonomieën die je niet nodig hebt

Wat je nodig hebt

Om deze tutorial te volgen, heb je deze nodig

  • een ontwikkelingsinstallatie van WordPress
  • een teksteditor
  • een startthema

1. Een startthema creëren

Als startthema ga ik een thema gebruiken dat ik heb ontwikkeld voor een eerdere tutorial over het bouwen van een WordPress-thema. Het thema is opgenomen in de codebundel voor deze zelfstudie. Als u wilt, kunt u uw eigen thema gebruiken of een thema dat u hebt gedownload van de themarepository.

Voordat u begint, moet u, als u een thema dat u hebt gedownload, de map hernoemen en het stylesheet bewerken om het nieuwe gebruik van het thema weer te geven.

Dus mijn stylesheet heeft nu het volgende in het begin:

/ * Theme Name: Creating a Knowledge Base in WordPress - startthema Thema URI: http://rachelmccollin.co.uk Auteur: Rachel McCollin Auteur URI: http://rachelmccollin.co.uk Beschrijving: Het thema bij de wptutsplus serie over het creëren van een kennisbank met behulp van WordPress. Dit is het startthema. Versie: 1.0 Licentie: GNU General Public License v2 of later License URI: http://www.gnu.org/licenses/gpl-2.0.html * /

2. Posttypen en taxonomieën registreren

Als uw kennisbank gebruikmaakt van aangepaste berichttypen, moet u deze registreren. U doet dit door de register_post_type () functie aan uw thema's functions.php het dossier. 

Mijn kennisbank gebruikt alleen berichten met aangepaste taxonomieën, dus ik moet het gebruiken register_taxonomy () functie.

Open je functions.php het dossier. Als je mijn startersthema gebruikt, bevat het al enkele functies, die thema-ondersteuning toevoegen voor aanbevolen afbeeldingen en sommige widgets registreren. Onder de laatste functie, voeg het volgende toe om de taxonomie van het type inhoud te registreren:

function tutsplus_taxonomies () // Contenttype taxonomie $ labels = array ('name' => __ ('Content Types', 'tutsplus'), 'singular_name' => __ ('Inhoudstype', 'tutsplus'), ' search_items '=> __ (' Zoek inhoudstypen ',' tutsplus '),' all_items '=> __ (' Alle inhoudstypen ',' tutsplus '),' edit_item '=> __ (' Bewerk inhoudstype ',' tutsplus '),' update_item '=> __ (' Update Content Type ',' tutsplus '),' add_new_item '=> __ (' Voeg nieuw inhoudstype toe ',' tutsplus '),' new_item_name '=> __ (' Nieuwe inhoud Type Name ',' tutsplus '),' menu_name '=> __ (' Content Types ',' tutsplus '),); $ args = array ('hierarchical' => true, 'labels' => $ labels, 'show_ui' => true, 'show_admin_column' => true, 'query_var' => true, 'rewrite' => array ('slug '=>' inhoudstypen '),); register_taxonomy ('contenttype', array ('post'), $ args);  add_action ('init', 'tutsplus_taxonomies');

Je krijgt nu een extra taxonomie te zien in de admin voor berichten:

Vervolgens moet u aanvullende taxonomieën toevoegen. Ik gebruik er nog twee: gebruikersonderwerpen en ontwikkelaarsonderwerpen. Binnen in de tutsplus_taxonomies () functie die u al hebt gemaakt, registreer elk van deze met behulp van register_taxonomy (). Je hele functie ziet er nu als volgt uit:

function tutsplus_taxonomies () // Contenttype taxonomie $ labels = array ('name' => __ ('Content Types', 'tutsplus'), 'singular_name' => __ ('Inhoudstype', 'tutsplus'), ' search_items '=> __ (' Zoek inhoudstypen ',' tutsplus '),' all_items '=> __ (' Alle inhoudstypen ',' tutsplus '),' edit_item '=> __ (' Bewerk inhoudstype ',' tutsplus '),' update_item '=> __ (' Update Content Type ',' tutsplus '),' add_new_item '=> __ (' Voeg nieuw inhoudstype toe ',' tutsplus '),' new_item_name '=> __ (' Nieuwe inhoud Type Name ',' tutsplus '),' menu_name '=> __ (' Content Types ',' tutsplus '),); $ args = array ('hierarchical' => true, 'labels' => $ labels, 'show_ui' => true, 'show_admin_column' => true, 'query_var' => true, 'rewrite' => array ('slug '=>' inhoudstypen '),); register_taxonomy ('contenttype', array ('post'), $ args); // Gebruikersonderwerp taxonomie $ labels = array ('name' => __ ('Gebruikersonderwerpen', 'tutsplus'), 'singular_name' => __ ('Gebruikersonderwerp', 'tutsplus'), 'search_items' => __ ('Search User Topics', 'tutsplus'), 'all_items' => __ ('Alle gebruikersonderwerpen', 'tutsplus'), 'edit_item' => __ ('Edit User Topic', 'tutsplus'), 'update_item '=> __ (' Update User Topic ',' tutsplus '),' add_new_item '=> __ (' Add New User Topic ',' tutsplus '),' new_item_name '=> __ (' New User Topic Name ',' tutsplus '),' menu_name '=> __ (' Gebruikersonderwerpen ',' tutsplus '),); $ args = array ('hierarchical' => true, 'labels' => $ labels, 'show_ui' => true, 'show_admin_column' => true, 'query_var' => true, 'rewrite' => array ('slug '=>' gebruikers-onderwerpen '),); register_taxonomy ('usertopic', array ('post'), $ args); // Onderwerptaxonomie ontwikkelaar $ labels = array ('name' => __ ('Developer Topics', 'tutsplus'), 'singular_name' => __ ('Developer Topic', 'tutsplus'), 'search_items' => __ ('Search Developer Topics', 'tutsplus'), 'all_items' => __ ('All Developer Topics', 'tutsplus'), 'edit_item' => __ ('Edit Developer Topic', 'tutsplus'), 'update_item '=> __ (' Update Developer Topic ',' tutsplus '),' add_new_item '=> __ (' Add New Developer Topic ',' tutsplus '),' new_item_name '=> __ (' New Developer Onderwerpnaam ',' tutsplus '),' menu_name '=> __ (' Onderwerpen van ontwikkelaar ',' tutsplus '),); $ args = array ('hierarchical' => true, 'labels' => $ labels, 'show_ui' => true, 'show_admin_column' => true, 'query_var' => true, 'rewrite' => array ('slug '=>' ontwikkelaar-onderwerpen '),); register_taxonomy ('developertopic', array ('post'), $ args);  add_action ('init', 'tutsplus_taxonomies');

U hebt nu drie taxonomieën voor gebruik met berichten:

3. Verwijderen van ongewenste taxonomieën

Omdat mijn kennisdatabase geen categorieën gebruikt, wil ik die van de beheerder verwijderen, zodat mensen die gegevens invoeren deze niet per ongeluk gebruiken wanneer ze mijn taxonomieën zouden moeten gebruiken.

De manier waarop je dit doet is een beetje contra-intuïtief, omdat er geen functie is voor het verwijderen van taxonomieën. In plaats daarvan voert u de register_taxonomy () functie zonder parameters behalve de naam van de taxonomie.

Om categorieën te verwijderen, voeg het volgende toe aan uw functions.php het dossier:

function tutsplus_remove_taxonomies () register_taxonomy ('category', "); add_action ('init', 'tutsplus_remove_taxonomies', 0);

Bij het afvuren via de in het haak, met een prioriteit van 0 zorgt ervoor dat deze functie wordt uitgevoerd nadat de kern WordPress-functie in eerste instantie categorieën heeft ingesteld.

Als u ook tags wilt verwijderen, voegt u gewoon het volgende toe binnen de tutsplus_rremove_taxonomies () functie:

register_taxonomy ('post_tag', ");

U ziet nu dat alleen tags en mijn aangepaste taxonomieën beschikbaar zijn in het dashboard:

Samenvatting

U hebt nu de structuur op zijn plaats om te kunnen beginnen met het toevoegen van gegevens aan uw kennisbank. De volgende fase is het maken van de front-end, die ik in de volgende tutorial zal behandelen. In deze zelfstudie laat ik u zien hoe u aangepaste sjabloonbestanden maakt, haken toevoegt en de contextspecifieke zijbalken maakt.