@krozeal

Как использовать javascript на странице index.php в wordpress?

Добрый день! Правильно ли будет вставить в тело файла index.php (своей темы wordpress) код javascript? Столкнулся с проблемой, когда скрипт необходимо вставить после определенного блока div в теле body, только тогда он работает. Но подозреваю, что делать это необходимо из function.php, а просто вставлять скрипт в файл index.php нежелательно. Подскажите, пожалуйста, как это правильно реализовать? Спасибо!
  • Вопрос задан
  • 685 просмотров
Пригласить эксперта
Ответы на вопрос 3
HeadOnFire
@HeadOnFire
PHP, Laravel & WordPress Evangelist
Javascript должен либо работать в том месте, где он стоит и будет прочитан (что не совсем правильно, имхо, потому как это скриптовый язык и ему в 99.99% нужен готовый DOM, а не его кусок), либо по событию. Подходящее событие определяется исходя из задачи. В вашем случае это DOMContentLoaded.

Вставлять не обязательно (и даже нежелательно) в начало BODY, хоть многие счетчики / чаты поддержки и прочее говнецо именно так рекоммендуют. Минус такого подхода в том, что эти ваши скрипты, которые стоят в начале BODY и вызываются не по ивенту, а "сразу", будут блокировать все остальное. Это антипаттерн в плане оптимизации. Ставьте такой код перед закрывающим BODY. Эффект будет тот же, за исключением мелочей - например, счетчики статистики могут не успеть посчитать какое-то мизерное количество юзеров, которые ушли с сайта чуть раньше, чем страница прогрузилась до скрипта. Ну и хрен с ними, этими данными можно пренебречь. Намного важнее чтобы 99% пользователей получали страницу быстрее благодаря меньшему TTI.

Как подгрузить их в WP? Да обычными стандартными средствами через functions.php. Если грузить в конце документа. Лучше всего сам js-код разместить в отдельном js-файле, его подключать в подвал, с async / defer по возможности.

Было бы интересно узнать что это у вас за код такой, который нужно конкретно ставить в нужном месте. Скорее всего это просто неправильно написанный js.
Ответ написан
Комментировать
maksym1991
@maksym1991
WordPress adept
Можно, вставляйте. Коды метрик точно также вставляют
Ответ написан
Комментировать
groog
@groog
Я только учусь
Работать скрипт будет из любого места.
Можно завернуть код в тег script и вставить именно туда куда нужно, если, конечно, код небольшой.
Можно подключить внешним файлом. Заверните код в функцию и уже на странице вызывайте функцию.

В том варианте, что вы описали, использовать function.php нет никакого смысла. Если уточните, что вы хотите сделать, можно будет посоветовать что-то более конкретное
Ответ написан
Комментировать
Ваш ответ на вопрос

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

Похожие вопросы