2

I want Revolution Slider to use webp images if there is any available but it has no support for webp. How can i make this work ?

Kitiara
  • 343
  • 6
  • 21

1 Answers1

3

Open

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

in a text editor.

  1. Search for

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

inside the function get_html_layer(). Add

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

below.

  1. Search for

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

inside the function get_thumb_url(). Add

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

below.

  1. Search for

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

inside the function get_image_data(). Add

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

below. Next, open

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

in a text editor. Search for

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

inside the function check_valid_image($url). Then add .webp inside the array.

I'm assuming that you have webp images located in the same directory along with the non webp versions as this format:

background.jpeg
background.jpeg.webp
Kitiara
  • 343
  • 6
  • 21