Можно ли остановить загрузку выбранных плагинов на определенных страницах шаблона?

8

У меня есть шаблон страницы, форма которой используется только один раз на моем сайте. Форма использует проверку формы с использованием плагина jquery validate (такой отличный плагин). Как только плагин cart66 загружен, проверка формы перестает работать.

Скорее потратив целую вечность на поиск конфликта, я подумал, что было бы проще просто отключить плагин для этой страницы шаблона, так как cart66 не нужен на этой странице.

Можно ли остановить загрузку плагинов на отдельных страницах шаблона? Я использую WordPress 3.2.1

lomokev
источник

Ответы:

3

Используйте плагин Organizer. http://wordpress.org/extend/plugins/plugin-organizer/ . Он не может отключить плагины по шаблону, но может отключить их по почте, странице, пользовательскому типу post_type или произвольному URL.

Джефф
источник
Это хороший плагин, но он не заменит редактирование на уровне кода, плагин хорош, но не так эффективен, как ручное редактирование
chandan
Проблема с ручным способом кода заключается в том, что вам нужно проделать большую детективную работу, чтобы выяснить имена ресурсов и тому подобное. Что если ты что-то пропустишь? Что за плагин получает обновление, а ресурс изменяется или добавляется? Вы должны постоянно перепроверять свой ручной код? Между тем с плагином-организатором все происходит автоматически.
MarsAndBack
2

Похоже, JavaScript из Cart66 и ваш плагин формы находятся в конфликте. Вы можете «отключить» JavaScript на странице / посте и т. Д. С помощью функции сценария enqueue.

Надеюсь, оба ваших плагина написаны хорошо и включают в себя свой javascript с помощью этого метода.

http://codex.wordpress.org/Function_Reference/wp_enqueue_script

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

http://codex.wordpress.org/Function_Reference/wp_deregister_script

Вам нужно будет написать условный скрипт

<?php if(!is_page('FORM-PAGE-SLUG')){wp_dequeue('form-javascript-handle')}?>

это должно быть хорошей отправной точкой.

Арис Блевинс
источник
Спасибо, уже подумал о поиске всех скриптов, которые включает в себя Cart66, и использовании enqueue, чтобы остановить их. Было бы хорошо, если бы был способ просто включить плагин все вместе.
Ломокев
Это может быть невозможным, особенно с плагином электронной коммерции - могут быть данные сеанса или другие переменные, которые должны переноситься функциями во время всего посещения сайта, которые вы потеряете, отбрасывая функции. Во всяком случае, лучшее решение состоит в том, чтобы выяснить, что противоречит форме javascript. Какие ошибки вы получаете в Firebug, когда вы пытаетесь использовать форму?
Арис Блевинс