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

14

Estaba leyendo este artículo: Errores comunes de desarrollo de WordPress y cómo solucionarlos , y en ellos, el autor dice:

  

Obtención de la ubicación del tema: si está utilizando TEMPLATEPATH o bloginfo (   'template_directory'). ¡Detente! Deberías usar el muy útil   get_template_directory () como se ve en mis ejemplos anteriores.

Pero él no elabora. ¿Qué hay de malo en bloginfo() ?

    
pregunta coopersita 15.11.2012 - 18:33

1 respuesta

16

Para resumir una historia larga: get_bloginfo( 'template_directory' ) y get_bloginfo( 'template_url' ) simplemente devuelven get_template_directory_uri() .

Por lo tanto, puede hacer un acceso directo a la segunda llamada simplemente refiriéndose directamente a la última etiqueta de la plantilla.

Consulte la fuente para get_bloginfo() .

Algunos otros:

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

Editar

También tenga en cuenta: get_stylesheet_uri() y 'stylesheet_directory' están en proceso de desaprobación , por lo que está mejor simplemente reemplazándolos ahora, con get_stylesheet_directory_uri() y 'locale' , respectivamente.

Editar 2

Re: este comentario

  

Justo lo que estaba a punto de decir :). Yo agregaría que get_locale() devuelve la ruta y TEMPLATEPATH la url. Entonces, el autor no es consistente: STYLESHEETPATH y get_template_directory() devuelven cosas diferentes!

Vuelve a la fuente :)

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

Re: este comentario:

  

La única advertencia al desarrollar temas secundarios que deberá usar get_stylesheet_directory() explícitamente. Alguien me corrige si me equivoco.

Es cierto, pero ese siempre ha sido el caso. get_template_directory() no devuelve nada relacionado con get_template_directory_uri() . Solo devuelve get_bloginfo( 'template_directory' ) y get_template_directory() .

    
respondido por el Chip Bennett 15.11.2012 - 18:42

Lea otras preguntas en las etiquetas