/var/www/html_us/wp-content/plugins/revslider/includes/jetpack.class.php


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
<?php
/**
 * @author    ThemePunch <[email protected]>
 * @link      https://www.themepunch.com/
 * @copyright 2024 ThemePunch
 */
 
if(!defined('ABSPATH')) exit();

class 
RevSliderJetPack extends RevSliderFunctions {
    
    public function 
__construct(){
        
add_filter('script_loader_tag', array($this'exclude_scripts_from_defer'), 112);
        
add_filter('revslider_js_add_header_scripts', array($this'add_defer_to_script_tags'), 101);
        
add_filter('revslider_html_v6_output', array($this'add_defer_to_script_tags'), 101);
        
add_filter('revslider_add_setREVStartSize', array($this'add_defer_to_script_tags'), 101);
    }

    
/**
     * prevent JetPack from defer our frontend JS files
     */
    
public function exclude_scripts_from_defer($src$handle){
        if(!
class_exists('Jetpack')) return $src;
        
$process false;

        if(
in_array($handle, ['tp-tools''sr7''sr7migration''revmin''revmin-actions''revmin-carousel''revmin-layeranimation''revmin-navigation''revmin-panzoom''revmin-parallax''revmin-slideanims''revmin-video'])){
            
$process true;
        }
        
        
//add addons to ignore list
        
if(strpos($src'rs6') !== false || strpos($src'rbtools.min.js') !== false || strpos($src'revolution.addon.') !== false || strpos($src'sr6/assets/js/libs/') !== false || strpos($src'liquideffect') !== false || strpos($src'pixi.min.js') !== false || strpos($src'rslottie-js') !== false){
            
$process true;
        }

        return (
$process) ? str_replace(' src'' data-jetpack-boost="ignore" src'$src) : $src;
    }

    public function 
add_defer_to_script_tags($html){
        if(!
class_exists('Jetpack')) return $html;

        return 
str_replace('<script''<script data-jetpack-boost="ignore"'$html);
    }
}