Почему wp не запрашивает сценарий() при включении файла JavaScript с помощью TEMPLATEPATH?
Я пытаюсь использовать советы от здесь чтобы добавить мой файл JS.
Я поместил следующее в functions.php из темы атауальпа, которую я установил
function lektor_init() {
if (true) {
wp_enqueue_script('lektor',TEMPLATEPATH.'/js/synteza.js');
}
}
add_action('init','lektor_init');
TEMPLATEPATH
он уже использовался там раньше, поэтому я просто адаптировал его.
Но он не появляется.
Что я сделал не так?
3 answers
TEMPLATEPATH
это путь к каталогу, а не URL-адрес. Вам нужно будет использовать get_template_directory_uri()
.
function parent_theme_name_scripts() {
wp_enqueue_script( 'lektor', get_template_directory_uri() . '/js/synteza.js', array(), '1.0.0', true );
}
add_action( 'wp_enqueue_scripts', 'parent_theme_name_scripts' );
Добавьте в файл функций родительских тем.
Однако, если вы добавляете сценарии в родительскую тему, создайте дочернюю тему и добавьте сценарий в файл функций дочерних тем с помощью get_stylesheet_directory_uri()
add_action( 'wp_enqueue_scripts', 'child_theme_name_scripts' );
function child_theme_name_scripts() {
wp_enqueue_script( 'lektor', get_stylesheet_directory_uri() . '/js/synteza.js', array(), '1.0.0', true );
}
Использовать wp_enqueue_scripts
вместо того, чтобы init
.
Если вы используете дочерние темы, "каталог_шаблонов" вернет расположение каталога родительской темы. Я использую "CHILD_URL" и "PARENT_URL", если вам просто нужно распечатать URL-адреса печати.