Sviluppo WordPress professionale strategie

Lavorare nella comunità di WordPress è sia una benedizione che una maledizione. Grazie alla sua natura open source, abbiamo una fantastica piattaforma su cui costruire siti web, temi, plugin e persino applicazioni. Ha una comunità intelligente attorno, una ricca documentazione e standard che mirano a fornire la via scrivere codice per questo e la via per costruire strumenti intorno ad esso.

Allo stesso tempo, la natura open source di WordPress così come le lingue con cui è costruito permettono a chiunque di spedire il proprio lavoro indipendentemente dal fatto che sia conforme a qualsiasi tipo di standard o usi qualsiasi tipo di best practice. Per molti utenti, non hanno idea di cosa sta succedendo sotto il cofano. Se il prodotto funziona, sono felici.

Come persone che sono seri nel loro mestiere, non possiamo assolutamente accontentarci di "farla funzionare". Noi avere preoccuparsi di ciò che è sotto il cofano.

Se sei un serio sviluppatore WordPress, probabilmente hai già un metodo per lavorare, ma se sei appena iniziato o stai cercando di definirti uno sviluppatore WordPress professionale, allora ci sono strategie, ambienti e strumenti che puoi utilizzare che può aiutarti.

In questa serie di tre articoli, esamineremo esattamente cosa sono e come si applicano al nostro lavoro di progetto. Innanzitutto, inizieremo con le strategie.


Organizzazione file

Una parte significativa del software di costruzione lo sta effettivamente mantenendo dopo il lancio iniziale. La verità è che più tempo è effettivamente dedicato al mantenimento dei progetti piuttosto che alla loro costruzione. Ha senso, giusto? Un prodotto esiste per molto più tempo di quello che serve per crearlo e, supponendo che sia di alta qualità, gli utenti troveranno bug e richiederanno nuove funzionalità.

Sfortunatamente, una notevole quantità di tempo di manutenzione viene spesa per risolvere un bug o per aggiungere rapidamente una nuova funzionalità e viene spesso fatto in modo tale da focalizzarsi di più sul fatto che è stato fatto piuttosto che farlo correttamente. Anche questo non è del tutto sbagliato - quando un prodotto è legato direttamente alla bottom line di un'azienda, allora il tempo è una priorità.

Ma ci sono cose che possono essere fatte durante lo sviluppo iniziale che possono fare molto per rendere più facile mantenere un prodotto dopo il suo lancio.

Per temi

Il codice WordPress fornisce una guida completa su come creare temi. Copre guide di fogli di stile, file modello, informazioni JavaScript, linee guida di test, liste di controllo e vari riferimenti. Anche se sei nel business della creazione di temi, ti consiglio vivamente di rivedere questo elenco di volta in volta.

Oltre a seguire il set di linee guida base, ci sono altre cose che possono essere fatte per migliorare la manutenzione. Supponendo che stai seguendo le linee guida del Codex per la costruzione di temi, considera quanto segue per quanto riguarda alcune delle tue risorse e dipendenze.

Risorse

Una delle cose che faccio per ognuno dei miei progetti è assicurarsi di avere directory specifiche per risorse che non rientrano nei normali file richiesti per lo sviluppo del tema. Con questo voglio dire che ho delle directory specifiche per:

  • immagini
  • Fogli di stile
  • JavaScript
  • File di lingua
  • Librerie, come un codice più modulare come plug-in o classi PHP
  • … e così via

Certo, ogni tema richiede almeno un singolo foglio di stile, ma supponiamo che fornirai fogli di stile specifici per la dashboard amministrativa. Per la manutenzione, è meglio tenerli separati rispetto a un singolo foglio di stile e quindi consentire a uno strumento di combinarli prima di rilasciarli.

Daremo un'occhiata agli strumenti esattamente per questo nell'articolo finale della serie.

Indipendentemente da dove ti atterri, fare un po 'di pianificazione in anticipo può fare molto per avere un insieme ben organizzato di risorse.

Convenzioni di denominazione

Considerando come organizzare al meglio le nostre varie risorse, le convenzioni di denominazione possono contribuire a fornire un livello di chiarezza e fornire uno standard in base al quale tutti i file correlati dovrebbero seguire. Ad esempio, in ciascuno dei miei progetti di solito faccio quanto segue:

  • immagini relativi a un modello specifico sono preceduti dal nome del modello, ad esempio: full-width.background.png
  • JavaScript
    • Per il dashboard amministrativo, sarà preceduto da Admin e sarà nominato a seconda di quale pagina sono stati caricati: admin.edit-post.js, admin.users.js.
    • Per il tema, o le aree rivolte al pubblico, verrà aggiunto il prefisso tema e denominato per il modello su cui sono caricati: theme.about.js.
  • Fogli di stile sono nominati come JavaScript
    • I fogli di stile specifici dell'amministrazione sono preceduti da Admin e denominati in base alla pagina in cui sono caricati: admin.widgets.css
    • I fogli di stile specifici del tema vengono denominati nello stesso modo in cui vengono denominati in base al modello su cui vengono caricati: theme.about.css.

Naturalmente, ci sono alcuni JavaScript e fogli di stile universali che sono applicati in tutto il tema. In questo caso, mantengo semplicemente un insieme di admin.cssstyle.css File.

Per i plugin

La maggior parte degli sviluppatori di WordPress sa che i plugin dovrebbero essere indipendenti dal tema. Cioè, non dovrebbero dipendere da una caratteristica di alcun tema dato né dovrebbero imporre nessuno dei loro fogli di stile o JavaScript sul tema esistente, tranne per la loro caratteristica specifica.

