Est-il possible d'arrêter le chargement des plugins sélectionnés sur certaines pages de modèles?

8

J'ai une page de modèle sur laquelle un formulaire n'est utilisé qu'une seule fois sur mon site. Le formulaire utilise la validation de formulaire en utilisant le plugin jquery validate (un excellent plugin). Une fois le plugin cart66 chargé, la validation du formulaire cesse de fonctionner.

Plutôt passer des âges à chercher le conflit, j'ai pensé qu'il serait plus simple de désactiver le plugin pour cette page de modèle car cart66 n'est pas nécessaire sur cette page.

Est-il possible d'arrêter le chargement des plugins sur des pages de modèles individuelles? J'utilise WordPress 3.2.1

lomokev
la source

Réponses:

3

Utilisez Plugin Organizer. http://wordpress.org/extend/plugins/plugin-organizer/ . Il ne peut pas désactiver les plugins par modèle, mais il peut les désactiver par publication, page, post_type personnalisé ou URL arbitraire.

Jeff
la source
c'est un bon plugin mais il ne remplacera pas l'édition au niveau du code, le plugin est bon mais pas aussi efficace que l'édition manuelle
chandan
Le problème avec le code manuel est que vous devez faire beaucoup de travail de détective pour comprendre les noms des ressources et autres. Et si vous manquez quelque chose? Qu'est-ce que le plugin obtient une mise à jour et une ressource est modifiée ou ajoutée? Vous devez constamment revérifier votre code manuel? Pendant ce temps, avec un organisateur de plugins, tout est automatique.
MarsAndBack
2

Il semble que le javascript de cart66 et votre plugin de formulaire soient en conflit. Vous pouvez «désactiver» javascript par page / publication, etc. en utilisant la fonction de script de mise en file d'attente.

Espérons que vos deux plugins soient bien écrits et incluent leur javascript avec cette méthode.

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

Si c'est le cas, ils auront un handle que vous pouvez utiliser pour annuler l'enregistrement (ou retirer de la file d'attente) le script.

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

Vous devrez écrire un script conditionnel

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

cela devrait être un bon point de départ.

Aris Blevins
la source
Merci d'avoir déjà pensé à rechercher tous les scripts inclus dans Cart66 et à utiliser la mise en file d'attente pour les arrêter. Ce serait bien s'il y avait un moyen d'activer le plugin tous ensemble.
lomokev
Cela peut ne pas être possible, en particulier avec un plugin de commerce électronique - il peut y avoir des données de session ou d'autres variables qui doivent être portées par des fonctions tout au long de la visite du site que vous perdriez en supprimant des fonctions. Si quoi que ce soit, la meilleure solution consiste à découvrir ce qui est en conflit avec le formulaire javascript. Quelles erreurs obtenez-vous dans Firebug lorsque vous essayez d'utiliser le formulaire?
Aris Blevins