Creazione della struttura della Knowledge Base di WordPress

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ò:

  • registrando le tassonomie per i tuoi dati
  • rimuovere le tassonomie che non ti servono

Cosa ti serve

Per seguire questo tutorial, avrai bisogno

  • un'installazione di sviluppo di WordPress
  • un editor di testo
  • un tema di partenza

1. Creazione di un tema iniziale

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 * /

2. Registrazione dei tipi di posta e tassonomie

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:

3. Rimozione di tassonomie indesiderate

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:

Sommario

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.