подключить js скрипт wordpress

WordPress JavaScript — как правильно подключить файл скрипта к шаблону сайта

Использование в шаблонах WordPress JavaScript скриптов давно стало обычным делом. Их подключение возможно несколькими способами, начиная с классического варианта с использование голого HTML. Но чтобы все было хорошо, скрипты нужно подключать используя функцию wp_enqueue_script(). Это в дальнейшем позволит без лишних проблем объединять несколько JS файлов в один. А также обезопасит вас от конфликтов скриптов, когда зависимый скрипт подключается после того от которого он зависит.

Устаревший вариант подключения JavaScript файлов в WordPress

Раньше в WordPress файлы скриптов подключались классических методом путем размещения кода в теге HEAD или перед закрывающим тегом /BODY. Например так:

Теперь такой способ считает устаревшим. И использовать его не рекомендуется по описанным выше причинам. Но по моему опыту «ручное» подключение файлов скриптов позволяет лучше оптимизировать сайт в части скорости загрузки, ведь вы сами определяете где будет расположен код вызова в начале сайта или его конце.

Добавляем скрипт с помощью wp_enqueue_script()

Сейчас в WordPress, чтобы зарегистрировать и подключить скрипт JavaScript достаточно воспользоваться всего одной функцией — wp_enqueue_script(). Для подключения JavaScript в файл functions.php вашей темы добавьте следующий код:

Здесь script-name — рабочее название скрипта.

Предполагается, что файл скрипта JavaScript расположен в одной директории (папке) с вашей темой.

Благодарности

При написании статьи были использованы следующие источники:

Источник

Как добавить пользовательский JavaScript на WordPress-сайт

Существует несколько способов добавления пользовательского JavaScript в WordPress. В этом руководстве мы рассмотрим каждый из них.

Добавление пользовательского JavaScript на WordPress

Чтобы добавить собственный JavaScript-код на WordPress- сайт, нужно использовать:

Чего не нужно делать

Самый простой способ добавить пользовательский скрипт в WordPress – это использовать тег

1. Использование плагина для добавления пользовательского JavaScript-кода

Использование плагина рекомендуется, если:

1.1. Плагины для редактирования header.php и footer.php

Первый вариант – использование плагина для редактирования шаблонов header.php и footer.php темы оформления WordPress. Если нужно добавить скрипты, которые загружаются до содержимого страницы, необходимо отредактировать шаблон шапки. Скрипты, которые загружаются после содержимого веб-страницы, добавляются в шаблон футера.

Плагин Insert Headers and Footers позволяет редактировать шаблоны хедера и футера. Он добавляет скрипты к хукам действий wp_head или wp_footer соответственно.

53009 310387

1.2. Плагины для добавления пользовательского JavaScript

53009 310422

1.3. Скрипты, специфичные для плагинов

Создатели популярных JavaScript-библиотек часто публикуют бесплатные плагины в репозитории WordPress.org для добавления своих скриптов. Подобные плагины поставляется со встроенными параметрами конфигурации для конкретной JavaScript-библиотеки.

Например, плагин GA Google Analytics позволяет интегрировать Google Analytics на сайт прямо из панели администрирования WordPress. Он поставляется со встроенными функциями, специфичными для скрипта Google Analytics.

53009 310450

2. Редактирование файла functions.php дочерней темы оформления

Также можно использовать встроенные в WordPress функции и хуки действий. В этом случае необходимо отредактировать файл functions.php и вручную загрузить скрипт на используемый сервер. Также желательно создать дочернюю тему оформления для сохранения ваших настроек.

Затем добавьте PHP-код, который ставит в очередь или выводит пользовательский JavaScript-код, в functions.php дочерней темы оформления. Это можно сделать через меню Внешний вид> Редактор тем в панели администрирования WordPress.

53009 310487

2.1. Добавление собственных скриптов в очередь с помощью функции wp_enqueue_script()

С помощью wp_enqueue_script() можно добавить собственный JavaScript в шаблоны хедера и футера. По умолчанию функция размещает скрипты в раздел страницы.

Чтобы добавить скрипт в хедер, нужно определить собственный дескриптор (‘custom’ в примере, приведенном ниже) и путь к скрипту. А также использовать функцию get_stylesheet_directory_uri() для получения URI каталога дочерней темы оформления.

Функция WordPress wp_enqueue_script() и хук действия wp_enqueue_scripts имеют почти одинаковые имена. Но это разные методы.

Функцию wp_enqueue_script() можно использовать для добавления пользовательского JavaScript-кода в шаблон футера. Для этого потребуется определить дополнительные параметры:

