Allow Javascript in Posts and Pages
Бывают ситуации, когда вам необходимо вставить какой-либо js-скрипт на определенной странице вашего блога. Самым простым решением данной задачи будет использование плагинов для вставки js-скриптов в тексте записей, так как редактировать файлы шаблона ради включения туда скрипта, который будет использоваться только на какой-то одной странице глупо. Существует множество плагинов для вставки js-скриптов, но наиболее удобным и простым, с моей точки зрения, является плагин Allow Javascript in Posts and Pages. Он позволяет вставить нужный js-скрипт в текст записей и страниц, а при необходимости можно научить плагин выполнять скрипты и в текстовом виджете в сайдбаре блога.
Скачиваем плагин по ссылке в конце страницы и устанавливаем его:
1. Распаковываем архив.
2. Копируем папку allow-javascript-in-posts-and-pages в папку
/wp-content/plugins/.
3. Заходим в админку блога на вкладку "Плагины" и активируем плагин.
Никаких настроек в плагине нет. Чтобы вставить нужный javascript в запись достаточно заключить текст этого скрипта в теги [js] и [/js]. Будьте тут внимательны – вставлять надо только текст скрипта, без его объявления:
Рассмотрим какой-нибудь более сложный пример. Создайте запись или страницу и в ее начало (в HTML-режиме) вставьте следующий код:
<form name=clock> <input type=text size=20 name=date> </form> |
Этот код просто добавит в запись нужное нам текстовое поле:
Теперь добавьте в запись сам скрипт (тоже в HTML-режиме):
[js] function fulltime() { var time=new Date(); document.clock.date.value=time.toLocaleString(); setTimeout('fulltime()',500) } fulltime(); [/js] |
Сохраняем запись, открываем ее и видим работающие в текстовом поле часики:
Вот так просто осуществляется добавление js-скриптов в текст записей и страниц. Но что, если требуется добавить скрипт в текстовой виджет? Сам плагин не умеет выполнять js-скрипты в виджетах, но мы можем его этому научить. Добавьте текстовой виджет и вставьте в него текст:
<form name="clock"> <input type="text" name="date" size="20" /> </form> [js] function fulltime() { var time=new Date(); document.clock.date.value=time.toLocaleString(); setTimeout('fulltime()',500) } fulltime(); [/js] |
Чтобы скрипт в виджете начал работать, надо проделать одну небольшую манипуляцию - добавьте в файл шаблона functions.php строчку:
add_filter('widget_text', 'do_shortcode'); |
Сразу после этого js-скрипты в виджетах начнут выполняться и вы можете увидеть работающий виджет-часики:
Собственно, на этом с работой плагина все. Теперь поговорим о небольших ограничениях плагина. В отличие от других подобных плагинов, он не отключает встроенное в WordPress автоформатирование записей.
С одной стороны это хорошо – вставка js-скрипта не испортит оформление вашей записи, но с другой стороны вам придется соблюдать некоторые правила. Например, вы не можете использовать знаки дюйма (") в коде скрипта, так как WordPress автоматически заменит их на елочки (»), которые в javascript, естественно, работать не будут.
WordPress также сам расставляет теги абзацев и переносов строк, что может испортить код скрипта. Allow Javascript in Posts and Pages исправляет эту ситуацию, удаляя из кода скрипта все переносы строк и теги абзацев. Но что делать, если вам нужно использовать в коде скрипта эти теги, а плагин их удаляет? Для этого вставляйте теги в квадратных скобках:
То есть плагин заменит квадратные скобки [] на угловые <>. Отсюда последняя проблема – что если необходимо в скрипте использовать квадратные скобки? Для этого достаточно их экранировать через символ \, то есть так:
Плагинов для вставки javascript очень много, но этот мне показался наиболее удобным и лишенным существенных недостатков.
Информация о плагине в репозитории wordpress.org не найдена. Или wordpress.org в данный момент недоступен или плагин был временно удален из репозитория (например, из-за найденной критической ошибки в плагине). Попробуйте найти плагин в репозитории вручную.
Понравился пост? Подпишись на обновления по RSS или Twitter !
Https://deko.group/ Нашел на сайте: https://deko.group/ стоимость дендрологического плана от ООО Дэко. deko.group |
#21,
Добрый день всем. Вообще этот плагин очень хорошо работает. Но есть один Javascript работающий код, который не как не работает у меня на сайте. Проблема связано с плагином. В коде добавлены и теги. Может они должны быть написаны на таких скобках []. Прошу помогите решить эту проблему!!!
#22,
вы код то приведите, только в правильных тегах.
#23,
подскажите, пожалуйста,как вставить такой скрипт
document.write("");
#24,
а точнее?
#25,
здесь java скрипт, который нужно вставить в вордпресс и никак не получается https://yadi.sk/i/PhrJiNaohGXjY. Подскажите как?
#26,
да прям так и вставлять:
и все работает. не забудьте только adblock в браузере отключить, так как он этот скрипт блокирует.
#27,
вставила, адблок отключила, баннер не выводится
#28,
вы плагин то установили?
сайт покажите и где баннер должен выводиться.
#29,
Плагин установила. Сайт http://7semiya.ru/, страничка с рекламным банером http://7semiya.ru/reklama/
#30,
понятно, это вордпресс кавычки портит. можно исправить, добавив в functions.php темы код:
#31,
попробовала вставить в редакторе вордпресс. перестал загружаться сайт полностью
#32,
значит не там вставили, теперь исправляйте через FTP или через панель хостера. чтобы не ошибиться - вставлять надо код на следующей строчке после или в самый конце файла перед ?> (если есть - иначе просто в конце этого файла). а вы, видимо, разбили какую-то функцию.
#33,
спасибо теперь заработало
#34,
А как можно прикрепить к WordPress скрипт из отдельного JS файла?
Написал простой калькулятор решения уравнений (Js+ css). Хочу вывести его в отдельном посте, но не понимаю, куда его положить на сервере, и как связать с постом?
#35,
положите в корне сайта, а потом подключайте.
или я вас не так понял?
#36,
Здравствуйте. Подскажите как вставить:
#37,
разве для этого нужен плагин?
переключаетесь на вкладку "Текст" и вставляете.