为 Revolution Slider 添加 Webp 支持

Adding Webp support to Revolution Slider

我希望 Revolution Slider 使用 webp 图片(如果有的话),但它不支持 webp。我怎样才能完成这项工作?

打开

/wp-content/plugins/revslider/includes/output.class.php

在文本编辑器中。

  1. 搜索

     if($img_size !== 'full' && $cur_img_id !== false && !empty($cur_img_id)){
         $_urlImage = wp_get_attachment_image_src($cur_img_id, $img_size);
         $urlImage = ($_urlImage !== false) ? $_urlImage[0] : $urlImage;
     }
    

函数内部 get_html_layer()。添加

    if ( !empty($urlImage) && !strstr( $urlImage, '.webp' ) )
        $urlImage .= '.webp';

以下。

  1. 搜索

     $url = trim($this->remove_http($url));
    

函数内部 get_thumb_url()。添加

    if ( !empty($url) && !strstr( $url, '.webp' ) )
        $url .= ($this->check_valid_image($url.'.webp')) ? '.webp' :  '';

以下。

  1. 搜索

     $img['data-panzoom'] = $this->get_html_pan_zoom();
    

函数内部 get_image_data()。添加

    if ( !empty($img['data-lazyload']) && !strstr( $img['data-lazyload'], '.webp' ) )
        $img['data-lazyload'] .= file_exists($img['data-lazyload'].'.webp') ? '.webp' :  '';

如下。接下来打开

/wp-content/plugins/revslider/includes/functions.class.php

在文本编辑器中。搜索

    $img_exts = array('.gif', '.jpg', '.jpeg', '.png');

函数内部 check_valid_image($url)。然后在数组里面加上.webp

我假设您的 webp 图像与非 webp 版本位于同一目录中,格式如下:

background.jpeg
background.jpeg.webp