get_stylesheet_directory () в дочерней теме прерывает родительские скрипты

Я попытался найти другой вопрос, который может ответить на мой запрос, но не удалось, поэтому, если вы укажете любые дубликаты, которые помогут.

Вот моя ситуация

У меня есть родительская тема, и я разрабатываю дочернюю тему для некоторых функций, которые я хотел бы разработать, и в дочерней теме я несколько раз вызывал wp_enqueue_script . В родительской теме есть собственный список скриптов и стилей.

Проблема в том, что у меня есть дочерняя тема. Get_stylesheet_directory указывает на дочернюю тему, и я пытаюсь найти, есть ли способ избежать этого без изменения родительской темы вообще.

Вот два метода, которые я пробовал

 //first method where I tried enqueue add_action( 'wp_enqueue_scripts', 'custom_child_theme_styles' ); //ensure that the child theme scripts are called after the old theme add_action( 'after_setup_theme', 'custom_child_theme_scripts' ); 

и это то, что делает родительская тема

 add_action( 'wp_enqueue_scripts', 'theme_scripts_styles' ); 

И когда родительская тема вызывает get_stylesheet_directory (), она указывает на папку дочерних тем, и, следовательно, javascripts из родительской темы вообще не загружаются.

Solutions Collecting From Web of "get_stylesheet_directory () в дочерней теме прерывает родительские скрипты"

Проблема, с которой вы сталкиваетесь, может быть решена путем изменения используемой функции:

  • get_stylesheet_directory предоставит вам каталог текущей активной темы, а также местоположение активного style.css
  • get_template_directory предоставит вам каталог активной темы, а также родительскую тему

Для большинства тем два дают тот же результат, но:

  • Всегда используйте get_stylesheet_directory когда ссылаетесь на вещи в дочерней теме
  • Всегда используйте get_template_directory когда в родительской теме
  • Всегда используйте get_template_part для загрузки шаблона, никогда не используйте предыдущую функцию 2
  • Используйте include и вам require загрузить файл, который не содержит шаблон, например класс или PHP. Если вам необходимо переопределить их, используйте hooks и действия для этого с помощью remove_action т. Д.
  • Минимизируйте любые перекрестные разговоры между дочерними темами и родительскими темами. В дочерней теме не следует пытаться включать файлы в родительскую тему и т. Д., Кроме как через get_template_part