A questo punto dovresti già avere un piano per la struttura della tua knowledge base e tutti i tipi di post e le tassonomie che dovrai utilizzare per archiviare i tuoi dati.
Il prossimo passo è creare la struttura per i tuoi dati.
In questo tutorial ti mostrerò:
Per seguire questo tutorial, avrai bisogno
Come tema di partenza, userò un tema sviluppato per un precedente tutorial sulla creazione di un tema WordPress. Il tema è incluso nel pacchetto di codice per questo tutorial. Se preferisci puoi usare il tuo tema o quello che hai scaricato dal repository dei temi.
Prima di iniziare, se stai utilizzando un tema che hai scaricato, dovrai rinominare la sua cartella e modificare il foglio di stile per riflettere il nuovo uso del tema.
Quindi il mio foglio di stile ora ha il seguente all'inizio:
/ * Nome del tema: Creazione di una Knowledge Base in WordPress - tema iniziale URI tema: http://rachelmccollin.co.uk Autore: Rachel McCollin Autore URI: http://rachelmccollin.co.uk Descrizione: Il tema per accompagnare il wptutsplus serie sulla creazione di una base di conoscenza utilizzando WordPress. Questo è il tema di partenza. Versione: 1.0 Licenza: GNU General Public License v2 o successiva URI di licenza: http://www.gnu.org/licenses/gpl-2.0.html * /
Se la tua knowledge base fa uso di tipi di post personalizzati, dovrai registrarli. Lo fai aggiungendo il register_post_type ()
funzione per il tuo tema functions.php
file.
La mia base di conoscenza utilizzerà solo post con tassonomie personalizzate, quindi ho bisogno di usare il register_taxonomy ()
funzione.
Apri i tuoi functions.php
file. Se stai usando il mio tema di base, ha già alcune funzioni in esso, che aggiungono il supporto a tema per le immagini in primo piano e registrano alcuni widget. Sotto l'ultima funzione, aggiungere quanto segue per registrare la tassonomia del tipo di contenuto:
function tutsplus_taxonomies () // Tipo di contenuto tassonomia $ labels = array ('name' => __ ('Content Types', 'tutsplus'), 'singular_name' => __ ('Content Type', 'tutsplus'), ' search_items '=> __ (' Cerca tipi di contenuto ',' tutsplus '),' all_items '=> __ (' Tutti i tipi di contenuto ',' tutsplus '),' edit_item '=> __ (' Modifica tipo di contenuto ',' tutsplus '),' update_item '=> __ (' Aggiorna tipo di contenuto ',' tutsplus '),' add_new_item '=> __ (' Aggiungi nuovo tipo di contenuto ',' tutsplus '),' new_item_name '=> __ (' Nuovo contenuto Digitare 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 '=>' content-types '),); register_taxonomy ('contenttype', array ('post'), $ args); add_action ('init', 'tutsplus_taxonomies');
Avrai ora una tassonomia extra visualizzata nell'amministratore per i post:
Successivamente, è necessario aggiungere eventuali tassonomie aggiuntive. Sto usando altri due: argomenti utente e argomenti per sviluppatori. Dentro il tutsplus_taxonomies ()
funzione che hai già creato, registra ognuno di questi usando register_taxonomy ()
. La tua intera funzione apparirà ora come questa:
function tutsplus_taxonomies () // Tipo di contenuto tassonomia $ labels = array ('name' => __ ('Content Types', 'tutsplus'), 'singular_name' => __ ('Content Type', 'tutsplus'), ' search_items '=> __ (' Cerca tipi di contenuto ',' tutsplus '),' all_items '=> __ (' Tutti i tipi di contenuto ',' tutsplus '),' edit_item '=> __ (' Modifica tipo di contenuto ',' tutsplus '),' update_item '=> __ (' Aggiorna tipo di contenuto ',' tutsplus '),' add_new_item '=> __ (' Aggiungi nuovo tipo di contenuto ',' tutsplus '),' new_item_name '=> __ (' Nuovo contenuto Digitare 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 '=>' content-types '),); register_taxonomy ('contenttype', array ('post'), $ args); // User topic taxonomy $ labels = array ('name' => __ ('User Argomenti', 'tutsplus'), 'singular_name' => __ ('User topic', 'tutsplus'), 'search_items' => __ ('Cerca argomenti utente', 'tutsplus'), 'all_items' => __ ('Tutti gli argomenti utente', 'tutsplus'), 'edit_item' => __ ('Modifica argomento utente', 'tutsplus'), 'update_item '=> __ (' Aggiorna utente argomento ',' tutsplus '),' add_new_item '=> __ (' Aggiungi nuovo utente argomento ',' tutsplus '),' new_item_name '=> __ (' Nuovo nome argomento utente ',' tutsplus '),' menu_name '=> __ (' Argomenti utente ',' tutsplus '),); $ args = array ('hierarchical' => true, 'labels' => $ labels, 'show_ui' => true, 'show_admin_column' => true, 'query_var' => true, 'rewrite' => array ('slug '=>' argomenti utente '),); register_taxonomy ('usertopic', array ('post'), $ args); // Tassonomia degli argomenti dello sviluppatore $ labels = array ('name' => __ ('Argomenti sviluppatore', 'tutsplus'), 'singular_name' => __ ('Argomento dello sviluppatore', 'tutsplus'), 'search_items' => __ ('Argomenti per gli sviluppatori di ricerca', 'tutsplus'), 'all_items' => __ ('Tutti gli argomenti di sviluppo', 'tutsplus'), 'edit_item' => __ ('Modifica argomento di sviluppo', 'tutsplus'), 'update_item '=> __ (' Aggiorna argomento di sviluppo ',' tutsplus '),' add_new_item '=> __ (' Aggiungi nuovo argomento di sviluppo ',' tutsplus '),' new_item_name '=> __ (' Nuovo nome argomento sviluppatore ',' tutsplus '),' menu_name '=> __ (' Argomenti sviluppatore ',' tutsplus '),); $ args = array ('hierarchical' => true, 'labels' => $ labels, 'show_ui' => true, 'show_admin_column' => true, 'query_var' => true, 'rewrite' => array ('slug '=>' argomenti-sviluppatore '),); register_taxonomy ('developertopic', array ('post'), $ args); add_action ('init', 'tutsplus_taxonomies');
Ora hai tre tassonomie da utilizzare con i post:
Poiché la mia knowledge base non utilizzerà categorie, voglio rimuoverle dall'amministratore in modo che le persone che inseriscono i dati non li usino accidentalmente quando dovrebbero usare le mie tassonomie.
Il modo in cui lo fai è un po 'controintuitivo, in quanto non esiste una funzione per la cancellazione delle tassonomie. Invece, esegui il register_taxonomy ()
funzione senza parametri tranne il nome della tassonomia.
Per rimuovere le categorie, aggiungi quanto segue al tuo functions.php
file:
function tutsplus_remove_taxonomies () register_taxonomy ('category', "); add_action ('init', 'tutsplus_remove_taxonomies', 0);
Quando si attiva questo tramite il dentro
gancio, usando una priorità di 0
assicura che questa funzione venga eseguita dopo che la funzione principale di WordPress ha impostato le categorie in primo luogo.
Se si desidera rimuovere anche i tag, è sufficiente aggiungere il seguente all'interno del tutsplus_rremove_taxonomies ()
funzione:
register_taxonomy ('post_tag', ");
Ora vedrai che solo i tag e le mie tassonomie personalizzate sono disponibili nella dashboard:
Ora disponi della struttura per poter iniziare ad aggiungere dati alla tua knowledge base. Il prossimo passo è creare il front-end, che tratterò nel prossimo tutorial. In questo tutorial ti mostrerò come creare file modello personalizzati, aggiungere ganci e creare le barre laterali specifiche del contesto.