Necesito obtener la URL de mi directorio de temas para hacer referencia a una imagen en el directorio de imágenes / encabezados del tema. ¿Cómo se hace esto en PHP?
theme-development
Michael Crenshaw
fuente
fuente
get_template_directory_uri()
Lo que dijo @EAMann , con una advertencia. Eric tiene razón sobre el enfoque general y sobre cómo funcionan
bloginfo()
y funcionan las funciones yget_bloginfo()
sobre cómo pasar el parámetro'template_directory'
para obtener el valor que necesita para (la mayoría) de los temas.Sin embargo, hay una advertencia y esa advertencia es con los nuevos temas infantiles . Si está utilizando un tema secundario,
'template_directory'
probablemente no sea lo que desea a menos que realmente esté tratando de hacer referencia a una imagen que está en el directorio del tema principal. En cambio para los temas niño lo que es probable que desee es pasarstylesheet_directory
(ya sé, ya sé, los nombres no le dicen lo que son, pero bueno, eso es sólo la forma en que lo es!) Tomando prestado un poco de la respuesta de Eric usandostylesheet_directory
sería el siguiente ( Acorté el ejemplo para que no se ajustara):Para ilustrar el punto, escribí un archivo independiente rápido que puede colocar en la raíz de su sitio web
test.php
y ejecutar para ver qué produce. Primero ejecute con un tema regular como TwentyTen y luego ejecute con un tema secundario:Si notas cosas, puedes notar que hay mucho más a lo que puedes pasar
bloginfo()
yget_bloginfo()
; estudie el código y la captura de pantalla a continuación para obtener ideas.Mirando la captura de pantalla, puede ver que
stylesheet_directory
devuelve lo mismo que'template_directory'
para un tema normal pero con un valor diferente, y probablemente el valor que necesita para un tema secundario.(fuente: mikeschinkel.com )
Por cierto, en caso de que no esté familiarizado con Child Themes, ¿ dónde hay otras dos respuestas de WordPress que podrían ayudar?
fuente
get_stylesheet_directory_uri()
. ¿Debo estar usando ol 'simpleget_stylesheet_directory()
?Toda la estructura del tema se basa en dos opciones:
template
(mantener la carpeta del tema principal namre) ystylesheet
(mantener la carpeta del tema secundario namr). Si no se utiliza un tema secundario, estos son los mismos.Para tener flexibilidad de los filtros, en lugar de tener acceso a la opción directamente, hay en consecuencia
get_template()
yget_stylesheet()
.Ahora lo único que falta es combinarlos con la ubicación de la carpeta de temas. Esto se puede hacer con
get_theme_root_uri()
y nuevamente convenientemente envuelto enget_template_directory_uri()
yget_stylesheet_directory_uri()
.[get_]bloginfo()
contemplate_directory
ostylesheet_directory
argumentos simplemente los envuelve y hay pocas razones para usarlo así. Diría que solo es confuso tener argumentos que dicen directorio (comúnmente se relaciona con rutas locales), pero devuelve URL.Resumen:
get_template_directory_uri()
para referirse solo o tema principalget_stylesheet_directory_uri()
a única o un niño temafuente
yo uso esto
(dirname(get_bloginfo('stylesheet_url')))
fuente