Для добавления зависимости, которая не зарегистрирована в WordPress, нужно использовать собственный дескриптор. Но перед этим необходимо зарегистрировать его и поставить зависимость в очередь с помощью функции wp_enqueue_script().

2.2. Вывод встроенного скрипта с помощью хуков действий wp_head и wp_footer

Пример использования хука wp_head для вывода скрипта в шаблоне хедера:

Пример использования wp_footer для вывода скрипт в шаблоне футера:

Скрипты, добавленные с помощью этих хуков, не будут загружаться в панели администрирования и на странице входа. Чтобы запускать пользовательские скрипты в панели администрирования WordPress, необходимо использовать хуки действия admin_head и admin_footer в функции add_action().

Заключение

Использование плагина для добавления пользовательского JavaScript является рекомендуемым методом. Эти плагины гарантируют, что скрипты будут загружаться в правильном порядке.

Дайте знать, что вы думаете по этой теме статьи в комментариях. Мы крайне благодарны вам за ваши комментарии, дизлайки, отклики, подписки, лайки!

Источник

wp_enqueue_script() WP 2.1

Правильно подключает скрипт (JavaScript файл) на страницу.

Использовать эту функцию для подключения js файлов важно, потому что так вы в дальнейшем сможете без лишних проблем объединять JS файлы в один. Также в некоторых случаях избавитесь от конфликтов скриптов, когда зависимый скрипт подключается до основного (того от которого он зависит).

Функция добавляет скрипт, только если он еще не был добавлен и другие скрипты от которых он зависит, зарегистрированы. Зависимые скрипты добавляются автоматически.

ВАЖНО! Это ошибка начинающих разработчиков. Функция ничего не выведет, если в теме не используется wp_head() или wp_footer(). Именно в момент вызова этих функций срабатывает хук, который добавляет скрипты.

Если скрипт уже зарегистрирован с помощью wp_register_script(), то для его подключения в этой фукнции нужно указать только идентификатор скрипта (в первом параметре).

Функция обычно вызываться во время следующих событий (вешаться на хуки):

Возвращает

Использование

Шаблон использования

Название скрипта (рабочее название). Строка в нижнем регистре.

Этот параметр необходим только, когда скрипт не зарегистрирован и WordPress еще не знает об этом скрипте, смотрите функцию wp_register_script().

Не нужно писать УРЛ жестко, он должен определяться динамически. Для этого используйте функции получения URL:

Уже зарегистрированные в WP скрипты смотрите ниже в этой статье.

Строка указывающая версию скрипта, если она у него есть. Этот параметр используется для того чтобы удостовериться, что клиент получил верную версию скрипта, а не из кеша.

Если параметр не указан, то в качестве версии скрипта будет использована версия WordPress.

По умолчанию: false

Подключить скрипт в подвал?

Обычно скрипт подключается в документа, если указать true, то скрипт будет подключен перед тегом

Источник

Подключение скрипта к WordPress

Здравствуйте, в этом посте публикую способы подключения скрипта к сайту, делая акцент на подключение скрипта в WordPress, который имеет особенности и кардинально отличается от обычного HTML-подключения. Имеются ввиду JavaScript и JQuery

jquery

Для начала вкрадце напишу про подключение скрипта к обычному HTML сайту или странице.

Что-бы подключить скрипт к обычной HTML странице нужно между тегами

прописать такой код:

где jquery-toltip.js — название скрипта, название файла, а js — папка, в которую предварительно помещается скрипт.

Для подключения сторонних скриптов, например, если вы не хотите использовать библиотеку JQuery локально, а подгружать ее со стороннего ресурса, нужно прописывать полностью путь к этому файлу. Выглядеть будет все это следующим образом:

Если скрипт не влияет на формирование страницы, то лучше его подключать в footer между тегами

В этом случае этот скрипт будет подгружаться в последнюю очередь и не будет сильно влиять на скорость загрузки страницы.

Теперь рассмотрим как осуществляется правильное подключение скрипта к WordPress.

Конечно для этого можно подключать скрипты стандартным методом, о котором написано выше, но в таком случае возможно подключение одного и того-же скрипта несколько раз, если какой-то из плагинов его уже использует, также из за такого подключения может отказаться работать какой либо плагин.

Все аналогично первому варианту. На данном примере подключаю другой скрипт bootstrap.min.js

Оба способа подключения скриптов к WordPress являются верными, но предпочтительней второй вариант.

Подключение стороннего скрипта к WordPress

Иногда требуется подключение, подгрузка стороннего скрипта к WordPress, например с серверов CDN. Это делается в первую очередь для ускорения загрузки подключаемого скрипта и как следствие ускорение загрузки страницы. Хотя я проверял — разницы нет (все зависит от хостинг провайдера).

