Конфликт формы Smartresponder с плагинами в WordPress

Конфликт формы Smartresponder и плагинов WordPress

Немного ранее мы писали про возможный конфликт jQuery и Java скриптов. Также мы  заметили явный конфликт формы от сервиса Smartresponder с WordPress плагинами.

В общем, ситуация следующая: если на сайте установлена автоматически сгенерированная сервисом Smartresponder форма подписки, то некоторые плагины на WordPress сайте отказываются работать.

В частности, данная ситуация наблюдалась с плагином Fancybox. И вот как удалось разрешить данную ситуацию и устранить конфликт формы с плагинами.

Устраняем конфликт Smartresponder с WordPress

Для установки формы Smartresponder на WordPress необходимо вставить сгенерированный код. Этот код образует форму и подключает необходимые Java скрипты. В первую очередь подключается основной скрипт с помощью следующей строки кода:

<script type="text/javascript" src="https://imgs.smartresponder.ru/forms/additional_files/smart-script.js"></script>

Код именно этого скрипта не дает нормально работать некоторым WordPress плагинам. Чтобы устранить данный конфликт, можно поступить следующим образом (этот способ НЕ является рекомендуемым). Скопируйте адрес, по которому располагается данный скрипт (https://imgs.smartresponder.ru/forms/additional_files/smart-script.js), вставьте этот адрес в адресную строку браузера и перейдите на страницу скрипта. Вы обнаружите страницу с JavaScript кодом. Скопируйте весь код и сохраните в новый файл с помощью редактора Notepad++ с именем responder.js. Затем добавьте в начало этого файла вот этот код:

jQuery(document).ready(function($) {

и в конец этого файла вот этот код:

});

После этого сохраните все изменения в файле. Таким образом вы заставите данный скрипт работать в режиме "noconflict".

Залейте этот файл на хостинг вашего сайта в корневую папку с именем "js" (используйте FTP клиент FileZilla). И затем подключите этот файл перед формой Smartresponder:

<script type="text/javascript" src="/js/responder.js"></script>

Соответственно, строку подключающую скрипт с удаленного сервера Smartresponder можно удалить, так как она подключает конфликтующий скрипт.

После этого у вас будут работать и форма Smartresponder и WordPress плагины.