@rkfddf

Как подключить стили и cкрипты в дочерней теме wordpress?

Не подключаются стили и скрипты в дочерней теме wordpress
add_action( 'wp_enqueue_script', 'my_scripts_slider');

function my_scripts_slider() {
wp_enqueue_script('chifslider1', get_stylesheet_directory_uri() . '/chifslider/chief-slider.dev.js');
wp_enqueue_script('chifslider2', get_stylesheet_directory_uri() . '/chifslider/chief-int.js');      
};


Если я их вставляю в код без обёртки
wp_enqueue_script('chifslider1', get_stylesheet_directory_uri() . '/chifslider/chief-slider.dev.js');
то подключаются, при этом выдаётся сообщение
Notice: wp_enqueue_script was called incorrectly. Scripts and styles should not be registered or enqueued until the wp_enqueue_scripts, admin_enqueue_scripts, or login_enqueue_scripts hooks. This notice was triggered by the chifslider1 handle. Please see Debugging in WordPress for more information. (This message was added in version 3.3.0.) in C:\xampp\htdocs\wordpress\wp-includes\functions.php on line 5535

И то же самое происходит со стилями - без обёртки работает с ноутисами, в обёртке вообще не подключается. То есть адреса и скрипты правильные, только не могу их подключить через функционал wordpress. Как правильно подключать стили и скрипты в ДОЧЕРНИХ темах wordpress?
  • Вопрос задан
  • 84 просмотра
Пригласить эксперта
Ответы на вопрос 2
@rkfddf Автор вопроса
Уже разобрался - опечатка была в нескольких статьях, видимо друг у друга передрали. Код из английской версии кодекса работает без ошибок.
Ответ написан
Комментировать
artzolin
@artzolin Куратор тега WordPress
php, WordPress разработка сайтов artzolin.ru
Хук называется wp_enqueue_scripts, а не wp_enqueue_script

Для подключения файлов есть отличная функция get_theme_file_uri(), которая проверяет наличие файла перед подключением, это довольно удобно

В версии файла можно указать время последнего изменения, чтобы при его изменении браузер обновлял его у себя в кеше с помощью filemtime()

add_action( 'wp_enqueue_scripts', 'my_scripts_slider' );
function my_scripts_slider() {
	wp_enqueue_script( 'chifslider1', get_theme_file_uri( 'chifslider/chief-slider.dev.js' ), array(), filemtime( get_theme_file_path( '/chifslider/chief-slider.dev.js' ) ) );
	wp_enqueue_script( 'chifslider2', get_theme_file_uri( 'chifslider/chief-int.js' ), array(), filemtime( get_theme_file_path( '/chifslider/chief-int.js' ) ) );
};


Подробнее о работе с подключением файлов смотрите здесь
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы