Ist es möglich, das Laden ausgewählter Plugins auf bestimmten Vorlagenseiten zu verhindern?

8

Ich habe eine Vorlagenseite mit Formular, die auf meiner Website nur einmal verwendet wird. Das Formular verwendet die Formularvalidierung mit dem jquery validate-Plugin (so ein großartiges Plugin). Sobald das cart66-Plugin geladen ist, funktioniert die Formularüberprüfung nicht mehr.

Anstatt ewig nach dem Konflikt zu suchen, dachte ich, es wäre am einfachsten, das Plugin für diese Vorlagenseite einfach auszuschalten, da cart66 auf dieser Seite nicht benötigt wird.

Ist es möglich, das Laden von Plugins auf einzelnen Vorlagenseiten zu stoppen? Ich benutze WordPress 3.2.1

lomokev
quelle

Antworten:

3

Verwenden Sie den Plugin Organizer. http://wordpress.org/extend/plugins/plugin-organizer/ . Plugins können nicht nach Vorlage deaktiviert werden, sie können jedoch nach Post, Seite, benutzerdefiniertem Post-Typ oder beliebiger URL deaktiviert werden.

Jeff
quelle
Es ist ein gutes Plugin, aber es wird die Bearbeitung auf
Codeebene
Das Problem mit der manuellen Code-Methode ist, dass Sie viel Detektivarbeit leisten müssen, um Ressourcennamen und dergleichen herauszufinden. Was ist, wenn Sie etwas verpassen? Was ist das Plugin bekommt ein Update und eine Ressource wird geändert oder hinzugefügt? Sie müssen Ihren manuellen Code ständig überprüfen? Inzwischen ist mit einem Plugin Organizer alles automatisch.
MarsAndBack
2

Es hört sich so an, als ob das Javascript von cart66 und Ihr Formular-Plugin in Konflikt stehen. Sie können Javascript pro Seite / Beitrag usw. mithilfe der Enqueue-Skriptfunktion deaktivieren.

Hoffentlich sind beide Plugins gut geschrieben und enthalten bei dieser Methode ihr Javascript.

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

In diesem Fall verfügen sie über ein Handle, mit dem Sie das Skript abmelden (oder aus der Warteschlange entfernen) können.

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

Sie müssen ein bedingtes Skript schreiben

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

das sollte ein guter startplatz sein.

Aris Blevins
quelle
Vielen Dank, dass Sie bereits daran gedacht haben, nach allen in Cart66 enthaltenen Skripten zu suchen und diese mithilfe der Warteschlange zu stoppen. Wäre schön, wenn es eine Möglichkeit gäbe, das Plugin einfach alle zusammen einzuschalten.
Lomokev
Dies ist möglicherweise nicht möglich, insbesondere mit einem E-Commerce-Plugin. Möglicherweise müssen Sitzungsdaten oder andere Variablen von Funktionen während des gesamten Site-Besuchs übertragen werden, die Sie durch das Löschen von Funktionen verlieren würden. Wenn überhaupt, ist die beste Lösung herauszufinden, was mit Form-Javascript in Konflikt steht. Welche Fehler treten in Firebug auf, wenn Sie versuchen, das Formular zu verwenden?
Aris Blevins