Добавление поддержки Webp в Revolution Slider - PullRequest
0 голосов
/ 10 июля 2020

Я хочу, чтобы Revolution Slider использовал изображения webp, если они есть, но не поддерживает webp. Как я могу заставить это работать?

1 Ответ

0 голосов
/ 10 июля 2020

Открыть

/ 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';

ниже.

Найдите

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

внутри функции get_thumb_url(). Добавьте

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

ниже.

Найдите

 $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
...