こんにちは私はデフォルトのライトボックスとしてWP Featherlightセットアップを取得しようとしています、現在Visual ComposerはprettyPhotoを使用しています。したがって、無効にする必要があります。 WP Featherlightはそれを上書きします。
私はwpbakeryに尋ねたところ、この応答がありました。
こんにちは、functions.phpにprettyPhoto()を追加して、別のライトボックスを呼び出すことで、実際にprettyphotoを上書きできます。
そして、プラグインの作者から私はこれを手に入れました:
PrettyPhotoを無効にすると、サイトのライトボックス画像に対して他に何もする必要がなくなります。
だから私が何をする必要があるかはかなり明確です。 prettyPhotoを無効にします。しかし、私はそれを行う方法がわかりません。子テーマのfunctions.phpに簡単な行を追加できますか?または?
どんな助けでも本当にありがたいです。
ありがとう。
テーマの関数ファイルに次のコードを配置します。
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は、プラグインのPHPファイル全体で、さまざまなテンプレート要素とショートコードを使用するために、キューに入れて登録します。 prettyPhotoライトボックス。
'9999'パラメーターは、プラグインのロードの早い段階でエンキューまたは登録が行われた後、デキュー/登録解除が適切に行われるようにします。どんな数でもかまいませんが、数が多いほど良いです。
次の関数をオーバーライドする子テーマにカスタムJavaScriptをキューに入れる必要があります。
function vc_prettyPhoto() {
}
このようにして、VisualComposerによって作成されたprettyPhotoスクリプトの初期化を無効にします。
PrettyPhotoを無効にすることができます。テーマ関数ファイルで以下のコードを使用してください。それだけです。
function remove_scripts(){
wp_dequeue_script('prettyphoto' );
wp_deregister_script('prettyphoto' );
}
add_action( 'wp_enqueue_scripts', 'remove_scripts', 100 );
それが動作します。
問題を解決したかどうかはわかりませんが、解決策はあります(あまりエレガントではありませんが、機能します)。
写真家のためにePixテーマを購入しましたが、Visual ComposerのMasonryMedia Gridが完全に応答しないことに気付きました。したがって、私の魂はwp-content/assets/js/distから3つのファイルを編集することでした。 。これらのファイルは次のとおりです。vc_grid.min.jspage_editable.min.jsjs_composer_front.min.js
Just remove window.vc_prettyPhoto() or vc_prettyPhoto() from wherever they appear.
その後、dFactorでLightboxをインストールし、スワイプボックスを選択してセレクターprettyPhotoとして使用しました。また、リンク画像にライトボックスを強制しました。これで、ライトボックスは完全に応答します。
うまくいけば、これは誰かを助けるでしょう:)
以下のコードを使用して、そのjavascriptlibを無効にすることができます。それをテーマのfunctions.phpに入れてください
wp_dequeue_script( 'prettyphoto' );
wp_dequeue_style( 'prettyphoto' );
また、使用できる他のページブイダーはKing Composerで、これはより高速ですVC https://wordpress.org/plugins/kingcomposer/
ビジュアルComposerからいくつかのスライダーを非アクティブ化するために、私自身の問題でテストしました。それは機能します。ビジュアルComposerプラグイン。このコードをテーマ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' );
}