Liniuță sau underscore în numele folderului temei?
Sunt confuz și nu am găsit niciun răspuns prin căutare Google. Fișierele temei mele, cum ar fi single.php
sau header.php
, se află într-un folder. Ar trebui să folosesc liniuțe sau underscore în numele folderului? Serverul meu web rulează pe Linux/Apache și nu sunt sigur care sunt consecințele privind denumirile folderelor. Deci ar trebui să prefer ceva de genul:
my_wordpress_theme_folder
față de
my-wordpress-theme-folder
sau ambele sunt la fel de valide?
Pe scurt, nu există o convenție bine definită pentru denumirea directorului unei teme, iar toate următoarele sunt valabile (printre altele):
my_wordpress_theme
my-wordpress-theme
(empiric, cea mai populară opțiune din ecosistem)MyWordPressTheme
mywordpresstheme
(ceea ce folosesc temele implicite)
Detalii
Manualul de standarde de codare PHP pentru WordPress afirmă că numele fișierelor ar trebui să fie scrise cu litere mici și separate prin cratime. Așa cum subliniază Squish, diverse rutine din Ierarhia de șabloane WordPress se bazează pe această convenție pentru a încărca automat șabloanele în anumite situații.
Cu toate acestea, nu vei strica Linux sau Apache folosind liniuțe de subliniere în loc de cratime (deși vei întrerupe încărcarea convențională a fișierelor din ierarhia de șabloane). Directoarele nu par să aibă convenții bine definite, dar ca regulă generală, evită spațiile în toate denumirile. Punctele pot avea sau nu efecte nedorite în numele directorului, mai ales deoarece convențiile *NIX tratează în mod tradițional directoarele care încep cu un punct ca fiind "ascunse".
Deoarece funcția scandir()
a clasei WP_Theme utilizează direct funcția scandir()
din PHP, urmată de is_dir()
pentru a enumera temele individuale dintr-un director, în loc să testeze convențiile de denumire ale intrărilor, de fapt nu ar trebui să conteze cum sunt denumite directoarele tale, deoarece WordPress în sine ignoră în mare măsură numele directorului în acest scop. Poți citi comentariile de pe pagina is_dir()
pentru unele limitări specifice. Mai mult decât orice, asigură-te că numele directorului tău funcționează în format URL și este accesibil de un browser web.
Temele incluse în WordPress folosesc o convenție de denumire a directorului constând în litere mici și fără punctuație, de exemplu twentytwelve
, twentythirteen
, etc.

Mulțumesc. Nu-mi place să elimin toate semnele de punctuație din 1) motive de lizibilitate și într-o măsură mai mică 2) motive SEO (liniuțele ajută Google să recunoască cuvinte separate). Așa că voi rămâne la liniuțe atât pentru numele de fișiere cât și pentru foldere.

Sunt de acord cu tine în ceea ce privește neliminarea semnelor de punctuație. Pur și simplu arată neîngrijit și creează neînțelegeri. Folosirea CamelCase nu e cu mult mai bine, deoarece majoritatea serverelor web consideră numele interschimbabil cu varianta sa cu litere mici implicit. Bun punct de vedere legat de SEO - nu mă gândisem la asta până acum!

Pentru directoare este o preferință personală (poți folosi și spații... deși nu este recomandat).
Totuși, convenția WordPress pare a fi folosirea cratimelor.
Mai ales pentru că WordPress folosește cratime pentru fișiere speciale.
De exemplu, când creezi șabloane de pagini, poți crea un fișier numit "page-special" și șablonul se va încărca automat pentru pagina cu numele "special" (de ex. website.com/special).

Da, sunt conștient de asta. Nu sunt sigur dacă același lucru este valabil și pentru numele de directoare. Vreau doar să mă asigur că nu vor exista efecte nedorite dacă fac asta...

Alege liniuțele, atunci. Doar dacă nu ai un motiv anume pentru altceva. E mai simplu să rămâi la convenția stabilită. Dacă vrei să experimentezi, asigură-te că folosești un server local. (Tocmai am încercat să convertesc rapid directorul principal al unei teme și am primit o eroare uriașă.)

Ambele sunt valide pentru numele de foldere. Majoritatea exemplelor pe care le veți întâlni vor folosi cratime, dar am observat că unele generatoare folosesc underscore-uri din cauza unor probleme cu JavaScript și cratimele.
Totuși, aceasta este o generalizare, deoarece https://github.com/yeoman/generator-backbone/issues/2 rămâne la folosirea cratimelor.
