Temi WordPress mantenibili Strumenti

Nel corso di questa serie, abbiamo parlato di una serie di pratiche che possiamo utilizzare nel nostro sviluppo del tema WordPress che non solo forniranno una base coerente dalla quale possiamo costruire i nostri progetti esistenti e futuri, ma che ci aiuterà anche mantenerli dopo che sono stati rilasciati.

Fino a questo punto, abbiamo coperto:

  1. Elenchi
  2. Convenzioni di denominazione

Prima di immergerti in questo articolo, ti consiglio di leggere i primi due in modo che tu possa avere un'idea della prospettiva che stiamo prendendo quando guardiamo allo sviluppo del tema. Oltre a questi punti, ci sono anche una serie di strumenti che penso debbano essere installati per garantire che stiamo scrivendo il miglior codice possibile.

Naturalmente, questo non è solo in aggiunta ai suggerimenti precedentemente menzionati, ma anche agli standard di codifica di WordPress.

In questo articolo finale, parlerò di diverse impostazioni e plug-in che penso debbano essere definiti e / o installati ogni Ambiente di sviluppo WordPress per assicurarti di utilizzare le API più aggiornate, che non influenzi negativamente le prestazioni e che non stia causando avvisi, avvisi o errori da lanciare tramite PHP.

impostazioni

Prima di saltare a parlare dei vari plugin disponibili, ci sono una serie di impostazioni che consiglio vivamente di impostare sul tuo server web e nel tuo ambiente WordPress.

Alcune di queste impostazioni contribuiranno alla funzionalità dei plugin che vedremo più avanti in questo articolo, altre forniranno funzionalità che ci aiuteranno a avvisarci quando stiamo commettendo errori in PHP e / o nel nostro WordPress codice specifico.

Impostazioni del server Web

Sebbene non tutti lavorino con Apache, PHP e MySQL, è ancora discutibilmente la configurazione più comune utilizzata quando si lavora con WordPress. Una delle cose che consiglio sempre agli sviluppatori in questo ambiente è assicurarsi che abbiano configurato PHP per il log qualunque cosa in un file di registro sul proprio computer.

Cioè, quando vengono date le opzioni per registrare:

  • errori di avvio
  • errori
  • avvertenze
  • avvisi
  • tutti gli altri errori e avvertenze

Assicurati di controllare qualunque cosa. Se si utilizza uno strumento come MAMP, XAMPP o WAMP, di solito questo è molto semplice da eseguire tramite l'interfaccia utente; tuttavia, se non sei sicuro di dove configurare queste opzioni, puoi sempre impostarle all'interno php.ini usando le note che sono delineate nel manuale PHP.

Tenere traccia degli errori registrati che potrebbero non essere visualizzati sullo schermo (anche se faremo il possibile per assicurarci che fare vederli sullo schermo più avanti in questo articolo) è essenziale per assicurarsi che si stia scrivendo il codice che rileva eventuali problemi con il codice.

Certo, dovrebbe essere possibile farlo quando si usano altri server Web - dopotutto, questa è solo un'impostazione di configurazione PHP - ma al momento non uso molte delle altre opzioni disponibili, quindi volevo essere esplicito riguardo ambiente in cui configuro le mie impostazioni.

WP_DEBUG

WP_DEBUG è una costante che puoi impostare all'interno del tuo WordPress wp-config.php file. La maggior parte delle installazioni avrà questo set su false, per impostazione predefinita. Se il tuo è già impostato su vero, quindi significa che qualcuno lo ha già fatto o che hai una copia di WordPress con le impostazioni che sono non spedito di default da WordPress.org.

