¿Anular get_template_directory () en el tema secundario?

3

¿Es posible reemplazar un get_template_directory() en el archivo functions.php de mi hijo?

Quiero hacer cambios en el archivo:

/**
* Load Custom Post types file.
*/
require get_template_directory() . '/inc/post-types.php';

Obviamente, preferiría que mi trabajo no se sobrescriba cuando actualizo mi tema, así que ¿puedo cancelar el registro del archivo principal y luego volver a registrar el archivo de mi hijo en el archivo de funciones de mi hijo?

    
pregunta Heather 27.06.2015 - 08:03

2 respuestas

11

Respuesta tardía, pero en Wordpress 4.7 se introdujeron dos nuevas funciones para abordar esta pregunta.

get_theme_file_path() (para rutas de archivo absolutas) y get_theme_file_uri() (para URL) funcionan igual que get_template_part() , ya que buscarán automáticamente en el tema secundario para ese archivo primero, luego retrocederán al tema principal.

En tu ejemplo, puedes reescribirlo usando 4.7 para tener este aspecto:

/**
* Load Custom Post types file.
*/
require get_theme_file_path( 'inc/post-types.php' );

Más información aquí: enlace

    
respondido por el brianjohnhanna 09.12.2016 - 20:32
8

Debes usar get_stylesheet_directory_uri() en lugar de get_template_directory() en tu tema secundario.

Desde el códice de WordPress:

  

get_template_directory_uri ()

     

En el caso de que un tema secundario esté siendo   utilizado, se devolverá el URI de directorio de tema principal.   get_template_directory_uri () debe usarse para recursos que no están   destinado a ser incluido en / anulado por un tema infantil. Utilizar   get_stylesheet_directory_uri () para incluir los recursos destinados   para ser incluido en / anulado por el tema hijo.

     

get_stylesheet_directory_uri ()

     

En el caso de que se utilice un tema secundario, esta función volverá   El directorio temático del niño URI. Utilice get_template_directory_uri () para   evitar ser anulado por un tema secundario.

    
respondido por el James Barrett 27.06.2015 - 08:57

Lea otras preguntas en las etiquetas