get_template_directory_uri apuntando al tema principal no al tema secundario

22

El problema que tengo es que get_template_directory_uri apunta al tema principal como site/wp-content/themes/twentythirteen/myGallery/gallery_functions_include.php

pero quiero que apunte a mi tema hijo, que debería ser site/wp-content/themes/child-twentythirteen/myGallery/gallery_functions_include.php

lo que estoy usando es include (TEMPLATEPATH . '/myGallery/gallery_functions_include.php');

    
pregunta Elroy Fernandes 18.06.2016 - 06:10

2 respuestas

50

get_template_directory_uri() siempre devolverá el URI del tema principal actual.

Para obtener el URI del tema secundario, necesitas usar get_stylesheet_directory_uri() .

Puede encontrar estos en la documentación , junto con una lista de otras funciones útiles para obtener varias ubicaciones de directorio de temas.

Si prefiere usar una constante, entonces TEMPLATEPATH es similar a llamar a get_template_directory() (es decir, el tema principal), y STYLESHEETPATH es similar a llamar a get_stylesheet_directory() (es decir, el tema secundario).

Estas constantes están establecidas por el núcleo de WordPress en wp-includes/default-constants.php y básicamente tienen este aspecto:

define('TEMPLATEPATH', get_template_directory());
...
define('STYLESHEETPATH', get_stylesheet_directory());

Si no hay un tema secundario, las funciones 'plantilla' y 'hoja de estilo' devolverán la ubicación del tema principal.

Note la diferencia entre estas funciones y las funciones que terminan en _uri : devolverán la ruta de acceso absoluta del servidor (por ejemplo, /home/example/public_html/wp-content/yourtheme ), mientras que las funciones _uri devolverán la dirección pública (también conocida como URL), por ejemplo . http://example.com/wp-content/themes/yourtheme .

    
respondido por el Tim Malone 18.06.2016 - 06:20
0

Debería mover sus plantillas personalizadas, aquellas que no están controladas por el tema activo, a una carpeta secundaria.

Mantenga el tema separado de todos los archivos personalizados de esta manera, el tema se puede actualizar sin perder su trabajo personalizado.

Your out-of-the-box theme lives here
------------------------------------
\Site\wp-content\themes\some_theme
Your child theme lives here
---------------------------
\Site\wp-content\themes\some_theme-child

Sus estilos y plantillas personalizados y todos sus elementos incluidos (elementos como javascript personalizado, imágenes que no se guardan en WP, fuentes personalizadas, archivos de datos json y cualquier complemento que pueda poner en cola) se deben mover a la carpeta secundaria FUERA del tema .

\themes\some_theme
\themes\some_theme-child\ (all your custom php template files here)
\themes\some_theme-child\images
\themes\some_theme-child\includes 
\themes\some_theme-child\languages
\themes\some_theme-child\json 
\themes\some_theme-child\style

Para sus páginas de estilo personalizadas ( no el estilo.css invalidado del tema) en cola con wp_enqueue_style ('some-css', get_stylesheet_directory () . '/style/some.css', false, '0.0 .1 ',' todos ');

Use get_stylesheet_directory_uri () con sus llamadas xhr, etc.

    
respondido por el Greg Bologna 06.06.2018 - 21:11

Lea otras preguntas en las etiquetas