Pianificazione di una base di conoscenza di WordPress

Molti anni fa, scrivevo manuali tecnici per i clienti. Questi di solito assumono la forma di documenti cartacei, con centinaia di pagine di informazioni tecniche stampate e probabilmente usate come un posto a portata di mano per riposare una tazza da caffè dalla maggior parte delle persone per le quali sono state prodotte. Se il client era eccezionalmente avanzato, potrebbe esserci stata una versione PDF, ma è stata usata raramente.

I tempi sono passati e la maggior parte dei manuali, o basi di conoscenza come sono spesso conosciuti, sono in una forma digitale. Possono assumere la forma di un'app o di un sito Web o di una sorta di simulazione, ma avranno sempre dati al loro interno. Le basi di conoscenza devono essere facili per gli utenti per cercare e navigare, e devono essere facili per gli scrittori per aggiungere contenuto o modificare il contenuto, senza dover lavorare su qualsiasi pezzo di dati più di una volta.

Questo è il motivo per cui qualsiasi sistema guidato da un database sarà il più appropriato. Ho usato WordPress per guidare questo tipo di sito Web interno per un po 'di tempo e trovo la flessibilità che WordPress offre su come visualizzare e interrogare i dati, combinata con l'interfaccia di amministrazione che è familiare a molte persone, ne fanno un ideale strumento.

In questa serie, ti mostrerò sapere come creare una base di conoscenza usando WordPress. Ti guiderò attraverso i seguenti passaggi:

  1. Pianificazione della base di conoscenze, in particolare pianificando il modo in cui i contenuti si adattano ai tipi di contenuto di WordPress. Identificazione di quale sarà la struttura del sito e quali file di modelli personalizzati dovrai creare, se ce ne sono.
  2. Strutturare la tua base di conoscenze. Creazione dei file modello pertinenti e scrittura di query personalizzate.
  3. Creare il front-end della tua base di conoscenza. Creare i file modello, abbellirli e aggiungere ulteriore navigazione, ricerca e aiuto.
  4. Rendere vive le tue conoscenze. Osservando i vincoli che potresti incontrare qui, come consentirai l'accesso al sito e come sarà mantenuto e gestito.

La prima parte di questo è la pianificazione, che tratterò qui. In questa serie ho intenzione di lavorare su una base di conoscenza immaginaria e fornirò qualsiasi codice in modo da poterlo utilizzare da solo.

Identificazione del contenuto della Knowledge Base

Il primo passo è identificare quali tipi di contenuti la tua base di conoscenze conterrà. La mia base di conoscenze sarà una risorsa per utenti e sviluppatori di WordPress.

Conterrà i seguenti tipi di contenuti:

  • FAQs
  • Consigli veloci
  • Esercitazioni
  • Frammenti
  • link
  • video

Questo contenuto verrà quindi ordinato in base al pubblico di destinazione e agli argomenti di alto livello. Farà anche uso di tag per l'ordinamento più dettagliato.

Il mio pubblico è diviso in due gruppi:

  • utenti
  • sviluppatori

Per gli sviluppatori, gli argomenti di alto livello sono:

  • Sviluppo del tema
  • Sviluppo di plugin
  • funzioni
  • Ganci di azione e filtro
  • Query e database

Per gli utenti, gli argomenti di alto livello sono:

  • The Dashboard
  • Aggiunta e modifica del contenuto
  • La biblioteca multimediale
  • Installazione, personalizzazione e attivazione di temi
  • Installazione, personalizzazione e attivazione dei plugin
  • impostazioni
  • Amministrazione del sito

Come già accennato, il sito utilizzerà anche i tag che verranno aggiunti dai contributori. Questi non saranno specifici per utenti o sviluppatori.

Il sito sarà gestito da un team immaginario di esperti di WordPress che sono tutti impegnati con altri lavori, quindi è necessario essere in grado di aggiungere rapidamente i contenuti. Alcuni di loro useranno l'app mobile WordPress per aggiungere contenuti.

