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.