n1croo
@n1croo
Front-end developer

Как правильно написать или подключить js файл в wordpress?

Есть js файл для работы с определёнными DOM элементами, но когда переходишь на другую страницу сайта, и этих элементов там нет, то скрипт падает. Как правильно написать или подключить скрипт?
  • Вопрос задан
  • 253 просмотра
Решения вопроса 1
HeadOnFire
@HeadOnFire
PHP, Laravel & WordPress Evangelist
из обсуждения:

var slides = document.querySelectorAll('.slider-item');
var sliderToggles = document.querySelectorAll('.slider-toggle');
var currentSlide = 0;

if ( slides.length > 0 ) {
    var slideInterval = setInterval(nextSlide, 2500);
}

function nextSlide() {
    sliderToggles[currentSlide].classList.remove('slider-toggle--active');
    slides[currentSlide].classList.remove('active');
    currentSlide = (currentSlide+1)%slides.length;
    sliderToggles[currentSlide].classList.add('slider-toggle--active');
    slides[currentSlide].classList.add('active');
}


Проблема была в том, что слайдер запускался без проверки есть ли вообще слайды. Соответственно, если на других страницах их не было, то все ломалось.
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
@Qleager
functions.php
function mytheme_scripts_styles() {
  
  wp_enqueue_style( 'mytheme-style', get_stylesheet_uri(), array(), '1.0.0' );
  wp_enqueue_script( 'mytheme-script', get_template_directory_uri() . '/scripts.js', array(), '1.0.0', true );
}
add_action( 'wp_enqueue_scripts', 'mytheme_scripts_styles' );

Подключает style.css и scripts.js в папке темы

<?php wp_footer(); ?>
Обязательно прописать перед закрывающим тегом body, стандартно он в footer.php. Отвечает за вывод скриптов

<?php wp_head(); ?>
Это перед закрывающим head. Отвечает за вывод стилей
Ответ написан
Ваш ответ на вопрос

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

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