Decidere come sviluppare il tuo tema framework WordPress

Nella prima parte di questa serie, ho delineato come funzionano i quadri tematici e i diversi tipi di quadri tematici presenti.

Prima di poter iniziare a costruire il tuo framework, dovrai considerare come deve funzionare e a cosa sarà utilizzato, in modo da poter utilizzare l'approccio di sviluppo più appropriato fin dall'inizio.

In questo tutorial, ti illustrerò i fattori che devi considerare, tra cui se il tuo framework sarà pubblico o privato, se sarà usato da non codificatori o sviluppatori, e quali funzionalità aggiuntive vuoi includere.

Ci sono due parti per decidere il tuo approccio: identificare come verrà utilizzato il tuo framework e in base a ciò, identificare ciò che devi includere in esso.

Come verrà utilizzato il tuo framework tematico?

Il modo in cui deve essere utilizzato il tuo quadro tematico influenzerà ciò che includi in esso e come lo strutturi. 

Considera quanto segue:

  • La tua struttura tematica è solo per te o per altri sviluppatori?
  • Il tuo framework sarà usato da sviluppatori o utenti con poca o nessuna esperienza di programmazione?
  • Il tuo quadro tematico sarà pubblico o privato?

Solo per te o per gli altri?

Se il tuo framework è solo per uso personale, allora dovrai solo pensare ai tuoi bisogni quando lo stai sviluppando; tuttavia, ha senso renderlo a prova di futuro e renderlo il più robusto possibile, quindi dovresti:

  • utilizzare gli standard di codifica di WordPress
  • adotta il principio DRY (non ripeterlo)
  • utilizzare il codice che è possibile convalidare utilizzando il controllo di convalida del W3C. Dovresti anche assicurarti che il tuo codice sia accessibile
  • includi commenti - anche se qualcun altro non guarderà il tuo codice, sarai sorpreso di quanto sia facile dimenticare che cosa fa un pezzo di codice quando si arriva a modificarlo molti mesi dopo
  • usa il controllo della versione per gli aggiornamenti al tuo framework
Lo strumento di convalida del markup W3C

Se il tuo framework sarà utilizzato da altri sviluppatori, forse dai tuoi colleghi, dovrai adottare tutte le pratiche sopra elencate e potresti anche dover:

  • fornire documentazione con una descrizione della struttura, delle funzioni e dei ganci del framework
  • considera come condividerai e collaborerai sul codice: l'utilizzo di un sistema di collaborazione come GitHub renderà tutto più semplice
  • documenta le tue versioni o collegale a pietre miliari e / o versioni su GitHub.

Per sviluppatori o utenti?

Alcuni framework tematici sono rivolti agli utenti non codificanti che possono personalizzare estesamente il framework senza scrivere alcun codice, mentre altri sono rivolti agli sviluppatori, fornendo ganci e funzioni che possono utilizzare per personalizzare ed estendere il framework. Altri sono adatti per entrambi, con un'interfaccia utente completa e un'API.

Solo perché il tuo framework sarà usato dai non-sviluppatori non significa necessariamente che lo rilascerai al pubblico - potresti avere colleghi designer a cui vuoi dare accesso, o puoi permettere ai client di usarlo per le personalizzazioni il loro sito.

Se il tuo framework è per utenti non codificanti, dovrai includere:

  • una o più schermate delle opzioni del tema da cui gli utenti possono effettuare le personalizzazioni
  • accesso al customizer del tema che puoi scegliere di utilizzare al posto delle schermate delle opzioni del tema, dando agli utenti il ​​vantaggio di poter vedere le loro modifiche mentre le fanno, oppure potresti decidere di utilizzare entrambi
  • aree del widget che consentiranno agli utenti di aggiungere il proprio contenuto in una varietà di luoghi sulla pagina
  • menu in modo che gli utenti possano navigare nel sito (potresti voler includere più di una area per i menu)
  • supporto per i temi figlio in modo che gli utenti possano installare per creare rapidamente un sito di lavoro
  • librerie per qualsiasi funzionalità che si desidera includere come cursori o light box
  • documentazione e supporto in modo che gli utenti sappiano come utilizzare il tuo lavoro (alcuni di questi sono utili ma fai attenzione a lasciarti prendere il tempo necessario)

Se il pubblico di destinazione è costituito da sviluppatori che utilizzeranno il framework insieme ai propri temi e / o plug-in secondari, potrebbe essere necessario prendere in considerazione alcuni dei precedenti, ma è necessario includere anche le funzionalità dal seguente elenco:

  • ganci di azione che consentono agli sviluppatori di inserire il proprio codice nei file del modello senza creare un file modello duplicato
  • filtri che consentono agli sviluppatori di modificare ciò che viene prodotto dai file del modello
  • funzioni personalizzate che gli sviluppatori possono utilizzare nei temi figli
  • parti del modello e include i file per ridurre la duplicazione del codice. Questo è qualcosa che trarrai beneficio da te stesso mentre lavori con il framework e che altri sviluppatori troveranno utile se la teoria ha bisogno di creare file di template nei loro temi figli. Assicurati che i tuoi file siano denominati e strutturati in modo logico e aggiungi commenti ai file da cui vengono chiamati in modo che le persone possano trovarli facilmente.

Pubblico o Privato?

Se stai pianificando di rilasciare il tuo framework al pubblico, ci sarà un insieme di considerazioni aggiuntive:

  • se invierai il tuo framework come tema tramite il repository di temi WordPress, dovrai rispettare le linee guida per la revisione del tema
  • poiché gli utenti faranno uso del framework per qualsiasi numero di scenari e tipi di sito, sarà necessario verificare che il framework funzioni come dovrebbe in una vasta gamma di contesti, e magari arruolare l'aiuto di altri utenti e sviluppatori per aiutare lo provi
  • una forma di documentazione è essenziale, sia per gli sviluppatori che per gli utenti, a seconda del pubblico di destinazione
Il repository di temi WordPress

Dovrai anche considerare come commercializzare il tuo framework: anche se è gratuito, vuoi che le persone lo usino, quindi dovrai pubblicizzarlo tramite un sito web, social media, SEO, negozi tematici di terze parti, passaparola, meetup locali, WordCamp e / o altri metodi.

Che cosa dovrebbe includere il tuo quadro tematico?

Gran parte delle funzionalità del tuo tema sarà determinata dalle esigenze degli utenti che hai appena identificato. Avendo deciso a chi è rivolto il tuo tema, e se possibile chiedendo loro di cosa avranno bisogno, scrivi un elenco delle caratteristiche che il tuo tema includerà. 

Questo elenco includerà (ma non deve essere limitato a) una selezione di quanto segue:

  • file modello (incluse le parti del modello e i file inclusi)
  • funzioni
  • ganci di azione e ganci filtro
  • aree del widget
  • menu
  • opzioni e schermate delle impostazioni
  • supporto per il customizer di temi
  • documentazione
  • temi figlio

Per questi, identifica:

  • qual è la caratteristica
  • cosa farà
  • dove apparirà il suo codice

Oltre alle funzionalità determinate dalle esigenze di diversi gruppi di utenti, potresti anche voler includere altre funzionalità come:

  • Il tuo framework avrà un layout integrato, il layout sarà configurabile o sarà codificato tramite temi figlio?
  • Quanto di questo includerai nel tuo tema principale? Alcuni framework hanno uno stile estremamente minimale, mentre altri (come il mio) sono costruiti utilizzando Object Oriented CSS (OOCSS) per rendere lo styling più semplice nei temi figlio.
  • La tua struttura sarà reattiva o sarà codificata tramite temi figlio? Se il tuo tema genitore è reattivo, dovrai assicurarti che questo non venga sovrascritto da qualsiasi stile di layout nei temi figli, che è un'area in cui OOCSS è utile.
  • Aggiungerete funzionalità SEO al vostro framework al di là di quanto fornito da WordPress, o gli utenti aggiungeranno questo tramite un plugin standalone?
  • Includerai elementi come cursori, gallerie, immagini di sfondo e altro nel tuo framework o aggiungili tramite temi figlio se necessario?

Questo elenco potrebbe crescere nel tempo man mano che le tue esigenze e quelle dei tuoi utenti si evolvono. Assicurati che il tuo framework sia facile da estendere fin dall'inizio e sarai in grado di aggiungere nuove funzionalità ogni volta che è necessario.

Sommario

Sviluppare la propria struttura tematica è un'impresa importante. È qualcosa che ti farà risparmiare molte ore di sviluppo a lungo termine, ma che richiede una notevole quantità di lavoro per avere ragione. 

Prendendo il tempo per identificare chi utilizzerà il framework e quali funzionalità avranno bisogno, lo renderà più utile per te stesso e per gli altri utenti e renderà più facile estendere e adattare il framework in futuro.