TEMPLATEPATH sin el nombre del tema? ¿No existe la constante THEMEPATH?

24 mar 2011, 00:21:18
Vistas: 2.87K
Votos: 0

¿Existe alguna forma de obtener la ruta al directorio de temas sin incluir el tema actual en la ruta?

Por ejemplo, en una instalación estándar de WP, quiero una referencia a:

C:\xampplite\htdocs\sitename/wp-content/themes/

Pero la constante TEMPLATEPATH devuelve...

C:\xampplite\htdocs\sitename/wp-content/themes/currentActiveTheme

0
Todas las respuestas a la pregunta 4
4
dirname( STYLESHEETPATH );

Esto devolverá el directorio del tema.

Nunca asumas /wp-content/ debajo de ABSPATH. A menudo uso un directorio y dominio diferente para wp-content para permitir solicitudes sin cookies a los archivos del tema. Los plugins y temas malos fallan terriblemente en esos casos.

Adendo

O usa get_theme_root() para la ruta del archivo y get_theme_root_uri() para la URI. Ambos están definidos en wp-includes/theme.php.

24 mar 2011 01:12:29
Comentarios
  • 1 Gracias. Esto también funciona. ¿Habría algún beneficio al usar esto versus la respuesta de imHavoc?
Scott B Scott B
24 mar 2011 15:09:18

@Scott B No debería haber diferencia. STYLESHEETPATH está definido en wp-includes/default-constants.php llamando a get_stylesheet_directory() que a su vez consulta get_theme_root().

fuxia fuxia
24 mar 2011 15:46:18

en realidad, después de revisar más a fondo, la tuya es la respuesta más apropiada para mi pregunta. devuelve una ruta de archivo, no una ruta URL como hace get_theme_root_uri() (c:\ en lugar de http://) y como estoy moviendo archivos, eso es lo que necesitaba en este caso.

Scott B Scott B
24 mar 2011 19:37:15

@Scott B Agregué las dos funciones para la ruta y el URI para completar la respuesta.

fuxia fuxia
25 mar 2011 02:22:59
2

No existe una constante THEMEPATH, pero puedes usar la función get_theme_root_uri() para obtener la ruta a la carpeta de temas.

24 mar 2011 00:36:53
Comentarios

Esta parece la mejor opción. Lo estoy probando ahora.

Scott B Scott B
24 mar 2011 14:42:04

Esto funciona perfectamente, sin embargo, en este caso, estoy buscando una ruta de archivo, no una ruta URL. Estoy moviendo archivos en el servidor desde una carpeta de plugins a la carpeta de temas. Tu respuesta funciona bien, dependiendo del contexto de la pregunta.

Scott B Scott B
24 mar 2011 19:40:07
0

WP_CONTENT_DIR y WP_CONTENT_URL, así como content_url(), te llevan la mayor parte del camino.

24 mar 2011 00:51:04
4

Puedes usar la constante ABSPATH y simplemente añadirle wp-content/themes/ así:

ABSPATH . "wp-content/themes/" 
24 mar 2011 00:37:50
Comentarios

¿Puede el usuario especificar cualquier directorio que no sea wp-content/themes para almacenar sus temas?

Scott B Scott B
24 mar 2011 00:43:39

@Scott: Es posible pero muy difícil de lograr y poco probable que alguien lo haya hecho.

Bainternet Bainternet
24 mar 2011 00:51:19

Dos líneas en wp-config.php no son tan difíciles. ;) Solo define WP_CONTENT_DIR y WP_CONTENT_URL.

fuxia fuxia
24 mar 2011 01:13:45

@toscho: gracias, se aprende algo nuevo cada día, estaba justo leyendo sobre eso en http://codex.wordpress.org/Determining_Plugin_and_Content_Directories

Bainternet Bainternet
24 mar 2011 01:41:43