Avendo identificato ciò che il mio contenuto dovrà essere, ho bisogno di abbinarlo ai tipi di contenuti di WordPress.

Abbinamento dei tuoi requisiti a WordPress

Come con tanti aspetti dello sviluppo con WordPress, non c'è necessariamente un solo modo per abbinare i tuoi contenuti al modo in cui è organizzato WordPress. Quindi, per identificare quello più adatto a te, devi iniziare a capire come WordPress organizza i contenuti.

Tipi di contenuti di WordPress

Fuori dalla scatola, WordPress viene fornito con tre tipi di contenuto:

  • messaggi
  • pagine
  • allegati

Nota che ci sono altri tipi di contenuti in WordPress come link, commenti e voci del menu di navigazione, ma i tre sopra sono quelli più rilevanti qui.

Puoi anche aggiungere i tuoi tipi di contenuto, creando tutti quelli che ti servono, utilizzando tipi di post personalizzati. Questi possono comportarsi come post o pagine, la differenza principale è che le pagine sono gerarchiche e i post non lo sono. In questo caso, la gerarchia non è un problema per i miei principali tipi di contenuto.

Tassonomie WordPress

WordPress ha due tassonomie integrate, che puoi utilizzare con i tuoi post, pagine e tipi di post personalizzati:

  • categoria 
  • etichetta

Inoltre, puoi registrare tassonomie aggiuntive per consentire una migliore selezione e interrogazione dei tuoi dati.

Identificazione di ciò che ti serve

Se la tua knowledge base ha più tipi di contenuti, puoi gestirli in uno dei tre modi seguenti:

  • Utilizzare un tipo di contenuto (come i post) e utilizzare le categorie per identificare il tipo di contenuto di ciascuno.
  • Utilizza un solo tipo di contenuto (come i post) e utilizza una tassonomia personalizzata per identificare il tipo di contenuto.
  • Registra un tipo di messaggio per ciascun tipo di contenuto.

La prima opzione è la più semplice per i principianti, dato che non devi scrivere alcun codice personalizzato e puoi lavorare con WordPress così com'è. La seconda opzione offre maggiore flessibilità ed è un approccio efficace se si desidera elencare tutti i tipi di contenuto insieme piuttosto che suddividerli sempre. È anche utile se una parte del contenuto potrebbe rientrare in più di un tipo di contenuto. La terza opzione ti dà la massima flessibilità finché i tuoi tipi di contenuti saranno sempre separati.

Nel caso della mia knowledge base, alcuni dei miei contenuti potrebbero essere di più di un tipo di contenuto (ad esempio un suggerimento rapido potrebbe assumere la forma di un video o includere un link), quindi non intendo registrare tipi di post separati . Invece, creerò una tassonomia personalizzata per i miei tipi di contenuto.

Oltre ai tipi di contenuto, ho bisogno di pensare a come i miei dati sono classificati. Ogni post sarà in uno o più argomenti con uno o più segmenti di pubblico. Poiché gli argomenti sono chiaramente abbinati ai due gruppi di pubblico, registrerò due tassonomie: una per gli argomenti degli utenti e una per gli argomenti degli sviluppatori. Ciò significa che posso elencare gli argomenti per ciascun pubblico nelle pagine pertinenti del sito.

Ciò significa che la mia knowledge base userà il seguente:

  • messaggi
  • pagine
  • tag
  • tre tassonomie personalizzate: argomento utente, argomento sviluppatore e tipo di contenuto

Quindi dovrò registrare queste tre tassonomie ma non sarà necessario registrare alcun tipo di post. Inoltre, poiché non userò le categorie integrate, le spegnerò in modo che i miei autori non assegnino accidentalmente gli articoli alle categorie.

Pianificazione della struttura della vostra Knowledge Base

Ora che so quali contenuti includerà la mia knowledge base e come verranno archiviati i dati, ho bisogno di pensare alla struttura delle pagine della mia knowledge base. Il sito utilizzerà una combinazione di archivi e pagine statiche, con una home page che include gli ultimi post di tutti gli argomenti.

