Если вы ведете блог или у вас есть сайт, то наверняка у вас возникала необходимость вставить какой-либо js-скрипт в запись или на страницу. Обычно это требует загрузки библиотек js, прописывания кода не только на странице, но и в файле header.php блога, то есть, довольно много рутинной работы, результатом которой может стать вывод всего одной, необходимой вам строчки.

Это нерациональный подход к решению проблемы, поэтому я предлагаю вам для ознакомления плагин Allow Javascript in Posts and Pages, который предназначен для того, чтобы вставлять js-скрипты простой вставкой шорткода. То есть, если вам нужно вставить какую-то текстовую строку при помощи скрипта js, то достаточно будет этот текст взять в квадратные скобки, вот так:

[ js ] текст [ /js ]

Принцип работы плагина понятен, теперь рассмотрим поподробнее, как его установить, и как он будет работать. Установка плагина Allow Javascript in Posts and Pages будет простой, если вы воспользуетесь возможностями WordPress, о которых я уже много раз писал. Для тех, кто не читал мои ранние статьи, повторюсь. В административной панели вашего блога нужно зайти на страницу «Плагины», затем перейти в «Добавить новый», и в строке поиска новых плагинов написать название искомого плагина, в нашем случае — Allow Javascript in Posts and Pages:

 Allow Javascript in Posts and Pages

Нажав на радиокнопку «Поиск плагинов», вы получите целый список плагинов с похожими названиями. Найдите тот, который вам нужен (обычно искомый плагин находится в самом верху списка), и нажмите «Установить». Плагин установится в автоматическом режиме, и после этого вам останется только его активировать.

Вот и вся установка. Она безопасна, так как все плагины в хранилище WordPress проверяются на наличие вирусов и троянов. Как видите, не нужно пользоваться файл-менеджером, или использовать еще какой-нибудь трудоемкий способ. Теперь найти ваш новый плагин можно так: «Параметры», «Allow JS in Posts». Здесь вы увидите, какие шорткоды можно использовать при работе с плагином. Проще говоря, в какие кавычки нужно будет заключить ваш текст или код, чтобы он начал работать, как JS.:

 Настройки Allow Javascript in Posts and Pages

Формат вывода может быть разным – все будет зависеть от того, какой шорткод для работы плагина вы используете. Результатом может быть выпадающее окно с текстом, или работа какого-либо скрипта на странице. Плагин не имеет никаких настроек, поэтому все, что вам нужно для работы того или иного js-скрипта – зайти на страницу с параметрами плагина и посмотреть, какой шорткод вам нужен в конкретном случае. Плагин также может работать с тегами и внутри тегов, и эти настройки вы тоже увидите на странице плагина:

 Настройки плагина Allow Javascript in Posts and Pages

Также плагин Allow Javascript in Posts and Pages прекрасно работает и в виджетах. Одно небольшое примечание – если вы вставляете не текст, а скрипт, то вставлять его нужно без его объявления, только содержимое (тело) самого скрипта. Вот так:

 Текст скрипта

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

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

Это будет оформление ваших часов рамкой в текстовом поле. Дальше, также в режиме HTML, добавьте тело скрипта:

funсtiоn fulltimе() {
    vаr timе=nеw Dаtе();
    dоcumеnt.сlосk.dаte.vаluе=timе.tоLоcаlеString();
    sеtTimеоut('fulltimе()',500)
}
fulltimе();

После сохранения записи в ее начале вы увидите вот такие часы:

 Часы в записи

Как видите, все просто и непринужденно J. А вот пример, как добавить js-скрипт, который сначала выводил бы сначала выпадающее окно с надписью, а затем уже саму запись. Так же, как и в предыдущем случае, только без вставки текстового поля, в саму запись сначала вставляете скрипт с текстом, а затем уже идет сама запись. Вот так:

  Новая запись

Теперь в результате при открытии этой страницы с записью вы сначала увидите вот такую картинку:

 Новая запись в блоге

А после того, как вы закроете это окно, появится сама запись блога:

 Тестовая запись в блоге

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

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



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

Для того, чтобы скрипт в виджете заработал, В файл вашей темы functions.php добавьте такой код:  add_filter(‘widget_text’, ‘do_shortcode’);. После этого все скрипты, которые вы будете добавлять в виджеты, будут выполняться без ошибок.

Плагин в своей работе имеет небольшие ограничения – он не может отключать автоформатирование, которое в WordPress встроено по умолчанию. Здесь есть и плюсы, и минусы. Так, работа плагина не тронет форматирование текста, но, с другой стороны, вам нужно будет помнить о некоторых правилах и ограничениях при работе с плагином Allow Javascript in Posts and Pages. Так, знак («) в текстовых записях использовать уже не получится, так как они будут автоматически заменяться на « (елочку), а этот знак в javascript не работает.

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

 document.write ([p] Добрый день!  [/p]); 

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

 document.write ([p] \[ Добрый день!\]  [/p]); 

Вот и все тонкости работы с плагином Allow Javascript in Posts and Pages. Их немного, и вряд ли вам пригодится способ вставки квадратных скобок, так как это случается очень редко, но знать об этом не помешает. Удачной вам работы с плагином!