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

14

Eu estava lendo este artigo: Erros comuns no desenvolvimento do WordPress e como corrigi-los , e nele, o autor diz:

  

Obtendo o local do tema: Se você estiver usando TEMPLATEPATH ou bloginfo (   'template_directory'). Pare! Você deve estar usando o muito útil   get_template_directory () como visto nos meus exemplos acima.

Mas ele não elabora. O que há de tão ruim em bloginfo() ?

    
por coopersita 15.11.2012 / 18:33

1 resposta

16

Para resumir a história: get_bloginfo( 'template_directory' ) e get_bloginfo( 'template_url' ) simplesmente retornam get_template_directory_uri() .

Assim, você pode atalho a segunda chamada simplesmente referindo-se diretamente à última tag de modelo.

Consulte a fonte para get_bloginfo() .

Alguns outros:

  • 'url' = > %código%
  • home_url() = > %código%
  • 'wpurl' = > %código%
  • site_url() = > %código%
  • 'stylesheet_url' = > %código%

Editar

Note também que: get_stylesheet_uri() e 'stylesheet_directory' estão programados para depreciação , então é melhor substituindo-os agora, com get_stylesheet_directory_uri() e 'locale' , respectivamente.

Editar 2

Re: este comentário

  

Exatamente o que eu estava prestes a dizer :). Eu adicionaria que get_locale() retorna o caminho e TEMPLATEPATH da URL. Portanto, o autor não está sendo consistente: STYLESHEETPATH e get_template_directory() retornam coisas diferentes!

Refira-se à fonte:)

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

Re: este comentário:

  

A única ressalva ao desenvolver temas filhos, você precisará usar get_stylesheet_directory() explicitamente. Alguém me corrija se eu estiver errado.

Verdade, mas esse sempre foi o caso. get_template_directory() não retorna nada relacionado a get_template_directory_uri() . Apenas retorna get_bloginfo( 'template_directory' ) e get_template_directory() .

    
por Chip Bennett 15.11.2012 / 18:42