PluginProbe
Kit (formerly ConvertKit) – Email Newsletter, Email Marketing, Membership, Subscribers and Landing Pages / 2.4.7
Kit (formerly ConvertKit) – Email Newsletter, Email Marketing, Membership, Subscribers and Landing Pages v2.4.7
3.4.2 3.4.1 3.4.0 3.3.9 3.3.8 3.3.7 3.3.6 3.3.5 3.3.4 3.3.3 3.3.2 3.3.1 2.2.0 2.2.1 2.2.2 2.2.3 2.2.4 2.2.5 2.2.6 2.2.7 2.2.8 2.2.9 2.3.0 2.3.1 2.3.2 All 195 releases
← All changes | includes/class-convertkit-cache-plugins.php +4 -116 3.3.32.4.7 View file →
@@ -14,10 +14,9 @@
14 14 */
15 15 class ConvertKit_Cache_Plugins {
16 16
17 17 /**
18 - * Holds external hosts to exclude from CSS and JS minification
19 - * and lazy loading of images.
18 + * Holds external hosts to exclude from CSS and JS minification.
20 19 *
21 20 * @since 2.4.6
22 21 *
23 22 * @var array
@@ -23,13 +22,10 @@
23 22 * @var array
24 23 */
25 24 public $exclude_hosts = array(
26 25 'cdnjs.cloudflare.com',
27 - 'pages.kit.com',
28 - 'kit.com',
29 26 'pages.convertkit.com',
30 27 'convertkit.com',
31 - 'filekitcdn.com',
32 28 );
33 29
34 30 /**
35 31 * Holds internal JS paths to exclude from JS minification.
@@ -49,17 +45,8 @@
49 45 * @since 2.4.6
50 46 */
51 47 public function __construct() {
52 48
53 - // Autoptimize: Exclude Forms from JS defer.
54 - add_filter( 'convertkit_output_script_footer', array( $this, 'autoptimize_exclude_js_defer' ) );
55 - add_filter( 'convertkit_resource_forms_output_script', array( $this, 'autoptimize_exclude_js_defer' ) );
56 - add_filter( 'autoptimize_filter_imgopt_should_lazyload', array( $this, 'disable_image_lazy_loading_on_landing_pages' ) );
57 -
58 - // Debloat: Exclude Forms from Delay Load JS.
59 - add_filter( 'debloat/defer_js_excludes', array( $this, 'exclude_hosts' ) );
60 - add_filter( 'debloat/delay_js_excludes', array( $this, 'exclude_hosts' ) );
61 -
62 49 // Jetpack Boost: Exclude Forms from JS defer.
63 50 add_filter( 'convertkit_output_script_footer', array( $this, 'jetpack_boost_exclude_js_defer' ) );
64 51 add_filter( 'convertkit_resource_forms_output_script', array( $this, 'jetpack_boost_exclude_js_defer' ) );
65 52
@@ -66,30 +53,19 @@
66 53 // LiteSpeed: Exclude Forms from JS defer.
67 54 add_filter( 'convertkit_output_script_footer', array( $this, 'litespeed_cache_exclude_js_defer' ) );
68 55 add_filter( 'convertkit_resource_forms_output_script', array( $this, 'litespeed_cache_exclude_js_defer' ) );
69 56
70 - // LiteSpeed: Exclude Forms from JS optimization.
71 - add_filter( 'convertkit_output_script_footer', array( $this, 'litespeed_cache_exclude_js_optimize' ) );
72 - add_filter( 'convertkit_resource_forms_output_script', array( $this, 'litespeed_cache_exclude_js_optimize' ) );
73 -
74 57 // Perfmatters: Exclude Forms from Delay JavaScript.
75 58 add_filter( 'convertkit_output_script_footer', array( $this, 'perfmatters_exclude_delay_js' ) );
76 59 add_filter( 'convertkit_resource_forms_output_script', array( $this, 'perfmatters_exclude_delay_js' ) );
77 - add_filter( 'perfmatters_lazyload', array( $this, 'disable_image_lazy_loading_on_landing_pages' ) );
78 60
79 61 // Siteground Speed Optimizer: Exclude Forms from JS combine.
80 62 add_filter( 'convertkit_output_script_footer', array( $this, 'siteground_speed_optimizer_exclude_js_combine' ) );
81 63 add_filter( 'convertkit_resource_forms_output_script', array( $this, 'siteground_speed_optimizer_exclude_js_combine' ) );
82 64
83 - // Rocket LazyLoad: Exclude images from lazy loading.
84 - add_filter( 'rocket_lazyload_excluded_src', array( $this, 'exclude_hosts' ) );
85 -
86 65 // WP Rocket: Disable Caching and Minification on Landing Pages.
87 66 add_action( 'convertkit_output_landing_page_before', array( $this, 'wp_rocket_disable_caching_and_minification_on_landing_pages' ) );
88 67
89 - // WP Rocket: Exclude Forms from JS minification and combine.
90 - add_filter( 'rocket_minify_excluded_external_js', array( $this, 'exclude_hosts' ) );
91 -
92 68 // WP Rocket: Exclude Forms from Delay JavaScript execution.
93 69 add_filter( 'convertkit_output_script_footer', array( $this, 'wp_rocket_exclude_delay_js_execution' ) );
94 70 add_filter( 'convertkit_resource_forms_output_script', array( $this, 'wp_rocket_exclude_delay_js_execution' ) );
95 71
@@ -95,33 +71,8 @@
95 71
96 72 }
97 73
98 74 /**
99 - * Exclude ConvertKit scripts from Autoptimize's "Defer JS" setting.
100 - *
101 - * @since 2.4.9
102 - *
103 - * @param array $script Script key/value pairs to output as <script> tag.
104 - * @return array
105 - */
106 - public function autoptimize_exclude_js_defer( $script ) {
107 -
108 - add_filter(
109 - 'autoptimize_filter_js_exclude',
110 - function ( $exclusions ) use ( $script ) {
111 -
112 - $exclusions .= ', ' . $script['src'];
113 - return $exclusions;
114 -
115 - }
116 - );
117 -
118 - // Return original script.
119 - return $script;
120 -
121 - }
122 -
123 - /**
124 75 * Disable JS defer on ConvertKit scripts when the Jetpack Boost Plugin is installed, active
125 76 * and its "Defer Non-Essential JavaScript" setting is enabled.
126 77 *
127 78 * @since 2.4.6
@@ -160,28 +111,8 @@
160 111
161 112 }
162 113
163 114 /**
164 - * Disable JS Optimization on Kit scripts when the LiteSpeed Cache Plugin is installed, active
165 - * and its "JS Combine" setting is enabled.
166 - *
167 - * @since 3.3.1
168 - *
169 - * @param array $script Script key/value pairs to output as <script> tag.
170 - * @return array
171 - */
172 - public function litespeed_cache_exclude_js_optimize( $script ) {
173 -
174 - return array_merge(
175 - $script,
176 - array(
177 - 'data-no-optimize' => '1',
178 - )
179 - );
180 -
181 - }
182 -
183 - /**
184 115 * Exclude ConvertKit scripts from Perfmatters' "Delay JS" setting.
185 116 *
186 117 * @since 2.4.7
187 118 *
@@ -205,36 +136,8 @@
205 136
206 137 }
207 138
208 139 /**
209 - * Disable image lazy loading when a WordPress Page configured to display a
210 - * ConvertKit Landing Page is viewed.
211 - *
212 - * @since 2.5.1
213 - *
214 - * @param bool $enabled Lazy loading enabled.
215 - * @return bool
216 - */
217 - public function disable_image_lazy_loading_on_landing_pages( $enabled ) {
218 -
219 - // If the request isn't for a Page, don't change lazy loading settings.
220 - if ( ! is_page( get_the_ID() ) ) {
221 - return $enabled;
222 - }
223 -
224 - // If no landing page is specified for the Post, don't change lazy loading settings.
225 - $post_settings = new ConvertKit_Post( get_the_ID() );
226 - if ( ! $post_settings->has_landing_page() ) {
227 - return $enabled;
228 - }
229 -
230 - // ConvertKit Landing Page is going to be displayed.
231 - // Disable image lazy loading so that the Landing Page images display.
232 - return false;
233 -
234 - }
235 -
236 - /**
237 140 * Disable JS combining on ConvertKit scripts when the Siteground Speed Optimizer Plugin is installed, active
238 141 * and its "Combine JavaScript Files" setting is enabled.
239 142 *
240 143 * @since 2.4.6
@@ -266,11 +169,12 @@
266 169 * @since 2.4.6
267 170 */
268 171 public function wp_rocket_disable_caching_and_minification_on_landing_pages() {
269 172
270 - add_filter( 'rocket_minify_excluded_external_js', array( $this, 'exclude_hosts' ) );
271 - add_filter( 'rocket_exclude_css', array( $this, 'exclude_hosts' ) );
173 + add_filter( 'rocket_minify_excluded_external_js', array( $this, 'exclude_hosts_from_minification' ) );
174 + add_filter( 'rocket_exclude_css', array( $this, 'exclude_hosts_from_minification' ) );
272 175 add_filter( 'rocket_exclude_js', array( $this, 'exclude_local_js_from_minification' ) );
176 + add_filter( 'do_rocket_lazyload', '__return_false' );
273 177
274 178 }
275 179
276 180 /**
@@ -303,24 +207,8 @@
303 207 * @param array $hosts External hosts to ignore.
304 208 * @return array
305 209 */
306 210 public function exclude_hosts_from_minification( $hosts ) {
307 -
308 - _doing_it_wrong( __FUNCTION__, 'Use exclude_hosts() instead.', '3.1.0' );
309 -
310 - return $this->exclude_hosts( $hosts );
311 -
312 - }
313 -
314 - /**
315 - * Appends the $exclude_hosts property to an array of existing hosts.
316 - *
317 - * @since 3.1.0
318 - *
319 - * @param array $hosts External hosts to ignore.
320 - * @return array
321 - */
322 - public function exclude_hosts( $hosts ) {
323 211
324 212 return array_merge( $hosts, $this->exclude_hosts );
325 213
326 214 }