9

嗨,我正在尝试将 WP Featherlight 设置为默认灯箱,现在 Visual Composer 正在使用 prettyPhoto。所以我需要禁用它,以便 WP Featherlight 将其覆盖。

我问wpbakery,我得到了这个答复。

您好,您实际上可以通过在 functions.php 中添加 prettyPhoto() 并调用另一个灯箱来覆盖 prettyphoto。

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

一旦 prettyPhoto 被禁用,您不需要对网站上的灯箱图像执行任何其他操作。

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

任何帮助将不胜感激。

谢谢。

4

6 回答 6

8

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

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 灯箱的各种模板元素和简码排入队列和注册的 javascript 和样式表出列和取消注册。

'9999' 参数强制出队/取消注册发生在插件加载之前的任何入队或注册之后。任何数字都可以,但数字越大越好。

于 2016-09-08T02:39:34.843 回答
1

您必须在您的子主题中将自定义 javascript 排入队列,并在其中覆盖以下函数:

function vc_prettyPhoto() {

}

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

于 2016-06-10T21:44:44.450 回答
0

您可以使用下面的代码来禁用该 javascript 库。将其放入主题的functions.php中

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

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

于 2016-05-12T07:01:20.230 回答
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.  

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

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

于 2016-07-08T16:34:06.377 回答
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' );
}
于 2017-01-25T19:16:06.890 回答
0

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

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

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

它会起作用的。

于 2016-08-24T10:00:47.060 回答