2016-05-12 8 views
3

こんにちは、私はVisual Featherlightの設定をデフォルトのライトボックスにしようとしていますが、今はVisual ComposerがprettyPhotoを使用しています。だから私はそれを無効にする必要がありますので、WP Featherlightはそれを上書きします。prettyPhotoを無効にするWordPress(ビジュアルコンポーザー)

私はwpbakeryに尋ねました。私はこの応答を得ました。

こんにちは、あなたが実際にあなたのfunctions.phpにprettyPhotoを()を追加してprettyphotoを上書きし、別のライトボックスを呼び出すことができます。

そして、私はこれを得たプラグインの作者から

prettyPhotoが無効になっていたら、あなたはサイト上のライトボックスの画像に何か を行う必要はありません。

私は何をする必要があるのか​​は明らかです。 prettyPhotoを無効にします。しかし、私はそれをどうやって行うのか分かりません。私の子供のテーマのfunctions.phpに簡単な行を追加できますか?または?

本当にありがとうございます。

ありがとうございました。

答えて

1

テーマの機能ファイルに次のコードを挿入します。

function remove_vc_prettyphoto(){ 
    wp_dequeue_script('prettyphoto'); 
    wp_deregister_script('prettyphoto'); 
    wp_dequeue_style('prettyphoto'); 
    wp_deregister_style('prettyphoto'); 
} 
add_action('wp_enqueue_scripts', 'remove_vc_prettyphoto', 9999); 

私はインストール時にこれをテストしており、問題なく動作します。

Visual Composerがエンキューし、prettyPhotoライトボックスを使用するさまざまなテンプレート要素とショートコードのプラグインのPHPファイル全体に登録するjavascriptとスタイルシートをデキューして登録解除します。

'9999'パラメータは、プラグインのロード時にエンキューまたは登録が行われた後で、デキュー/登録解除がうまくいったことを強制します。どんな数値でもいいが、数値が高いほど良い。

0

JavaScriptを無効にするためにコードを使用することができます。あなたが使用できるbuider高速であるキングComposerは、VC あるhttps://wordpress.org/plugins/kingcomposer/

+0

実際には機能しません。私はChild Themeディレクトリに空のfunctions.phpを作成し、その2行のコードを追加しました。しかし、prettyPhotoはまだアクティブです。 ギャラリーを作成するためにメディアグリッド/グリッドビルダーを使用します。 –

1

に他のページもテーマのあなたのfunctions.php

wp_dequeue_script('prettyphoto'); 
wp_dequeue_style('prettyphoto'); 

にこれを入れてあなたはjavascriptをあなたの子供のテーマでどこカスタムをエンキューする必要が

function vc_prettyPhoto() { 

} 

このようにして、Visual Composerによって行われたprettyPhotoスクリプトの初期化を無効にします。

0

問題を解決したかどうかはわかりませんが、解決策があります(それほどエレガントではありませんが、機能します)。

写真家のePixテーマを購入し、Visual ComposerのMasonry Media Gridが完全に反応していないことに気付きました。だから私の魂はwp-content/assets/js/distから3つのファイルを編集することでした。これらのファイルは、以下のとおりです。 vc_grid.min.js page_editable.min.js js_composer_front.min.jsその後

Just remove window.vc_prettyPhoto() or vc_prettyPhoto() from wherever they appear. 

私はswipeboxを選択し、dFactorでライトボックスを設置し、セレクタprettyPhotoとして使用します。また、私はリンクイメージにライトボックスを強制しました。これで、ライトボックスは完全に反応します。

うまくいけば、これは誰かを助けるでしょう:)

0

プリティ写真を無効にすることができます。テーマの関数ファイルに以下のコードを使用してください。

function remove_scripts(){ 
    wp_dequeue_script('prettyphoto'); 
    wp_deregister_script('prettyphoto'); 
} 

add_action('wp_enqueue_scripts', 'remove_scripts', 100); 

これは動作します。

+0

削除スクリプト機能の中では、DEqueue .. enqueueでなければなりません。さらに、スタイルのデキューや登録解除も必要です。それで....それは動作します。 –

+0

しかし、それが私を助けてくれました。でも、今でもあなたが編集したものと同じような答えが下にあります。しかし、私が入力した答えはwp_enqueue_script( 'prettyphoto')で私のために働いています。 – WhiteHorse

+0

それがあなたのために働いた理由は、あなたがその名前とパスでスクリプトを再登録しなかったからです。エンキュー呼び出しは、基本的にそのスクリプト名のアクションを消去します。それはうまくいきますが、私は、そのスクリプト名のハンドラがないことを確実にするために、完全にデキューして完全に登録解除することを好みます。 –

0

Visual Composerからいくつかのスライダを無効にするために私自身の問題をテストしました。 Visual ComposerプラグインのFlexslider、Nivoslider、Owl Carouselスライダ全体を無効にする方法の例。このコードをテーマfunctions.phpファイルに追加してください:

add_action('wp_enqueue_scripts', 'deregister_vc_modules', 99); 
function deregister_vc_modules() { 
    wp_deregister_style('flexslider'); 
    wp_deregister_script('flexslider'); 

    wp_deregister_style('nivo-slider-css'); 
    wp_deregister_style('nivo-slider-theme'); 
    wp_deregister_script('nivo-slider'); 

    wp_deregister_style('owl-carousel'); 
    wp_deregister_script('owl-carousel'); 
} 
関連する問題