AltaiR-05
@AltaiR-05

Как правильно подключать скрипты в Wordpress?

Привет всем. Натягиваю верстку на Wordpress. Есть много разных слайдеров на разных страницах Wordpress. Слайдер я использую Slick. Так основной файл slick.min.js я подключил как положено в файле functions.php А есть ли смысл для каждого кусочка кода где инициализируется слайдер:
$(document).ready(function(){
  $('.your-class').slick({
    setting-name: setting-value
  });
});

создавать отдельный js-файл и их тоже подключать в functions.php и еще писать условия для каждого файла типа if ( is_front_page() ) и т.д, или же можно этот кусок кода просто прямо в файл шаблона страницы встраивать? и будет ли это правильным?
  • Вопрос задан
  • 603 просмотра
Решения вопроса 1
llgruff
@llgruff
Scala
Основной файл слайдера подключается через wp_enqueue_script.
Обрати внимание на $in_footer
wp_enqueue_script( $handle, $src, $deps, $ver, $in_footer );

Дополнительный код можно и имхо правильно встраивать напрямую в код страницы (т.е. не создавая отдельный файл), используя wp_add_inline_script.
Полный пример:
add_action('wp_enqueue_scripts', function(){
	wp_enqueue_script( 'prefix_slick', get_stylesheet_directory_uri() .'/js/slick.min.js' );
	// добавим произвольный код
	if ( is_front_page() ) {
		wp_add_inline_script( 'prefix_slick', '$(document).ready(function(){ $(".your-class").slick({ setting-name: setting-value }); });' );
	} else if ( is_page_template( $template ) ) {
		wp_add_inline_script( 'prefix_slick', '' );
	}
});

Получим в HTML коде
<script type='text/javascript' src='http://site.ru/wp-content/themes/mytheme/js/slick.min.js'></script>
<script type='text/javascript'>
$(document).ready(function(){
  $('.your-class').slick({
    setting-name: setting-value
  });
});
</script>
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
VasyaPertrov
@VasyaPertrov
Изготовление и безопастность сайтов. WP и др.
Как правильно подключать скрипты в Wordpress?

С пом https://developer.wordpress.org/reference/function...
Ответ написан
Ваш ответ на вопрос

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

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