Переопределить get_template_directory () в дочерней теме?

Возможно ли заменить get_template_directory() в файле functions.php моего ребенка?

Я хочу внести изменения в файл:

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

Я бы предпочел, чтобы моя работа не была перезаписана при обновлении моей темы, так что я могу переустановить родительский файл, а затем перерегистрировать файл моего ребенка в файле функций моего ребенка?

Solutions Collecting From Web of "Переопределить get_template_directory () в дочерней теме?"

Вам нужно использовать get_stylesheet_directory_uri() вместо get_template_directory() в вашей дочерней теме.

Из WordPress codex:

get_template_directory_uri ()

В случае использования дочерней темы будет возвращен URI родительской темы. get_template_directory_uri () следует использовать для ресурсов, которые не предназначены для включения / выключения дочерней темы. Используйте get_stylesheet_directory_uri (), чтобы включить ресурсы, которые предназначены для включения / выключения дочерней темы.

get_stylesheet_directory_uri ()

В случае использования дочерней темы эта функция возвращает идентификатор URI каталога темы. Используйте get_template_directory_uri (), чтобы избежать переопределения дочерней темы.

Поздний ответ, но в WordPress 4.7 были введены две новые функции для решения этого вопроса.

get_theme_file_path() (для абсолютных путей файлов) и get_theme_file_uri() (для URL-адресов) работают так же, как get_template_part() поскольку они автоматически будут искать get_template_part() тему для этого файла, а затем возвращаться к родительской теме.

В вашем примере вы можете переписать его с помощью 4.7, чтобы выглядеть так:

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

Дополнительная информация здесь: https://make.wordpress.org/core/2016/09/09/new-functions-hooks-and-behaviour-for-theme-developers-in-wordpress-4-7/