WordPress.org
Mentre i temi WordPress tecnicamente richiedono solo due file (index.php
e style.css
), di solito sono composti da molti file. Questo significa che possono diventare rapidamente disorganizzati! Questa sezione vi mostrerà come mantenere i vostri file organizzati.
header.php
e footer.php
, senza alternative disponibili, sono stati deprecati da WordPress 3.0. Il tuo tema potrebbe aver bisogno di includere anche questi file.Cartella del tema e struttura dei file #Cartella del tema e struttura dei file
Come detto in precedenza, i temi Twenty predefiniti sono alcuni dei migliori esempi di buon sviluppo dei temi. Per esempio, ecco come il tema Twenty Seventeen organizza la sua struttura di file:
assets (dir) - css (dir) - images (dir) - js (dir)inc (dir)template-parts (dir) - footer (dir) - header (dir) - navigation (dir) - page (dir) - post (dir)404.phparchive.phpcomments.phpfooter.phpfront-page.phpfunctions.phpheader.phpindex.phppage.phpREADME.txtrtl.cssscreenshot.pngsearch.phpsearchform.phpsidebar.phpsingle.phpstyle.css
Si può vedere che i file template del tema principale sono nella directory principale, mentre JavaScript, CSS, immagini sono collocati nella directory assets, template-parts sono collocati sotto la rispettiva sottodirectory di template-parts e la raccolta di funzioni relative alle funzionalità di base sono collocate nella directory inc.
Al momento non ci sono cartelle necessarie all’interno di un tema WordPress. Tuttavia, WordPress riconosce le seguenti cartelle per impostazione predefinita.
Nota: style.css
dovrebbe risiedere nella directory principale del tuo tema non all’interno della directory CSS.
Cartella delle lingue #Languages folder
È una buona pratica per internazionalizzare il tuo tema in modo che possa essere tradotto in altre lingue. I temi predefiniti includono la cartella languages
, che contiene un file .pot per la traduzione e qualsiasi file .mo tradotto. Mentre languages
è il nome predefinito di questa cartella, puoi cambiare il nome. Se lo fai, devi aggiornare load_theme_textdomain()
.