get_template_directory () vs bloginfo ('template_directory') vs TEMPLATEPATH


16

Je lisais cet article: Erreurs de développement WordPress courantes et comment les corriger , et dans ce document, l'auteur dit:

Obtenir l'emplacement du thème: Si vous utilisez TEMPLATEPATH ou bloginfo ('template_directory'). Arrêtez! Vous devriez utiliser le très utile get_template_directory () comme vu dans mes exemples ci-dessus.

Mais il n'élabore pas. Qu'est-ce qui est si mauvais bloginfo()?

Réponses:


17

Pour faire une histoire courte: get_bloginfo( 'template_directory' )et get_bloginfo( 'template_url' )revenez simplement get_template_directory_uri().

Ainsi, vous pouvez raccourcir ce deuxième appel simplement en vous référant directement à la dernière balise de modèle.

Reportez-vous à la source pourget_bloginfo() .

Quelques autres:

  • 'url' => home_url()
  • 'wpurl' => site_url()
  • 'stylesheet_url' => get_stylesheet_uri()
  • 'stylesheet_directory' => get_stylesheet_directory_uri()
  • 'locale' => get_locale()

Éditer

Notez également: TEMPLATEPATHet STYLESHEETPATHsont destinés à être désapprouvés , il est donc préférable de les remplacer simplement maintenant, par get_template_directory()et get_stylesheet_directory(), respectivement.

Modifier 2

Re: ce commentaire

Juste ce que j'allais dire :). J'ajouterais que get_template_directory()retourne le chemin et get_template_directory_uri()l'url. Donc, l'auteur n'est pas cohérent: get_bloginfo( 'template_directory' )et get_template_directory()retournez des choses différentes!

Référez-vous à la source :)

case 'template_directory':
case 'template_url':
    $output = get_template_directory_uri();
    break;

Re: ce commentaire:

La seule mise en garde lors du développement de thèmes enfants que vous devrez utiliser get_stylesheet_directory()explicitement. Quelqu'un me corrige si je me trompe.

C'est vrai, mais ça a toujours été le cas. get_bloginfo()ne renvoie rien lié à get_stylesheet_directory(). Il revient seulement get_stylesheet_uri()et get_stylesheet_directory_uri().


La seule mise en garde lors du développement de thèmes enfants, vous devrez utiliser explicitement get_stylesheet_directory (). Quelqu'un me corrige si je me trompe.
Steve

Merci! Je me demande simplement pourquoi WP a tant de ces fonctions qui appellent simplement une autre fonction, que nous sommes alors censés ne pas utiliser ...
coopersita

Dans ce cas, je pense que la raison est simplement de maintenir une compatibilité descendante avec les get_bloginfo()paramètres.
Chip Bennett
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.