Ad ogni modo, nel file di configurazione, cerca la costante e se è impostata su falso, quindi impostarlo su vero. Se non viene trovato, quindi aggiungi la linea. In definitiva, questo è ciò che è tuo functions.php il file dovrebbe contenere (oltre all'altro codice già presente):

define ('WP_DEBUG', true);

In breve, questa particolare costante farà in modo che le note PHP vengano scritte sul display così come i messaggi di debug specifici di WordPress. Questo è davvero utile ogni volta che si lavora su un tema e si tenta di verificare, ad esempio, un indice vuoto di un array o si finisce per utilizzare una funzione che non è più supportata dalla versione corrente di WordPress.

C'è anche un fantastico plugin relativo a questa tecnica che tratteremo più avanti in questo articolo.

Inoltre, ci sono anche altre due costanti che puoi definire che daranno ancora più informazioni su ciò che sarà questo. Puoi leggere l'articolo del Codex corrispondente per maggiori informazioni ma, in breve, le costanti e le loro definizioni sono le seguenti:

WP_DEBUG_DISPLAY

WP_DEBUG_DISPLAY è un altro compagno di WP_DEBUG che controlla se i messaggi di debug sono visualizzati all'interno dell'HTML delle pagine o meno. L'impostazione predefinita è 'true' che mostra gli errori e gli avvertimenti man mano che vengono generati. Impostando su false si nascondono tutti gli errori. Questo dovrebbe essere usato insieme a WP_DEBUG_LOG in modo che gli errori possano essere riesaminati in seguito.

WordPress mostrerà tutti gli errori, gli avvertimenti e le notifiche nel contesto di una pagina. Se si desidera continuare a eseguire il debug di WordPress ma si desidera impedire che le informazioni vengano visualizzate nella pagina e scritte solo in un file di registro, è possibile impostare questa costante su falso.

Personalmente, non sono un fan del tenere le cose nascoste come mi piace vedere i problemi non appena spuntano (leggi: non appena li ho generati), ma ognuno ha diversi flussi di lavoro. A tal fine, se vedere i messaggi sulle pagine è in conflitto con il tuo stile di sviluppo, allora definisci questa costante in modo appropriato insieme a WP_DEBUG_LOG.

WP_DEBUG_LOG

WP_DEBUG_LOG è un compagno di WP_DEBUG che fa sì che anche tutti gli errori vengano salvati in un file di registro debug.log all'interno della directory / wp-content /. Questo è utile se vuoi rivedere tutte le notifiche in seguito o devi visualizzare le notifiche generate fuori schermo (ad esempio durante una richiesta AJAX o esecuzione di wp-cron).

Questa è una costante utile da definire se sei grande nel monitorare i registri degli errori (la maggior parte degli sviluppatori dovrebbero essere). Oltre al log generato da PHP, questo è un altro file che può fornire informazioni su quale potrebbe essere un determinato problema e dove sta accadendo ogni volta che stai lavorando a un tema.

SAVEQUERIES

Questa costante è un'altra che sarà utile con alcuni dei plug-in che vedremo più avanti in questo articolo; tuttavia, vale la pena ambientarlo functions.php anche se non hai installato plugin aggiuntivi.

Innanzitutto, come il WP_DEBUG costante sopra, puoi aggiungerla a functions.php. Dovrebbe sembrare come questo:

define ('SAVEQUERIES', true);

Sembra buono, certo, ma cosa fa realmente? SAVEQUERIES istruisce WordPress per tenere traccia di due cose:

  1. Tutte le query che vengono eseguite
  2. Quanto tempo ci è voluto per eseguire ogni query

Questo si interfaccia direttamente con $ wpdb che è la classe del database di WordPress. Come accennato in precedenza, c'è un altro plug-in che funziona direttamente con questa costante particolare in modo tale che tu possa vedere tutte le query da WordPress; tuttavia, se preferisci rinunciare a utilizzare un plug-in per contribuire a rendere le informazioni, basta definire questa costante e quindi stampare il risultato di $ Wpdb-> query al tuo formato di output di scelta.

plugin

Oltre all'impostazione delle costanti, ci sono un certo numero di potenti plugin che penso debbano essere installati nell'installazione di WordPress di ogni sviluppatore che possa fornire ancora più aiuto se usato con le impostazioni sopra.

Anche se molti di voi avranno dei plugin da aggiungere a questa lista e altri avranno opinioni su ciascuno di questi plugin, questi sono quelli che ho trovato più utili nei miei sforzi di sviluppo.

Barra di debug

Barra di debug introduce un'opzione nella barra di amministrazione dell'installazione di WordPress che fornisce informazioni su query, cache e altre informazioni.

Questo plugin è usato al meglio con WP_DEBUG e SAVEQUERIES abilitato. Nota che questo plugin è anche richiesto per un certo numero di plugin che sto elencando dopo questo. Cioè, ha un numero di estensioni che lo rendono ancora più potente.

Aggiunta di azioni di barra e filtri di debug

Questo plug-in introduce altre due schede all'interno della barra di debug che consente di visualizzare tutte le azioni e i filtri (ovvero tutti gli hook) che vengono eseguiti nella richiesta della pagina corrente.

Ciò è di eccezionale aiuto se stai costruendo un tema complesso o se hai ereditato una base di codice da qualcun altro e stai cercando di trovare perché stanno accadendo certe cose che potrebbero non essere facili da trovare a causa del modo in cui il tema è costruito. 

Debug Bar Console

Sfortunatamente, questo particolare plugin non è stato aggiornato in un paio d'anni quindi non so per quanto tempo continuerà a lavorare con WordPress (a meno che qualcuno non lo adotti per lo sviluppo), ma funziona in congiunzione con Debug Bar per darti la capacità di eseguire PHP e MySQL direttamente da WordPress.

Questo è molto utile quando si cerca di capire perché, diciamo, una funzione nel tuo tema non si comporta come dovrebbe essere. Cioè, sei in grado di scrivere una funzione direttamente all'interno della console, eseguirla e vedere il risultato senza dover continuamente tornare all'IDE, modificare la funzione, aggiornare e controllare il risultato.

Dipendenze di script e stile elenco barre di debug

Se stai lavorando con un tema che utilizza molti stili e molti file JavaScript, specialmente quelli che dipendono da altri fogli di stile e altri file JavaScript, è utile conoscere l'ordine in cui vengono caricati e come dovrebbero essere caricato.

È qui che entra in gioco questo addon di Debug Bar.

Ci consente di visualizzare l'ordine in cui gli script e gli stili sono caricati ed eseguiti in modo da poter apportare le modifiche necessarie per garantire che tutte le dipendenze siano caricate nel modo in cui dovrebbero essere per il corretto funzionamento del tema. 

Tipi di messaggi della barra di debug

Se il tuo tema introduce tipi di post personalizzati nella dashboard, allora hai dovuto lavorare con una varietà di proprietà, regole di riscrittura e altro ancora. 

Può diventare complesso molto velocemente a seconda di quanto decidi di modificare le funzionalità del tipo di post personalizzato.

Questo plugin aggiunge un altro pannello alla barra di debug in modo tale che sia possibile vedere facilmente le proprietà per ciascun tipo di messaggio. Non consente modifiche o modifiche al volo (come si può fare nella Debug Bar Console o può essere fatto semplicemente modificando la definizione del tipo di post personalizzato), ma fornisce un formato molto più pulito di un array gigante sullo schermo di un IDE.

Log obsoleto

Questo è un semplice plugin che registrerà l'uso di vecchi file, funzioni, argomenti e così via in un file. Nello specifico, quando scrivi un tema, questo plugin ti avviserà quando stai eseguendo qualcosa che non è al 100% compatibile con la versione corrente di WordPress. 

Per coloro che vogliono assicurarsi che siano a prova di futuro del proprio lavoro e che siano sempre aggiornati con le ultime API, consiglio vivamente questo plugin.

Plugin prestazioni di WordPress Plugin

Uno dei più grandi malintesi su WordPress è che l'esecuzione di molti plug-in fa sì che il tuo sito si carichi lentamente o che un sacco di plug-in causino problemi. Questo non è vero. Sono plugins scritti male che lo fanno. Quelli che seguono le best practice di WordPress e gli standard di codifica dovrebbero avere un impatto minimo sul tempo di caricamento.

Detto questo, questo plugin identificherà esattamente quali plug-in influenzano maggiormente le prestazioni. Certo, questo può essere utile quando stai cercando di restringere il motivo per cui un sito sta funzionando lentamente, ma è anche utile eseguire contro il tuo codice per garantire che sei non influisce negativamente sulle prestazioni del sito.

Riscrivi l'ispettore di regole

Per tutti coloro che hanno lavorato a lungo con tipi di post personalizzati, percorsi personalizzati o URL, o che hanno dovuto avventurarsi nell'API Rewrite, conoscete le sfide che esistono.

Questo plugin aiuta a fornire una rappresentazione visiva delle regole di riscrittura per l'installazione. È utile per controllare le regole esistenti all'interno del tema corrente, ma è anche utile per aiutare a eseguire il debug quando si tenta di definire uno schema personalizzato e si sta facendo fatica a inchiodare l'espressione regolare per farlo.

Tester RTL

Se stai cercando di commercializzare il tuo plug-in per il pubblico più vasto possibile, prova a testare l'aspetto nelle lingue che leggono da sinistra a destra e da destra a sinistra, nonché. 

Cioè, se vuoi assicurarti di aver correttamente internazionalizzato il tuo tema, allora questo plugin ti permetterà di vedere come appare il tuo lavoro per le lingue internazionalizzate.

Se stai cercando di vendere il tuo tema, ad esempio, su WordPress.com, allora questo è un must.

Tema di controllo

Se stai cercando di assicurarti che il tuo tema sia aggiornato con le attuali linee guida per la revisione del tema di WordPress, allora il tema del controllo è un argomento non negoziabile.

Effettuerà un controllo automatico del tuo tema e farà in modo che tutto il tuo codice sia all'altezza delle attuali linee guida. In caso contrario, ti mostrerà una lettura chiara dei problemi e dei collegamenti alle linee guida che non stai seguendo. Fornisce anche suggerimenti su cose che dovresti avere implementato.

Si noti che la maggior parte (se non tutti) di questi sono liberamente disponibili all'interno del repository dei plugin di WordPress in modo che possano essere installati direttamente da WordPress stessa.

Conclusione

Come ho affermato nei precedenti articoli, molte delle cose che ho condiviso in questa serie sono un po 'soggettive o potrebbero non funzionare nel tuo ambiente attuale. Sebbene le pratiche e gli strumenti che ho condiviso siano stati provati e dimostrati durante la mia personale esperienza nel lavorare con WordPress per diversi anni, riconosco anche che non tutti usiamo lo stesso set di strumenti.

In quanto tale, ciò significa che alcune delle configurazioni, dell'organizzazione e delle impostazioni possono variare per te. Va bene. In definitiva, il punto è che noi, come sviluppatori di temi, abbiamo bisogno di fare un lavoro migliore per scrivere temi manutenibili perché passiamo così tanto tempo a lavorarci dopo la loro versione iniziale.

Forse alcune delle cose suggerite in questa serie ti aiuteranno a fare proprio questo. Forse avrai bisogno di modificare alcuni dei suggerimenti per abbinare gli strumenti che usi. In ogni caso, spero che non sia stata solo una serie utile con alcuni suggerimenti pratici per aiutarti nello sviluppo del tema in corso, ma che abbia anche suscitato l'interesse nel porre le fondamenta su come organizzi e strutturi i tuoi progetti andando avanti.

Come al solito, non esitare a continuare la discussione con commenti, domande e altri commenti generali nella discussione dei commenti qui sotto.