Как вставить javascript в запись или страницу WordPress без плагина

На сайте мне понадобилось вставить на страницу карту Яндекса. Оказалось, что вставленный код Javascript не работал. При этом код сгенерированный конструктором карт вставлялся без всяких проблем.

 Отличие теперешнего кода было в том, что это был javascript не сгенерированный, а самописный на основе API яндекс карт. Просмотр HTML кода страницы показал, что код присутствует, но WordPress запенил переносы строк на <p>, порезал квадратные скобки. В общем код стал неработоспособен.

Естественно первым желанием было, поставить какой ни будь плагин, позволяющий вставлять JS в текст новости или страницы. Первый скачанный плагин в режиме создания записи отображал кнопку, нажав на которую можно было вставить javascript в специальное окошко. Не понравилось, по тому, что плагин размещает скрипт в заголовке станицы и видимо использует для этого отдельную таблицу в базе с привязкой к постам. Зачем нагружать базу лишним запросом, если можно хранить скрипт в тексте страницы.

Что делать, если после очередного обновления WordPress, плагин перестанет работать?? Ждать обновления без нужных скриптов? Если не обновится ковырять его самому? В общем совсем не вариант. Второй плагин был в этом плане лучше. Javascript вставляется прямо в текст страницы, между специальными хэштэгами. Но к сожалению тоже не заработало. Видимо работает он по такому принципу, что  преобразует код повторно (обратно) перед выводом. Удаляя изменения сделанные WordPress в Javascript. К сожалению, обратные изменения он произвел не в полном объеме, код не работал. Опять же плагин однажды, может перестать работать.

Вставить код Javascript в запись WordPress можно без плагина.

Для этого нужно код скрипта поместить в отдельный текстовый файл и сохранить его. Текстовый файл должен быть в кодировке UTF-8 без BOM.

 javascript в WordPress
Вставка javascript в запись или страницу WordPress

<script> до текста скрипта и </script> после, в файле писать не нужно.

В нужном месте страницы вставляем подгрузку этого файла

<script charset="utf-8" type="text/javascript" src="//site.ru/js/ymap.js"></script>

Запись должна быть в одну строку, без переносов на новую с помощью Enter

Вот и все. Javascript яндекс карт прекрасно работает на сайте без плагинов.

Для этого в код станицы вставлена следующая запись

<script src="http://api-maps.yandex.ru/1.1/index.xml?key=api_key?modules=pmap&wizard=constructor" type="text/javascript"></script>
 <script charset="utf-8" type="text/javascript" src="//site.ru/js/ymap.js"></script>

P.S. В последних версиях все стало проще. В списке блоков есть HTML. Достаточно вставить в запись такой блок, а уже в него требуемый код.

Комментарии 2

  • Здравствуйте.
    «В нужном месте страницы вставляем подгрузку этого файла» — а где это вставлять в вордпресс?

  • Доброго времени суток!
    Вставил на две страницы два кода на javascript (калькуляторы) — все работает.
    Третий код третьего калькулятора работает только в предпросмотре на самой странице. При публикации не работает. При этом стили и названия функций у работающих и у неработающего имеют много общего.
    Как найти конфликт?

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *