Добавление javascript в дочернюю тему
Я хочу добавить некоторый javascript
в мой header
и хочу узнать, какой способ реализации будет наилучшим.
вот источник, который содержит javascript, который я включаю - https://codepen.io/kaemak/pen/mHyKa/
Должен ли я создать новый javascript
файл и добавить его в child theme
, и если да, то я не уверен, как назвать файл и будет ли он применяться к head из этого расположения?

Вам следует подключить скрипт в файле functions.php дочерней темы. Например, если имя вашего JS-файла custom.js и он расположен в папке js вашей дочерней темы, то в functions.php нужно добавить:
function my_custom_scripts() {
wp_enqueue_script( 'custom-js', get_stylesheet_directory_uri() . '/js/custom.js', array( 'jquery' ),'',true );
}
add_action( 'wp_enqueue_scripts', 'my_custom_scripts' );
Здесь get_stylesheet_directory_uri()
вернет директорию вашей дочерней темы, array( 'jquery' )
загрузит ваш JS после jQuery (если ваш скрипт требует jQuery, используйте этот параметр, иначе его можно удалить или добавить другие зависимые скрипты), а последний параметр true указывает на загрузку скрипта в подвале (footer) страницы.

Если он хочет подключить JS из дочерней темы, ему нужно использовать get_stylesheet_directory_uri
или более новую функцию get_theme_file_uri
.

get_theme_file_uri
сначала ищет в директории стилей (stylesheet directory), а затем в шаблонной директории (template directory), поэтому темы, наследующие от родительской темы, могут просто переопределить один файл. Если он просто хочет добавить новый скрипт из директории стилей, то get_stylesheet_directory_uri
будет более подходящим для этого случая.

get_theme_file_uri
ничего не переопределяет при использовании в дочерней теме - он просто пытается получить URI в дочерней теме, и если файл не найден, ищет в родительской. В случае с ассетом переопределение выполняется через handle. Кстати, get_template_directory_uri
ищет только в родительской теме. Поэтому я и оставил комментарий.

Да, создайте новый JavaScript файл и просто подключите его там, где вам нужно. Я рекомендую подключать его в подвале (footer) - это лучший способ подключения JS файлов. Вы можете добавить следующий код в подвал вашего сайта:
<script src="<?php echo get_template_directory_uri(); ?>/filename.js"></script>

Добавление JavaScript напрямую не является лучшей практикой. Его следует подключать через functions.php
. https://developer.wordpress.org/reference/functions/wp_enqueue_script/#comment-274