Devo anche pensare alla mia navigazione, così come alla navigazione nel menu, includerò la navigazione per argomento nella barra laterale e anche una casella di ricerca.

Struttura della pagina

Quindi, il mio sito includerà:

  • una home page con gli ultimi post di tutti gli argomenti
  • una pagina statica per ciascuno dei due gruppi di utenti e per i tipi di contenuto
  • una pagina di archivio per ogni tipo di contenuto
  • una pagina di archivio per ogni termine di tassonomia
  • singole pagine per ogni post

Barra laterale e piè di pagina

Includerò una barra laterale e un piè di pagina su tutte le pagine del mio sito, ma ho intenzione di variare leggermente in base all'area del sito in cui si trova l'utente.

Ecco cosa sarà nella barra laterale:

  • In tutte le pagine ci sarà una casella di ricerca in alto.
  • Nella pagina iniziale, nella pagina di ricerca e nelle pagine 404 ci saranno collegamenti a ciascuna pagina degli utenti e degli sviluppatori, con un elenco di termini di tassonomia pertinenti sotto ciascuno con collegamenti e un elenco di tipi di contenuto con collegamenti alle rispettive pagine di archivio.
  • Nella pagina degli utenti e nelle pagine di archivio per la tassonomia degli argomenti utente saranno presenti collegamenti agli archivi dei termini di tassonomia degli argomenti dell'utente.
  • Nella pagina degli sviluppatori e nelle pagine di archivio per la tassonomia degli argomenti dello sviluppatore, ci saranno collegamenti agli archivi dei termini di tassonomia degli argomenti dello sviluppatore.
  • Nella pagina del tipo di contenuto e nelle pagine di archivio per la tassonomia del tipo di contenuto, sarà disponibile un elenco di tipi di contenuto con collegamenti alle rispettive pagine di archivio.
  • Su una singola pagina avremo collegamenti agli archivi per l'argomento utente e le tassonomie degli sviluppatori.

Tutto ciò sembra un po 'complicato, ma comincerà a dare un senso quando inizieremo a costruirlo. Creerò ognuno di questi elementi con una funzione e poi useremo i tag condizionali per collegare le funzioni a un hook di azione che aggiungerò al modello della barra laterale. Verrà anche aggiunta un'area widget alla barra laterale per ogni evenienza.

Il piè di pagina includerà gli elenchi dei termini di tassonomia per tutti e tre i miei argomenti più un elenco degli ultimi post.

File di modello

Ciò significa che ho bisogno dei seguenti file modello:

  • index.php
  • page.php
  • archive.php
  • single.php
  • sidebar.php

Ganci e funzioni

Aggiungerò un hook di azione, che mi aiuterà a popolare le barre laterali: a tutsplus_sidebar gancio di azione in sidebar.php.

Creerò una funzione associata a questo hook, che conterrà i seguenti elenchi:

  • collegamenti alle pagine di archivio per i termini di tassonomia degli argomenti dell'utente
  • collegamenti alle pagine di archivio per i termini di tassonomia degli argomenti dello sviluppatore
  • collegamenti agli archivi per i termini di tassonomia del tipo di contenuto.

Ognuno di questi includerà i tag condizionali in modo che vengano aggiunti alla barra laterale nelle pagine di destra.

Sommario

Ora ho un piano per il contenuto e la struttura della mia base di conoscenze e l'ho abbinato alle funzionalità di WordPress. Quindi ho identificato esattamente quello che ho bisogno di creare in WordPress per far funzionare questa base di conoscenza.

Mentre è allettante tentare di immergersi e iniziare a programmare, è una buona idea dedicare un po 'di tempo a pianificare la tua base di conoscenze in questo modo in modo da sapere esattamente quali file modello e funzioni avrai bisogno. In questo modo quando verrai a scrivere il codice, sarà molto più veloce.

Nella prossima parte di questa serie, ti mostrerò come registrare i tipi di post e le tassonomie per i dati della tua knowledge base e rimuovere quelli che non ti servono.