Flector

Allow Javascript in Posts and Pages

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]. Будьте тут внимательны – вставлять надо только текст скрипта, без его объявления:

Вставка js-кода

Рассмотрим какой-нибудь более сложный пример. Создайте запись или страницу и в ее начало (в HTML-режиме) вставьте следующий код:

<form name=clock>
    <input type=text size=20 name=date>
</form>

Этот код просто добавит в запись нужное нам текстовое поле:

Текстовое поле date

Теперь добавьте в запись сам скрипт (тоже в HTML-режиме):

[js]
function fulltime() {
    var time=new Date();
    document.clock.date.value=time.toLocaleString();
    setTimeout('fulltime()',500)
}
fulltime();
[/js]

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

Часы на javascript

Вот так просто осуществляется добавление 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, естественно, работать не будут.

Правильный и неправильный js-код

WordPress также сам расставляет теги абзацев и переносов строк, что может испортить код скрипта. Allow Javascript in Posts and Pages исправляет эту ситуацию, удаляя из кода скрипта все переносы строк и теги абзацев. Но что делать, если вам нужно использовать в коде скрипта эти теги, а плагин их удаляет? Для этого вставляйте теги в квадратных скобках:

Теги в js-скрипте

То есть плагин заменит квадратные скобки [] на угловые <>. Отсюда последняя проблема – что если необходимо в скрипте использовать квадратные скобки? Для этого достаточно их экранировать через символ \, то есть так:

Экранирование квадратных скобок

Плагинов для вставки javascript очень много, но этот мне показался наиболее удобным и лишенным существенных недостатков.

Информация о плагине в репозитории wordpress.org не найдена. Или wordpress.org в данный момент недоступен или плагин был временно удален из репозитория (например, из-за найденной критической ошибки в плагине). Попробуйте найти плагин в репозитории вручную.

Понравился пост? Подпишись на обновления по Обновления блога по RSSRSS или Обновления блога на TwitterTwitter !

Https://deko.group/

Нашел на сайте: https://deko.group/ стоимость дендрологического плана от ООО Дэко.

deko.group

Комментарии (всего 37 комментариев)
Написать комментарий

(обязательно)

(обязательно, не публикуется)

Для вставки кода используйте кнопку "Код", по умолчанию используется синтаксис подсветки языка "php", вы можете поменять его на любой другой поддерживаемый GeSHi язык, например "javascript", "css", "html4strict", "sql" и тд. Используйте предпросмотр!
 


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