Trattino o underscore nel nome della cartella del tema?
Sono confuso e non ho trovato risposta cercando su Google. I miei file del tema come single.php
o header.php
si trovano in una cartella. Dovrei usare trattini o underscore nel nome della cartella? Il mio server web gira su Linux/Apache e non sono sicuro delle conseguenze riguardo ai nomi delle cartelle. Quindi dovrei preferire qualcosa come:
my_wordpress_theme_folder
piuttosto che
my-wordpress-theme-folder
o sono entrambi ugualmente validi?
In breve, non esiste una convenzione ben definita per nominare la directory di un tema, e tutte le seguenti opzioni sono valide (tra le altre):
my_wordpress_theme
my-wordpress-theme
(empiricamente l'opzione più popolare nell'ecosistema)MyWordPressTheme
mywordpresstheme
(quello che usano i temi predefiniti)
Dettagli
Il manuale degli standard di codifica PHP di WordPress afferma che i nomi dei file dovrebbero essere tutti in minuscolo e separati da trattini. Come sottolinea Squish, varie routine nella Gerarchia dei Template di WordPress si basano su questa convenzione per caricare automaticamente i template in determinate situazioni.
Detto questo, non romperai Linux o Apache usando underscore invece di trattini (anche se romperai i file caricati convenzionalmente nella gerarchia dei template). Le directory non sembrano avere convenzioni ben definite, ma come regola generale evita spazi in tutti i tuoi nomi. I punti potrebbero o meno avere effetti indesiderati nei nomi delle directory, in particolare perché le convenzioni *NIX tradizionalmente considerano le directory che iniziano con un punto come "nascoste".
Poiché la classe WP_Theme con la funzione scandir()
fa uso diretto della funzione scandir()
di PHP seguita da is_dir()
per enumerare i singoli temi in una directory invece di testare le convenzioni di denominazione delle voci, in realtà non dovrebbe importare come sono chiamate le tue directory, poiché WordPress stesso ignora largamente il nome della directory per questo scopo. Puoi leggere i commenti sulla pagina di is_dir()
per alcune avvertenze specifiche. Soprattutto, assicurati che i nomi delle tue directory funzionino in formato URL e siano navigabili da un browser web.
I temi forniti con WordPress utilizzano una convenzione di denominazione delle directory con tutte lettere minuscole e senza punteggiatura, ad esempio twentytwelve
, twentythirteen
, ecc.

Grazie. Non mi piace eliminare tutta la punteggiatura per 1) motivi di leggibilità e in misura minore 2) motivi SEO (i trattini aiutano Google a riconoscere parole separate). Quindi continuerò a usare i trattini sia per i file che per i nomi delle cartelle.

Sono d'accordo con te sul non eliminare la punteggiatura. Sembra sempre disordinato e crea incomprensioni. Usare il CamelCase non è molto meglio poiché la maggior parte dei web server considera il nome intercambiabile con la sua versione tutta in minuscolo per impostazione predefinita. Ottimo punto riguardo all'SEO - non ci avevo mai pensato prima!

Per le directory è una questione di preferenza personale (puoi usare anche spazi... anche se non è consigliato).
La convenzione di Wordpress sembra essere quella di usare i trattini.
Soprattutto perché Wordpress utilizza i trattini per file speciali.
Ad esempio quando crei template di pagina, puoi creare un file chiamato "page-speciale" e il template verrà caricato automaticamente per la pagina chiamata "speciale". (es. sito.com/speciale)

Sì, ne sono consapevole. Non sono sicuro se valga anche per i nomi delle directory. Voglio solo assicurarmi che non ci saranno effetti indesiderati se lo faccio...

Allora attieniti ai trattini. A meno che tu non abbia una ragione specifica per fare diversamente. È semplicemente più facile seguire la convenzione stabilita. Se vuoi sperimentare, però, assicurati di usare un server locale. (Ho appena provato a fare una rapida conversione della directory principale di un tema e ho ottenuto un bel grosso errore.)

Entrambi sono validi per i nomi delle cartelle. La maggior parte degli esempi che incontrerai utilizzeranno i trattini, ma ho scoperto che alcuni generatori usano gli underscore a causa di problemi con JavaScript e i trattini.
Questa è comunque una generalizzazione, dato che https://github.com/yeoman/generator-backbone/issues/2 continua a utilizzare i trattini.