Как и в варианте локального подключения скриптов, описанного выше, в файл functions.php ставьте такой код:

Различие лишь в том, что естественно, убирается из кода get_template_directory_uri() — скрипт ведь не находится в директории темы.

И пишется полный адрес подгружаемого скрипта, без протокола http или https.

Лучший способ отблагодарить автора

Похожие по Тегам статьи

WordPress может использоваться для создания широкого спектра веб-сайтов. Вы можете создать портфолио сайты, новостные…

Сайдбар — часть практически любого сайта, размещается обычно слева, справа от зоны контента, либо…

В данной статье мы разберемся, что такое дочерний шаблон WordPress, для чего он нужен…

10 thoughts on “ Подключение скрипта к WordPress ”

Егор, полезная статья =) А вот смотри, получается, вместо того, чтобы прописывать скрипт между тегами head, можно просто в functions его подключить? Этот метод всегда срабатывает или проверять нужно?

Еще нежно не забывать про зависимости при подключении библиотек. А то я помню намучался в свое время.

Здравствуй, я там ссылочку оставил на WP кодекс. Кстати, я сознательно не стал углубляться в тему, у меня сайт рассчитан на обычных блоггеров, в основном. Кто серьезно занимается разработкой сайтов на WordPress, тому кодекс в руки и на ГитХаб 🙂

здравствуйте. я хочу реализовать возможность распечатать определенную область на странице вордпресс в соответствии с этой инструкцией: _http://szenprogs.ru/blog/delaem_quotversija_dlja_pechatiquot/2009-03-20-36. все получилось и работает, но я хотела бы подключить через файл js. первый код я вынесла в отдельный js-файл и поместил его в папку javascript активной темы, но не знаю, как подключить этот файл, чтобы все работало. пробовала делать, как описано в этой статье, с помощью файла functions.php, но не работает. подскажите, пожалуйста, в чём может быть дело?

Елена, скорее всего пропишите правильный путь к файлу. Он должен находится в папке с темой, если get_bloginfo — это директория, тоесть положите скрипт в папку с темой.

js-файл со скриптом записала в папку js активной темы, подключение в файле functions.php сделала по образцу и подобию, но ничего не происходит, ссылка на «печать», к сожалению, не появляется в записи(((

Все подключается, только почему-то не работает. Нужно разбираться. Время нет на это.

Источник

Как подключить javascript на странице или посте wordpress

В процессе работы с WordPress, иногда, возникает необходимость подключить javascript в посте или странице WP. Некоторые горе программисты решают эту задачу подключая все файлы яваскрипт в шапке или просто запихнув код в пост, если первый вариант невозможный. Сегодня я расскажу и покажу вам несколько вариантов подключения любого кода javascript на wordpress странице.

Зачем нужно у вордпрессе подключать javascript на странице:

Подключаем wordpress javascript на странице через шорткод

Делается это довольно просто:

1) Открываем файл темы functions.php.

2) В самом начале файла создаем шорткод вот таким способом:

Если нужно подключить отдельный файл javascript:

или же вот такой код, если вам нужно вывести код в странице WordPress:

Вместо alert(«пример»); можно писать свой яваскрипт код, только следите чтоб кавычки были правильные и не конфликтовали. Все ‘ надо закрывать в /’ для яваскрипта внутри этого ПХП.

Более подробно о том, как создать шорткод wordpress (откроется в новом окне) читайте по ссылке.

Многие программисты могут меня упрекнуть, что мол это не самый хороший код для вызова wordpress javascript на странице, но он рабочий. Далее я расскажу вам другие способы добавления яваскрипт.

Добавляем javascript на страницу wordpress через wp_enqueue_script

к менюФункция wp_enqueue_script идеально подходит для подключения яваскрипта к теме, но немножко туговато для подключения к отдельной странице, но все же с точки зрения правильности кода, такой вариант более правильный чем первый.

Подробные параметры функции wp_enqueue_script (откроется в новом окне) можно прочитать перейдя по ссылке, сейчас я вам покажу пример для отдельной страницы и отдельного поста.

Предположим, что нам нужно подключить javascript файл «myScript.js» для страницы с идентификатором 15, которому для работы нужна библиотека jQuery:

1) Открываем файл темы functions.php.

2) В самое начало записываем код:

3) Сохраняем, и заливаем на сервер, теперь на странице 15 будет вызываться файл под именем myScript.js

4) Если нам потребуется подключить этот javascript для поста wordpress с ид 21, то код будет такого плана:

Подключение wordpress javascript на странице в файле header.php

1) Открываем файл темы header.php.

2) Перед закрывающимся тегом пишем:

или вот так, если нам нужно подключить файл до поста:

или вот так если нужно до категории:

