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


16

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

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

Pero él no da más detalles. ¿Qué tiene de malo bloginfo()?

Respuestas:


17

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

Entonces, puede atajar esa segunda llamada simplemente haciendo referencia directa a la última etiqueta de plantilla.

Consulte la fuente paraget_bloginfo() .

Algunos otros:

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

Editar

Tenga en cuenta también: TEMPLATEPATHy STYLESHEETPATHestán programados para su desaprobación , por lo que es mejor simplemente reemplazarlos ahora, con get_template_directory()y get_stylesheet_directory(), respectivamente.

Editar 2

Re: este comentario

Justo lo que estaba a punto de decir :). Añadiría que get_template_directory()devuelve la ruta y get_template_directory_uri()la url. Entonces, el autor no está siendo coherente: ¡ get_bloginfo( 'template_directory' )y get_template_directory()devuelve cosas diferentes!

Consulte de nuevo 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. Que alguien me corrija si me equivoco.

Es cierto, pero ese siempre ha sido el caso. get_bloginfo()no devuelve nada relacionado con get_stylesheet_directory(). Solo vuelve get_stylesheet_uri()y get_stylesheet_directory_uri().


La única advertencia al desarrollar temas secundarios necesitará usar get_stylesheet_directory () explícitamente. Que alguien me corrija si me equivoco.
Steve

¡Gracias! Me pregunto por qué WP tiene muchas de estas funciones que acaba de llamar a otra función, que estamos a continuación, supone que no utilice ...
coopersita

En este caso, creo que la razón es simplemente para mantener la compatibilidad con los get_bloginfo()parámetros.
Chip Bennett
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.