禁用 prettyPhoto WordPress(Visual Composer)

Disable prettyPhoto WordPress (Visual Composer)

您好,我正在尝试将 WP Featherlight 设置为默认灯箱,现在 Visual Composer 正在使用 prettyPhoto。所以我需要禁用它,这样 WP Featherlight 就会覆盖它。

我询问了 wpbakery,得到了这个回复。

Hello, you can actually overwrite prettyphoto by adding prettyPhoto() in your functions.php and call another lightbox.

从插件作者那里我得到了这个:

Once prettyPhoto has been disabled, you shouldn't need to do anything else to lightbox images on the site.

所以很清楚我需要做什么。禁用漂亮照片。但我不知道该怎么做。我可以在子主题的 functions.php 中添加一行简单的代码吗?或者?

如有任何帮助,我们将不胜感激。

谢谢。

您可以使用下面的代码禁用 javascript 库。将其放入您的 functions.php of theme

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

您还可以使用的其他页面构建器是 King Composer,速度更快 VC https://wordpress.org/plugins/kingcomposer/

您必须在您的子主题中加入一个自定义 javascript 并覆盖以下函数:

function vc_prettyPhoto() {

}

通过这种方式,您可以禁用 Visual Composer 进行的 prettyPhoto 脚本初始化。

不确定你是否解决了问题,但我有一个解决方案(不是很优雅,但有效)。

我确实为一位摄影师购买了 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.  

之后我通过 dFactor 安装了 Lightbox,选择 swipebox 并用作选择器 prettyPhoto。我也确实在 link 图像上强制使用灯箱。现在灯箱完全响应。

希望这会对某人有所帮助:)

您可以禁用漂亮照片。在主题函数文件中使用下面的代码,就是这样。

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

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

它会起作用。

将以下代码放入主题的函数文件中。

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 );

我已经在我的安装中对此进行了测试,它运行完美。

它的作用是出列和取消注册 javascript 和样式表,Visual Composer 在整个插件的 PHP 文件中为使用 prettyPhoto 灯箱的各种模板元素和短代码排队和注册。

'9999' 参数强制 dequeuing/deregistering 在插件加载之前发生的任何排队或注册之后很好地发生。任何数字都可以,但数字越大越好。

我已经针对我自己的问题进行了测试,以停用 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' );
}