3) Если вам нужно не подключить код, а просто вывести его, то выглядеть это будет по аналогии с пунктом 2:

На этом у меня все, надеюсь эти 3 реализации подключения javascript на странице wordpress помогут вам правильно подключить код или вывести его.

Я не большой любитель WP, но вот заказали на нем сайт, да и сам подумал, что для человека никогда не администрировавшего сайт, cms’ка пойдет. У меня такой вопрос: можно ли массивом добавлять идентификаторы страниц? Влияет ли вложенность страниц на срабатывание скрипта? Буду рад ответу.

Извините, пропустил.
К сожалению статьи про Ajax у меня нет. Частично можно посмотреть в самописной форме обратной связи https://help-wp.ru/obratnaya-svyaz-wordpress-bez-plagina/ она на технологии аякс сделана.

Да, сложно с wp после october, сортировки медиафайлов нет, bootstrap 4 меню, чтобы полностью вывести с depth 3 знатно покрасноглазил (в итоге поменял разметку), для подключения конкретных скриптов и стилей нужен массив с id поста, иное почему-то у меня не прокатило, плагины на бесплатном хостинге, либо отказываются работать, либо работают корректно только их платные версии, в общем я повеселился, поседел и запил)) Благо уже на финишной прямой. Успехов!

Самый простой вариант забросить подключение в шорткод вот так:
(там же можно и основную инфу написать что должен делать и возвращать шорткод через return)

ДД, а чем плох первый способ?

ДД, чем плох 1й способ? Вроде наоборот, скрипт грузится только на нужных страницах. Если таких не много, то это положительно сказывается на работе сайта.

Добрый.
Плох тем, что так делать запрещают стандарты ВП. Еще плох тем что нельзя подключить плагин чтоб он оптимизировал скрипт, сжал и так далее этот код. Также при таком подключении не получится перенести этот скрипт в футер, код будет болтаться посреди текста. Еще могут возникнуть проблемы если нужны разные версии jquery когда посредине сайта нужна первая версия в в начале и конце вторая. Нюансов много, просто о них вспоминают только когда надо что то серьезное поправить, а оно не получается 🙂

P.S. Во втором способе скрипт тоже грузится только там где нужно.

Спасибо.
Но как во втором случае сделать подключения без указания номера страницы?
1. Страниц,постов может быть несколько. (Как указать несколько страниц/постов?)
2.Каждый раз лезть в код чтобы добавить новый номер не совсем удобно.

Со страницами наверное можно использовать специально созданный шаблон, и подключать только в нем.
Только как модифицировать if чтобы проверялся шаблон?
Хотя наверное можно и с постами и с использовать мета поле, скажем script = 1, тогда подключается скрипт.
Так правильно будет?

Вы видимо хотите подключить в самом шорткоде?
В общем эту статью нужно дописать будет на досуге. В любом месте страницы, до того момента как был вызван wp_footer() можно писать такую вот конструкцию для подключения яваскрипт:
wp_enqueue_script(«my_script», get_bloginfo( ‘stylesheet_directory’ ).’/js/my_script.js’,array(‘jquery’),»0.1″,true);

P.S. вместо true можно писать false так вроде лучше работает

Не совсем понял последний вариант. Нужно вставлять код прямо на странице? Вроде же это не очень хорошо?
В общем с нетерпением жду обновления статьи с «правильным решением» подключения по требованию скриптов на странице/постах.))
Спасибо

1) Если ваш скрипт используется на всем сайте то правильней всего его подключать через wp_enqueue_script в файл functions.php (понятное дело в этом случаи не нужно ни каких if() условий)

2) Если вам нужно подключить скрипт в шорткоде то в сам шорткод в начало или конец вставляем wp_enqueue_script как я писал выше (тогда тоже условия не нужны).

3) Если нужно вставить на конкретную страницу или в конкретный шаблон, тогда лучше всего вставлять через functions.php но с добавлением правильного условия. например нужен код только на страницах поста, мы пишем if(is_single())

Давайте я поясню на своем примере.
Я хотел бы подключить скрипт кластеризации карт от гугл. Но используется он всего лишь на нескольких страницах их 600 (там где я вывожу карты). Скрипт достаточно тяжелый. Зачем грузить его на все страницы? Шорткодом было бы удобно, но вы говорите это не правильно.
Вот и думаю как сделать так чтобы только на определенных страницах/постах подключался этот скрипт, но, при этом, это было бы правильно реализовано. Через мета поле, как мне кажется, это было бы самым удобным вариантом.

Добрый день. Это конечно хорошо. Скрипт я подключил. Но как блин вызвать функцию из этого скрипта? onClick по кнопке wordpress обрезает. Я уже запарился гуглить.

Источник