get_template_directory() vs bloginfo('template_directory') vs TEMPLATEPATH
Citeam acest articol: Greșeli Comune în Dezvoltarea WordPress și Cum să le Rezolvi, și în el, autorul spune:
Pentru obținerea locației temei: Dacă folosești TEMPLATEPATH sau bloginfo( 'template_directory'). Oprește-te! Ar trebui să folosești utilul get_template_directory() așa cum se vede în exemplele mele de mai sus.
Dar nu elaborează. Ce este atât de greșit la bloginfo()?
Pe scurt: get_bloginfo( 'template_directory' ) și get_bloginfo( 'template_url' ) returnează pur și simplu get_template_directory_uri().
Deci, puteți scurta acel al doilea apel referindu-vă direct la ultima funcție.
Consultați sursa pentru get_bloginfo().
Câteva altele:
'url'=>home_url()'wpurl'=>site_url()'stylesheet_url'=>get_stylesheet_uri()'stylesheet_directory'=>get_stylesheet_directory_uri()'locale'=>get_locale()
Editare
De asemenea, rețineți: TEMPLATEPATH și STYLESHEETPATH sunt marcate pentru depreciere, așa că este mai bine să le înlocuiți acum cu get_template_directory() și get_stylesheet_directory(), respectiv.
Editare 2
Referitor la acest comentariu:
Exact ce voiam să spun :). Aș adăuga că
get_template_directory()returnează calea șiget_template_directory_uri()returnează URL-ul. Deci autorul nu este consistent:get_bloginfo( 'template_directory' )șiget_template_directory()returnează lucruri diferite!
Consultați din nou sursa :)
case 'template_directory':
case 'template_url':
$output = get_template_directory_uri();
break;
Referitor la acest comentariu:
Singura avertizare când dezvoltați teme pentru copii este că va trebui să folosiți explicit
get_stylesheet_directory(). Corectați-mă dacă greșesc.
Adevărat, dar asta a fost întotdeauna cazul. get_bloginfo() nu returnează nimic legat de get_stylesheet_directory(). Returnează doar get_stylesheet_uri() și get_stylesheet_directory_uri().
Singura precauție atunci când dezvolți teme derivate este că va trebui să folosești în mod explicit funcția get_stylesheet_directory(). Corectați-mă dacă greșesc.
Steve
Mulțumesc! Mă întreb doar de ce WP are atât de multe funcții care doar apelează altă funcție, pe care apoi nu ar trebui să le folosim...
coopersita