DIY WordPress Framework Parte 4 utilizzo del framework come piastra di caldaia

L'ultima volta abbiamo usato il nostro framework come tema secondario, creando un tema totalmente nuovo che dipende dal framework. Oggi utilizzeremo il nostro framework come piastra di riscaldamento, copiando la cartella e apportando le modifiche direttamente.

Ora alcune persone potrebbero mettere in discussione il ragionamento alla base di questo, ed è giusto. Perché dovremmo cambiare la struttura stessa? La mia intenzione originaria per questo framework era in realtà solo uno standard: qualcosa che potevo copiare, incollare e modificare, come nel caso della piastra di riscaldamento HTML5. Per questo motivo, il più delle volte che utilizzo il mio boilerplate, in realtà lo copio e lo incollo.

C'è anche qualche merito a questo metodo. Se, ad esempio, hai a che fare con un design molto diverso dal punto di vista strutturale, finirai comunque per riscrivere la maggior parte delle pagine del modello. Il principale ragionamento alla base della creazione del framework era il riutilizzo dei miei CSS e delle funzioni più comuni. Ha appena seguito l'esempio per creare un'intestazione, un piè di pagina, un indice, ecc. Per far funzionare il tema. Mentre cercavo di renderlo il più generico possibile, volevo anche mantenerlo leggero. Per questo motivo, non c'è un motore per iniettare il codice in varie parti del tema come in Themaic o in altri framework più grandi, che preferisco. Come ho detto nella Parte 1, non volevo creare un'intera nuova API che le persone possano imparare quando esiste già l'API di WordPress.


Iniziare

Prima di iniziare, dovremmo delineare alcuni obiettivi per l'utilizzo del framework come standard. Il primo è che dovremmo cambiare solo i file che devono essere modificati. Ricorda che, al di fuori della nostra intestazione e del piè di pagina, abbiamo cercato di rendere le altre pagine il più generiche possibile. Ciò significa che se i CSS possono essere usati per organizzare ciò che è già lì, potremmo usarlo anche perché è meno lavoro (in termini di modifiche) per noi. Dovremmo anche essere consapevoli di ciò che è nei nostri file di tema. Abbiamo 2 aree widget (una nel footer) e alcune funzioni progettate per il riutilizzo. Dovremmo utilizzare quelli se possiamo. Detto questo, ecco un piccolo promemoria su cosa stiamo iniziando con:


Il nostro framework

La prima cosa è la prima: copia e apri il nostro framework e preparalo per l'uso. Ho appena copiato il mio / wp-boilerplate / cartella e rinominato / wp-boilerplate-copy / (ci ritorno con i nomi delle creatività). Come sempre, modificheremo il nostro file style.css:

 / * Nome del tema: URI del tema di copia del framework: http: //example.com/ Descrizione: Copia del tema del framework Autore: Nome utente URI: http: //your-site.com/ Versione: 1.0 * /

Ricorda, non abbiamo bisogno del modello linea questa volta perché questa è una copia diretta del quadro.


Cambiamenti strutturali

Prima di immergerci nel CSS, consideriamo i cambiamenti strutturali che vogliamo apportare. Mi piacerebbe fare alcune cose per il design generale del sito. Il primo è posizionare la navigazione sopra il nome del sito e la barra di ricerca (che aggiungeremo anche). Mi piacerebbe anche farlo in modo che le barre di intestazione e piè di pagina estendano la larghezza dello schermo dell'utente, mantenendo il contenuto a una larghezza predefinita di 960 px. Questo è il prodotto finale su cui lavoreremo:


Il nostro prodotto finale

Quello che faremo dopo è modificare l'intestazione. Ecco tutto in header.php dopo il etichetta:

 

">

Dovresti notare un paio di cose. Ho cambiato l'ID del contenitore principale in "wrapper" e ho aggiunto una classe "contain". Questo è così che non confonderemo i due. #Wrapper è ancora applicato all'intera pagina, ma dal momento che vogliamo che l'intestazione e il piè di pagina estendano l'intera larghezza dello schermo dell'utente, dobbiamo rimuovere la definizione della larghezza. Tuttavia, poiché vogliamo che il contenuto effettivo venga mantenuto nella larghezza originale di 960 px, dobbiamo creare una classe separata che utilizzeremo per diverse sezioni di contenuto. Ecco come appare il CSS per # wrapper e .contain:

 # wrapper text-align: left; sfondo: #FFFFFF; colore: # 333333;  .contain width: 960px; margine: 0 auto; 

Come puoi vedere, abbiamo spostato le informazioni relative alla larghezza e all'allineamento in .contain. Ora modificheremo footer.php in modo che corrisponda a header.php:

  

© ">

Potete vedere che oltre ad abbinare i nostri div da header.php, ho anche aggiunto un div di riserva attorno al contenuto del nostro footer. Ho anche spostato la barra laterale sul footer. Come alcuni dei nostri lettori hanno sottolineato nella Parte 2, questo è un po 'più SEO friendly.

Ora che abbiamo modificato la struttura principale del sito, diamo un'occhiata alla modifica di una delle nostre pagine modello.

Modifica delle pagine dei modelli

In realtà non faremo molto qui. Voglio solo fare una piccola modifica (in termini di codice) in index.php. Nel loop in cui posizioniamo il nostro titolo e la data:

 

j ')?>

"rel =" bookmark "title =" Link permanente a ">

'); ?> Pubblicato in |

Qui, ho invertito il titolo e le righe di data e assegnato la classe .date al paragrafo con le informazioni sulla data in esso. Ho anche inserito tutte le informazioni sul post nella classe .entry. È così che ho potuto creare un piccolo quadrato per ogni post, a sinistra del post.

Nota: Come ho detto prima, questo è un progetto vivente, in continua evoluzione. Nelle build future probabilmente manterrò la data class in modo da poter più facilmente modellare quella sezione.


Il nostro appuntamento

Il resto delle mie modifiche pianificate che possiamo fare con i CSS a causa di come le pagine sono state codificate (di cui parlerò nella prossima sezione). Tuttavia, usando il framework come piastra di montaggio, facciamo più facilmente modifiche al nostro tema rispetto a un tema figlio quando si tratta di riorganizzare o ricreare determinati modelli.

Disegnare il nuovo tema

Ora che abbiamo apportato i nostri cambiamenti strutturali, diamo un'occhiata ad alcuni dei CSS. Evidenzierò le parti importanti qui. Tutto il CSS è incluso nei file del tema che accompagnano questo post. Per prima cosa, diamo un'occhiata al CSS per il nostro header, che ha attraversato la più grande trasformazione.

 header background: #fafaed; allineamento del testo: giusto; border-bottom: 1px solid # 999999; margin-bottom: 15px;  header ul ul, header h1, header form margin-top: 0;  header h1 float: left; colore: # 08034d; font-size: 2.8em;  intestazione h1 a, intestazione h1 a: visited color: # 333333; decorazione del testo: nessuna;  forma di intestazione text-align: right;  modulo di intestazione input padding: 5px; font-size: 1.4em;  nav text-align: center; sfondo: # 333333; larghezza: 800px; margine: 0 auto;  nav ul padding: 10px; nav ul li display: inline; imbottitura: 0 15px;  nav ul li, nav ul li a: visited font-size: 1.4em; colore: #FFFFFF; font-weight: bold; decorazione del testo: nessuna;  nav ul li a: hover color: #CFCFCF; 

Qui puoi vedere che abbiamo applicato i colori di sfondo e lo stile dei caratteri ai nostri elementi di intestazione, oltre ad alcuni posizionamenti strategici. Il nostro risultato è un header molto diverso da quello del nostro framework originale.


La nostra nuova intestazione

L'altra parte del nostro CSS che volevo evidenziare qui era come ho risolto la barra laterale:

 # wrapper aside margin-left: 675px;  #content width: 660px; fluttuare: a sinistra; font-size: 1.25em; 

Come sapete, il nostro CSS è stato più o meno qui per questa sezione- abbiamo dovuto solo fare l'inverso di ciò che avevamo da quando abbiamo cambiato l'ordine del nostro codice. Pulito e abbastanza semplice!

Il resto del CSS è piuttosto semplice e, come ho detto, incluso nel sorgente di questo post. Ho cambiato il post CSS e applicato alcuni stili predefiniti ai nostri tag HTML per quanto riguarda colore, dimensioni e riempimento / margine

Conclusione

Volevo concludere questa serie pesando i meriti di questo metodo rispetto alla creazione di un tema figlio, dal momento che questo post era più di un proof of concept post (facendo funzionare il tema completo molto a lungo, ma avrei potuto fare un approfondimento più approfondito uno se richiesto). Direi che il metodo copy-and-paste sarebbe il migliore se stai apportando modifiche importanti al framework. Hai ancora il codice che abbiamo predisposto, ma passerai meno tempo a ricostruire ciò che abbiamo già creato in un tema figlio. Anche se qui abbiamo apportato lievi modifiche, potremmo imbattersi in un design che ci richiede di modificare più pagine e avere già il codice base è di grande aiuto sia per il riferimento che per il riutilizzo. In genere faccio il percorso di copia e incolla poiché cerco di non rendere tutti i miei disegni uguali.

E tu? Cosa ti vedi fare di più?

Codice