Я сверстал макет, после чего решил его натянуть на cms wordpress, подключил стили и скрипты в functions.php, подключил все через функции wp_head()
и wp_footer()
.
Вот содержание файла functions.php:
<?php
function wptuts_scripts(){
wp_enqueue_style('font-awesome', get_template_directory_uri() . '/fonts/font-awesome/css/font-awesome.min.css' );
wp_enqueue_style('style-css', get_stylesheet_uri() );
wp_enqueue_script('menu', get_template_directory_uri() . '/script/menu.js');
wp_enqueue_script('slider', get_template_directory_uri() . '/script/slider.js');
wp_enqueue_script('carousel', get_template_directory_uri() . '/script/carousel.js');
wp_enqueue_script('top-button', get_template_directory_uri() . '/script/top-button.js');
}
add_action( 'wp_enqueue_scripts', 'wptuts_scripts' );
?>
Стили работают, но скрипты почему-то не хотят.
Вот ошибки которые выдает:
P.S: Без cms все скрипты работали корректно.
P.S.S: Я пытался нагуглить причину ошибок, но так и не смог ее найти.
Есть большие подозрения на то, что скрипты подключаются до того, как будет загружено дерево DOM, а их содержимое не предполагает такого.
Тут есть 2 варианта решения:
исправьте скрипты так, чтобы их содержимое выполнялось только после события onLoad
перенесите скрипты в wp_footer()
(ниже приведен пример того, как это можно сделать)
add_action( 'after_setup_theme', 'action_requeue_scripts' );
function action_requeue_scripts () {
remove_action( 'wp_head','wp_print_scripts' );
remove_action( 'wp_head','wp_print_head_scripts', 9 );
remove_action( 'wp_head','wp_enqueue_scripts', 1 );
add_action( 'wp_footer','wp_print_scripts', 5 );
add_action( 'wp_footer','wp_enqueue_scripts', 5 );
add_action( 'wp_footer','wp_print_head_scripts', 5 );
}
Кофе для программистов: как напиток влияет на продуктивность кодеров?
Рекламные вывески: как привлечь внимание и увеличить продажи
Стратегії та тренди в SMM - Технології, що формують майбутнє сьогодні
Выделенный сервер, что это, для чего нужен и какие характеристики важны?
Современные решения для бизнеса: как облачные и виртуальные технологии меняют рынок
Promiseall возвращает промис, который отклоняется при отклонении любого из переданных all обещаний
Допустим есть событие scroll $(window)scroll(function() { следящее за прокруткой
Разбираю файл JSON с помощью JSONparse(); Выясняется такая вещь, что ключ с дефисом не работает