Inoltre, ci sono due modi per sviluppare i plugin:

  • L'API del plugin
  • L'API Widget

A tal fine, ci sono alcune strategie che possono essere impiegate quando si scrivono i plugin per assicurarsi che i fogli di stile, JavaScript, immagini e altre risorse non siano in conflitto con il tema esistente.

Non mescolare e abbinare

Quando si tratta di scrivere plug-in, le varie API di solito rendono facile combinare le lingue che state usando per creare il vostro plugin. Con ciò intendo che è completamente possibile includere tutti gli stili, JavaScript, HTML e PHP in un singolo file e quindi spedirlo.

Ma io non sono un fan di questo.

In genere, ogni lingua ha uno scopo specifico e, per questo motivo, cerco di mantenere ogni lingua nel proprio file il più possibile. Considera questo:

  • HTML viene utilizzato per descrivere i dati resi nel browser
  • Il CSS è usato per disegnare o presentare i dati che sono resi nel browser
  • JavaScript viene utilizzato per gestire eventi e informazioni di inoltro da e verso il browser e il server
  • PHP è pensato per funzionare sul server

Come tale, credo che abbia più senso tenere separati i file in modo da sapere dove mettere a fuoco quando si presenta un problema o è ora di introdurre una nuova funzionalità.

Questo non significa che di tanto in tanto non avrai scritto PHP nel tuo markup o che non creerai dinamicamente elementi HTML sul lato server, ma è inteso a fornire una base su cui organizzi il tuo lavoro.

Separazione degli interessi

Oltre a fare in modo che ogni set di fogli di stile e file JavaScript siano chiari, tendo a seguire la stessa struttura che faccio per i temi e cioè a nominare il codice amministrativo-specifico con prefisso Admin e tema o codice pubblico-specifico con display.

È una strategia semplice, ma è molto importante per ottimizzare dove posizionare i file e mantenere i problemi mentre si presentano una volta che il lavoro è in libertà.

Una parola finale sulla strategia

Il punto che copre questo non è quello di imporre mio modo di organizzare i file nel tuo sistema o anche di dire che questo è un modo standard per farlo. Ha lo scopo di fornire un punto di partenza per il quale è possibile mantenere i vostri progetti.

In definitiva, il punto è minimizzare la manutenzione il più possibile. Avere convenzioni di denominazione e uno standard di organizzazione chiaramente definiti consente di sapere esattamente come e dove posizionare i file senza fare congetture e consente ai tuoi collaboratori e / o membri del team di sapere dove concentrarsi per rintracciare i problemi non appena arrivano.


Documenti di riferimento

Una delle sfide che gli sviluppatori devono affrontare è assicurarsi che abbiano familiarità con i modi appropriati per sfruttare la piattaforma su cui stanno lavorando.

Per la maggior parte, ogni lingua, framework e libreria include una qualche forma di documentazione e WordPress non è diverso. Il fatto è che WordPress è composto da diversi pezzi: non solo l'applicazione è stata creata utilizzando PHP, ma ci sono API specifiche per l'applicazione, oltre a librerie come jQuery che sono necessarie per avere come riferimenti.

Poiché ci vuole molto tempo per familiarizzare intimamente con i dettagli di ogni lingua, applicazione e libreria, gli sviluppatori di WordPress professionisti di solito hanno riferimenti prontamente disponibili. Per gli sviluppatori di WordPress, i seguenti riferimenti sono estremamente preziosi.

  • PHP. Ovviamente, la lingua in cui è scritto WordPress è preziosa. Avere a portata di mano il manuale per rivedere le funzioni e le classi è importante soprattutto se si opera al di fuori dell'API standard di WordPress.
  • Standard di codifica. Uno dei maggiori problemi nello sviluppo di WordPress è che gli sviluppatori spesso non applicano gli standard di codifica al loro lavoro (anche io ero colpevole di questo!). Seguendo uno standard, ci assicuriamo che tutto il nostro codice sembrerà lo stesso, rendendo così più semplice il ritorno alla comunità, se lo desideriamo. Se non altro, rende il codice pulito.
  • API WordPress. Questo dovrebbe essere un gioco da ragazzi, ma assicurarti di lavorare correttamente con i vari oggetti di WordPress è necessario per lo sviluppo professionale. Solo perché puoi eludere ciò non significa che dovresti. Le probabilità sono, se c'è un metodo che ti serve, è già disponibile come parte dell'API di base.
  • API jQuery. jQuery è la libreria JavaScript fornita con WordPress e che viene utilizzata per le funzionalità di base sia all'interno della dashboard che all'interno di molti temi e plug-in. È meglio non provare a portare la tua variante di JavaScript nel mix, ma a mantenere ciò che viene fornito.

Per la maggior parte, è tutto - aggiungi ai preferiti o li hai prontamente disponibili nel tuo IDE (se lo supporta), trascorri del tempo in ognuno di essi e sarai sulla buona strada per ulteriori pratiche di sviluppo professionale.

Per quanto riguarda le strategie, questo lo copre. In poche parole, disponi di un modo definito di organizzare e assegnare un nome ai tuoi file, assicurati di seguire le best practice dell'API di base di WordPress e assicurati di fare riferimento ai vari documenti dell'API della lingua quando crei il tuo lavoro e sarai in una posizione decisamente migliore rispetto alla semplice costruzione del tuo lavoro.

.