Liniuță sau underscore în numele folderului temei?

28 feb. 2014, 04:30:42
Vizualizări: 15K
Voturi: 8

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?

1
Comentarii

Acum putem găsi acest articol când căutăm pe Google (https://www.google.com/search?q=dash+underscore+wordpress+theme&safe=off&cad=h).

I am the Most Stupid Person I am the Most Stupid Person
20 sept. 2017 07:17:47
Toate răspunsurile la întrebare 4
2
19

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.

28 feb. 2014 05:10:30
Comentarii

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.

RubenGeert RubenGeert
3 mar. 2014 12:17:05

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!

bosco bosco
3 mar. 2014 21:43:40
2

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).

28 feb. 2014 04:59:16
Comentarii

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...

RubenGeert RubenGeert
28 feb. 2014 05:08:53

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șă.)

Squish Squish
28 feb. 2014 05:20:40
0

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.

28 feb. 2014 05:05:01
0

Ei bine, nu poți lăsa spațiu pentru numele temei, dar următoarele utilizări sunt corecte...

"MyThemesName" "my-theme-name" "my_theme_name"

Mulțumesc, Sabbir

5 mar. 2014 09:04:28