特定のテンプレートページで選択したプラグインの読み込みを停止することはできますか?


8

私のサイトで1回だけ使用されるフォームのあるテンプレートページがあります。フォームは、jquery検証プラグイン(このような優れたプラグイン)を使用したフォーム検証を使用します。cart66プラグインがロードされると、フォーム検証は機能しなくなります。

競合を探すために年齢を費やすのではなく、カート66はこのページでは必要ないため、そのテンプレートページのプラグインをオフにするのが最も簡単だと思いました。

個々のテンプレートページでプラグインの読み込みを停止することはできますか?WordPress 3.2.1を使用しています

回答:


3

プラグインオーガナイザーを使用します。 http://wordpress.org/extend/plugins/plugin-organizer/。テンプレートでプラグインを無効にすることはできませんが、投稿、ページ、カスタムpost_type、または任意のURLでプラグインを無効にすることができます。


その優れたプラグインですが、コードレベルの編集に代わるものではありません。プラグインは優れていますが、手動編集ほど効率的ではありません
chandan

手動のコード方法の問題は、リソース名などを把握するために多くの探偵の仕事をしなければならないことです。何かを逃した場合はどうなりますか?プラグインは更新され、リソースは変更または追加されますか?常に手動でコードを再確認する必要がありますか?一方、プラグインオーガナイザーを使用すると、すべてが自動的に行われます。
MarsAndBack 2018年

2

cart66のjavascriptとフォームプラグインが競合しているようです。エンキュースクリプト関数を使用して、ページ/投稿ごとにJavaScriptを「オフ」にすることができます。

うまくいけば、両方のプラグインが適切に記述されており、このメソッドに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に含まれているすべてのスクリプトを検索し、それらを停止するためにエンキューを使用することについて、すでに考えました。プラグインをすべて一緒にオンにする方法があったらいいですね。
lomokev 2011

これは、特にeコマースプラグインでは不可能である可能性があります。関数をドロップすることで失う可能性のある、サイトの訪問全体を通じて関数が実行する必要のあるセッションデータやその他の変数がある場合があります。どちらかといえば、最善の解決策は、フォームのjavascriptと何が競合しているかを見つけることです。フォームを使用しようとすると、Firebugでどのようなエラーが発生しますか?
Aris Blevins、2011

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.