¿Cómo obtener la ruta al tema actual?

5 abr 2012, 22:27:30
Vistas: 128K
Votos: 44

Este código se usa para obtener el directorio del plugin actual: plugin_dir_url( __FILE__ ).

¿Qué debo usar para obtener el directorio del tema actual?

0
Todas las respuestas a la pregunta 2
5
83

Creo que hay que tener un poco de cuidado porque depende de lo que estés intentando hacer.

Si estás usando un tema hijo, get_template_directory(); seguirá apuntando al tema padre. Sin embargo, get_stylesheet_directory(); apuntará al tema actual, ya sea hijo o padre. Además, ambas funciones devuelven rutas absolutas del servidor.

Si necesitas una URI completa, para enlaces o imágenes, deberías usar get_template_directory_uri(); o get_stylesheet_directory_uri();, utilizando la correcta por las razones mencionadas.

Resumen

5 abr 2012 23:51:27
Comentarios

+1. Siempre usa la ruta/url stylesheet para referenciar el Tema actual, y reserva la ruta/url template para referenciar el Tema padre.

Chip Bennett Chip Bennett
6 abr 2012 00:00:12

Desafortunadamente get_template_directory() devuelve la ruta completa del servidor como /var/www/the/path/of/actual/wp-content/themes/mytheme que no es lo que necesitas para trabajar con $wp_filesystem si WP se está conectando a través de FTP.

NoBugs NoBugs
11 sept 2014 06:41:37

@NoBugs - Yo también estaba obteniendo la ruta completa del servidor pero usando get_stylesheet_directory_uri() en lugar de get_stylesheet_directory() resolvió el problema.

TheLibzter TheLibzter
5 feb 2015 00:19:10

¡Gracias! La mayoría de respuestas que encontré me llevaron parte del camino usando get_stylesheet_directory(), pero luego me dejaban en el directorio raíz del servidor. ¡get_stylesheet_directory_uri() fue la respuesta a mis plegarias!

sigmapi13 sigmapi13
7 ago 2020 20:44:07

Ah, Wordpress. Compatible con versiones anteriores hasta la exageración. (¡Nadie en su sano juicio usaría deliberadamente convenciones de nombres tan ambiguas!)

rinogo rinogo
3 sept 2021 21:38:28
2
13

get_stylesheet_directory_uri es la función que necesitas. Devuelve la URL del tema actual. get_stylesheet_directory devolverá la ruta del archivo en el servidor.

Por ejemplo:

<img src="<?php echo get_stylesheet_directory_uri(); ?>/assets/image.png" />

Si necesitas el tema padre, get_template_directory y get_template_directory_uri son los equivalentes.

Si no hay un tema padre, ambas funciones devolverán el mismo valor.

Más información:

5 abr 2012 22:29:25
Comentarios

get_stylesheet_directory() es la respuesta correcta. get_template_directory() apuntará al tema padre si se está utilizando un tema hijo.

Lucas Bustamante Lucas Bustamante
11 jul 2020 05:20:46

Ajusté la respuesta en consecuencia

Tom J Nowell Tom J Nowell
25 ago 2020 17:02:58