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

14

Je lisais cet article: Erreurs courantes dans le développement de WordPress et comment les corriger , et dans leur auteur, ils disent:

  

Obtention de l’emplacement du thème: Si vous utilisez TEMPLATEPATH ou bloginfo (   'répertoire_modèle'). Arrêtez! vous devriez utiliser le très utile   get_template_directory () comme indiqué dans mes exemples ci-dessus.

Mais il n’élabore pas. Quel est le problème avec bloginfo() ?

    
posée coopersita 15.11.2012 - 18:33

1 réponse

16

Pour faire une histoire courte: get_bloginfo( 'template_directory' ) et get_bloginfo( 'template_url' ) renvoient 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.

faire référence à la source pour get_bloginfo() .

Quelques autres:

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

Modifier

Notez également que: TEMPLATEPATH et STYLESHEETPATH sont voués à une dépréciation de la loi , vous êtes donc mieux lotis en les remplaçant 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() renvoie 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() renvoient des choses différentes!

Reportez-vous à la source:)

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

Re: ce commentaire:

  

L'avertissement lors du développement de thèmes enfants, 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 pas quoi que ce soit lié à get_stylesheet_directory() . Il ne renvoie que get_stylesheet_uri() et get_stylesheet_directory_uri() .

    
réponse donnée Chip Bennett 15.11.2012 - 18:42

Lire d'autres questions sur les étiquettes