From 0c1887174681e7dd38a87e2e99b814565f521458 Mon Sep 17 00:00:00 2001 From: Dan0sz <18595395+Dan0sz@users.noreply.github.com> Date: Fri, 24 Jan 2025 15:18:34 +0100 Subject: [PATCH] Fixed: WP Rocket compatibility. --- src/Compatibility.php | 24 ++++++++++++++++++++---- 1 file changed, 20 insertions(+), 4 deletions(-) diff --git a/src/Compatibility.php b/src/Compatibility.php index 0dba07db..a3045cdd 100644 --- a/src/Compatibility.php +++ b/src/Compatibility.php @@ -58,7 +58,8 @@ public function __construct() { add_filter( 'rocket_excluded_inline_js_content', [ $this, 'exclude_plausible_inline_js' ] ); add_filter( 'rocket_exclude_js', [ $this, 'exclude_plausible_js' ] ); add_filter( 'rocket_minify_excluded_external_js', [ $this, 'exclude_plausible_js' ] ); - add_filter( 'rocket_delay_js_scripts', [ $this, 'exclude_plausible_js' ] ); + add_filter( 'rocket_delay_js_exclusions', [ $this, 'exclude_plausible_inline_js' ] ); + add_filter( 'rocket_exclude_defer_js', [ $this, 'exclude_plausible_js_by_relative_url' ] ); } } @@ -86,9 +87,7 @@ public function exclude_plausible_js_as_string( $exclude_js ) { * @return array */ public function exclude_plausible_inline_js( $inline_js ) { - if ( ! isset( $inline_js[ 'plausible' ] ) ) { - $inline_js[ 'plausible' ] = 'window.plausible'; - } + $inline_js[ 'plausible' ] = 'window.plausible'; return $inline_js; } @@ -110,6 +109,23 @@ public function exclude_plausible_js( $excluded_js ) { return $excluded_js; } + /** + * Dear WP Rocket/SG Optimizer/Etc., don't minify/combine/delay our external JS, please. + * + * @filter rocket_exclude_js + * @filter rocket_minify_excluded_external_js + * @since 1.2.5 + * + * @param array $excluded_js + * + * @return array + */ + public function exclude_plausible_js_by_relative_url( $excluded_js ) { + $excluded_js[] = preg_replace( '/http[s]?:\/\/.*?(\/)/', '$1', Helpers::get_js_url( true ) ); + + return $excluded_js; + } + /** * Dear WP Rocket/SG Optimizer/Etc., don't minify/combine/delay our external JS, please. *