PluginProbe
Powered Cache – Caching and Optimization for WordPress – Easily Improve PageSpeed & Web Vitals Score / 2.2.1
Powered Cache – Caching and Optimization for WordPress – Easily Improve PageSpeed & Web Vitals Score v2.2.1
trunk 1.0 1.0.1 1.1 1.1.1 1.1.2 1.2 1.2.1 1.2.2 1.2.3 1.2.4 1.2.5 1.2.6 1.2.7 1.2.8 2.0 2.0.1 2.0.2 2.0.3 2.0.4 2.1 2.1.1 2.1.2 2.2 2.2.1 All 69 releases
powered-cache / includes / admin / partials / settings-page.php

settings-page.php in Powered Cache – Caching and Optimization for WordPress – Easily Improve PageSpeed & Web Vitals Score 2.2.1, at includes/admin/partials/settings-page.php

2,459 lines 110.3 KB
No matching file
Up and down to move Enter to open Esc to close
Raw Download Zip
1 <?php
2 /**
3 * Settings Page Template
4 *
5 * @package PoweredCache
6 */
7
8 namespace PoweredCache\Admin\Partials\SettingsPage;
9
10 use function PoweredCache\Utils\can_configure_htaccess;
11 use function PoweredCache\Utils\can_configure_object_cache;
12 use function PoweredCache\Utils\can_control_all_settings;
13 use function PoweredCache\Utils\cdn_zones;
14 use function PoweredCache\Utils\get_available_object_caches;
15 use function PoweredCache\Utils\get_doc_url;
16 use function PoweredCache\Utils\get_timeout_with_interval;
17 use function PoweredCache\Utils\is_premium;
18 use function PoweredCache\Utils\js_execution_methods;
19 use function PoweredCache\Utils\sanitize_css;
20 use function PoweredCache\Utils\scheduled_cleanup_frequency_options;
21
22 if ( ! defined( 'ABSPATH' ) ) {
23 exit; // Exit if accessed directly.
24 }
25 // phpcs:disable WordPress.WhiteSpace.PrecisionAlignment.Found
26 // phpcs:disable Generic.WhiteSpace.DisallowSpaceIndent.SpacesUsed
27 // phpcs:disable WordPress.WP.I18n.MissingTranslatorsComment
28
29 $settings = \PoweredCache\Utils\get_settings();
30
31 ?>
32
33 <main class="sui-wrap">
34 <div class="sui-header">
35 <h1 class="sui-header-title">
36 <img width="32" alt="<?php esc_html_e( 'Powered Cache Icon', 'powered-cache' ); ?>"
37 src="data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiA/PjwhRE9DVFlQRSBzdmcgIFBVQkxJQyAnLS8vVzNDLy9EVEQgU1ZHIDEuMS8vRU4nICAnaHR0cDovL3d3dy53My5vcmcvR3JhcGhpY3MvU1ZHLzEuMS9EVEQvc3ZnMTEuZHRkJz48c3ZnIGhlaWdodD0iMzJweCIgaWQ9IkxheWVyXzEiIHN0eWxlPSJlbmFibGUtYmFja2dyb3VuZDpuZXcgMCAwIDMyIDMyOyIgdmVyc2lvbj0iMS4xIiB2aWV3Qm94PSIwIDAgMzIgMzIiIHdpZHRoPSIzMnB4IiB4bWw6c3BhY2U9InByZXNlcnZlIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIj48ZyB0cmFuc2Zvcm09InRyYW5zbGF0ZSgxNDQgMzM2KSI+PHBhdGggZD0iTS0xMTcuMTc2LTMzNC4wNjNoLTkuMzUzTC0xMzguMTExLTMyMGg5LjMwNGwtMTEuNzQ1LDE0LjA2M2wyNS4xMDUtMTguMzE2aC05LjgwOUwtMTE3LjE3Ni0zMzQuMDYzeiIvPjwvZz48L3N2Zz4=">
38 <?php esc_html_e( 'Powered Cache', 'powered-cache' ); ?>
39 </h1>
40
41 <!-- Float element to Right -->
42 <div class="sui-actions-right">
43 <a href="<?php echo esc_url( get_doc_url( '/' ) ); ?>" target="_blank" class="sui-button sui-hidden-sm sui-button-blue">
44 <i class="sui-icon-academy" aria-hidden="true"></i>
45 <?php esc_html_e( 'Documentation', 'powered-cache' ); ?>
46 </a>
47 </div>
48 </div>
49 <?php \PoweredCache\Utils\settings_errors(); ?>
50
51 <form method="post" action="" enctype="multipart/form-data">
52 <?php wp_nonce_field( 'powered_cache_update_settings', 'powered_cache_settings_nonce' ); ?>
53 <section class="sui-row-with-sidenav">
54
55 <!-- Navigation -->
56 <div class="sui-sidenav" role="navigation">
57
58 <ul class="sui-vertical-tabs">
59
60 <li class="sui-vertical-tab current">
61 <a href="#basic-options" role="button" data-tab="basic-options"><?php esc_html_e( 'Basic Options', 'powered-cache' ); ?></a>
62 </li>
63
64 <li class="sui-vertical-tab">
65 <a href="#advanced-options" role="button" data-tab="advanced-options"><?php esc_html_e( 'Advanced Options', 'powered-cache' ); ?></a>
66 </li>
67
68 <li class="sui-vertical-tab">
69 <a href="#file-optimization" role="button" data-tab="file-optimization"><?php esc_html_e( 'File Optimization', 'powered-cache' ); ?></a>
70 </li>
71
72 <li class="sui-vertical-tab">
73 <a href="#media-optimization" role="button" data-tab="media-optimization"><?php esc_html_e( 'Media Optimization', 'powered-cache' ); ?></a>
74 </li>
75
76 <li class="sui-vertical-tab">
77 <a href="#cdn-integration" role="button" data-tab="cdn-integration"><?php esc_html_e( 'CDN Integration', 'powered-cache' ); ?></a>
78 </li>
79
80 <li class="sui-vertical-tab">
81 <a href="#preload" role="button" data-tab="preload"><?php esc_html_e( 'Preload', 'powered-cache' ); ?></a>
82 </li>
83
84 <li class="sui-vertical-tab">
85 <a href="#db-optimization" role="button" data-tab="db-optimization"><?php esc_html_e( 'Database', 'powered-cache' ); ?></a>
86 </li>
87
88 <li class="sui-vertical-tab">
89 <a href="#extensions" role="button" data-tab="extensions"><?php esc_html_e( 'Extensions', 'powered-cache' ); ?></a>
90 </li>
91
92 <li class="sui-vertical-tab">
93 <a href="#misc-settings" role="button" data-tab="misc-settings"><?php esc_html_e( 'Misc', 'powered-cache' ); ?></a>
94 </li>
95
96 <?php
97 /**
98 * Fires after settings nav. Used for injecting new settings tabs..
99 *
100 * @hook powered_cache_admin_page_after_settings_nav
101 *
102 * @since 2.0
103 */
104 do_action( 'powered_cache_admin_page_after_settings_nav' );
105 ?>
106
107 </ul>
108
109 <button type="submit" name="powered_cache_form_action" class="sui-button sui-margin-bottom sui-hidden-sm sui-button-blue" value="save_settings"><?php esc_html_e( 'Save Changes', 'powered-cache' ); ?></button>
110 </div>
111
112 <!-- TAB: Regular -->
113 <div class="sui-box" id="basic-options" data-tab="basic-options" style="">
114
115 <div class="sui-box-header">
116 <h2 class="sui-box-title"><?php esc_html_e( 'Basic Options', 'powered-cache' ); ?></h2>
117 </div>
118
119 <div class="sui-box-body">
120
121 <!-- Page Cache settings -->
122 <div class="sui-box-settings-row">
123 <div class="sui-box-settings-col-1">
124 <span class="sui-settings-label"><?php esc_html_e( 'Page Cache', 'powered-cache' ); ?></span>
125 </div>
126
127 <div class="sui-box-settings-col-2">
128 <div class="sui-form-field">
129 <label for="enable_page_cache" class="sui-toggle">
130 <input
131 type="checkbox"
132 id="enable_page_cache"
133 name="enable_page_cache"
134 aria-labelledby="enable_page_cache_label"
135 aria-describedby="enable_page_cache_description"
136 <?php checked( 1, $settings['enable_page_cache'] ); ?>
137 >
138 <span class="sui-toggle-slider" aria-hidden="true"></span>
139 <span id="enable_page_cache_label" class="sui-toggle-label"><?php esc_html_e( 'Enable page cache', 'powered-cache' ); ?></span>
140 </label>
141 <span id="enable_page_cache_description" class="sui-description"><?php esc_html_e( 'Enable page caching that will reduce the response time of your site.', 'powered-cache' ); ?>
142 <a href="<?php echo esc_url( get_doc_url( 'page-caching' ) ); ?>" target="_blank"><?php esc_html_e( 'Learn More', 'powered-cache' ); ?></a>
143 </span>
144 </div>
145 </div>
146 </div>
147
148 <?php if ( can_configure_object_cache() ) : ?>
149 <!-- Object Caching settings -->
150 <div class="sui-box-settings-row">
151 <div class="sui-box-settings-col-1">
152 <span class="sui-settings-label"><?php esc_html_e( 'Object Cache', 'powered-cache' ); ?></span>
153 <span class="sui-description"><?php esc_html_e( 'Speed up dynamic pageviews.', 'powered-cache' ); ?></span>
154 </div>
155
156 <div class="sui-box-settings-col-2">
157 <div class="sui-form-field">
158 <select id="object_cache" name="object_cache">
159 <option value="off" <?php selected( $settings['object_cache'], 'off' ); ?>><?php esc_html_e( 'Off', 'powered-cache' ); ?></option>
160 <?php foreach ( get_available_object_caches() as $object_cache_backend ) : ?>
161 <option <?php selected( $settings['object_cache'], $object_cache_backend ); ?> value="<?php echo esc_attr( $object_cache_backend ); ?>"><?php echo esc_attr( ucfirst( $object_cache_backend ) ); ?></option>
162 <?php endforeach; ?>
163 </select>
164 <span id="object_cache_description" class="sui-description"><?php esc_html_e( 'You will also need to configure the object cache backend.', 'powered-cache' ); ?><a href="<?php echo esc_url( get_doc_url( 'object-caching' ) ); ?>" target="_blank"><?php esc_html_e( 'Learn More', 'powered-cache' ); ?></a></span>
165 </div>
166 </div>
167 </div>
168 <?php endif; ?>
169
170 <!-- Mobile Cache settings -->
171 <div class="sui-box-settings-row">
172 <div class="sui-box-settings-col-1">
173 <span class="sui-settings-label"><?php esc_html_e( 'Mobile Cache', 'powered-cache' ); ?></span>
174 <span class="sui-description"><?php esc_html_e( 'Cache for mobile devices', 'powered-cache' ); ?></span>
175 </div>
176
177 <div class="sui-box-settings-col-2">
178 <div class="sui-form-field">
179 <label for="cache_mobile" class="sui-toggle">
180 <input type="checkbox"
181 value="1"
182 name="cache_mobile"
183 id="cache_mobile"
184 aria-controls="cache_mobile_separate_file_controls"
185 <?php checked( 1, $settings['cache_mobile'] ); ?>
186 >
187 <span class="sui-toggle-slider" aria-hidden="true"></span>
188 <span id="toggle-6-label" class="sui-toggle-label"><?php esc_html_e( 'Enable caching for mobile devices.', 'powered-cache' ); ?></span>
189 </label>
190
191 <div style=" <?php echo( ! $settings['cache_mobile'] ? 'display:none' : '' ); ?>" tabindex="0" id="cache_mobile_separate_file_controls">
192 <div class="sui-form-field">
193 <label for="cache_mobile_separate_file" class="sui-toggle">
194 <input type="checkbox"
195 value="1"
196 name="cache_mobile_separate_file"
197 id="cache_mobile_separate_file"
198 <?php checked( 1, $settings['cache_mobile_separate_file'] ); ?>
199 >
200 <span class="sui-toggle-slider" aria-hidden="true"></span>
201 <span id="cache_mobile_separate_file_label" class="sui-toggle-label"><?php esc_html_e( 'Use separate cache file for mobile.', 'powered-cache' ); ?></span>
202 </label>
203 </div>
204 </div>
205
206 </div>
207 </div>
208 </div>
209
210 <!-- Logged-in cache settings -->
211 <div class="sui-box-settings-row">
212
213 <div class="sui-box-settings-col-1">
214 <span class="sui-settings-label"><?php esc_html_e( 'Logged in user cache', 'powered-cache' ); ?></span>
215 <span class="sui-description"><?php esc_html_e( 'It creates a separate cache for each users.', 'powered-cache' ); ?></span>
216 </div>
217
218 <div class="sui-box-settings-col-2">
219 <div class="sui-form-field">
220 <label for="loggedin_user_cache" class="sui-toggle">
221 <input type="checkbox"
222 value="1"
223 name="loggedin_user_cache"
224 id="loggedin_user_cache"
225 <?php checked( 1, $settings['loggedin_user_cache'] ); ?>
226 >
227 <span class="sui-toggle-slider" aria-hidden="true"></span>
228 <span id="loggedin_user_cache_label" class="sui-toggle-label"><?php esc_html_e( 'Enable caching for logged-in users', 'powered-cache' ); ?></span>
229 <span class="sui-description"><?php esc_html_e( 'This feature is useful when you have user-specific or restricted content on your website', 'powered-cache' ); ?></span>
230 </label>
231 </div>
232 </div>
233 </div>
234
235 <?php if ( function_exists( 'gzencode' ) ) : ?>
236 <!-- Gzip compression settings -->
237 <div class="sui-box-settings-row">
238
239 <div class="sui-box-settings-col-1">
240 <span class="sui-settings-label"><?php esc_html_e( 'Gzip Compression', 'powered-cache' ); ?></span>
241 </div>
242 <div class="sui-box-settings-col-2">
243 <div class="sui-form-field">
244 <label for="gzip_compression" class="sui-toggle">
245 <input type="checkbox"
246 value="1"
247 name="gzip_compression"
248 id="gzip_compression"
249 aria-labelledby="gzip_compression_label"
250 <?php checked( 1, $settings['gzip_compression'] ); ?>
251 >
252 <span class="sui-toggle-slider" aria-hidden="true"></span>
253 <span id="gzip_compression_label" class="sui-toggle-label"><?php esc_html_e( 'Enable gzip compression', 'powered-cache' ); ?></span>
254 <span class="sui-description"><?php esc_html_e( 'The pages will be gzip-compressed at the PHP level when this option enabled. However, we highly recommended gzip compression on a web server, our pre-defined configurations for .htaccess and Nginx configurations come with gzip compression.', 'powered-cache' ); ?></span>
255 </label>
256 </div>
257 </div>
258
259 </div>
260 <?php endif; ?>
261
262 <!-- Cache Timeout -->
263 <?php list( $cache_timeout, $selected_interval ) = get_timeout_with_interval( $settings['cache_timeout'] ); ?>
264 <div class="sui-box-settings-row">
265 <div class="sui-box-settings-col-1">
266 <span class="sui-settings-label"><?php esc_html_e( 'Cache Timeout', 'powered-cache' ); ?></span>
267 <span class="sui-description"><?php esc_html_e( 'The lifespan of the cached page. Expired cache purges with WP Cron.', 'powered-cache' ); ?></span>
268 </div>
269 <div class="sui-box-settings-col-2">
270 <div class="sui-form-field">
271 <input
272 name="cache_timeout"
273 id="cache_timeout"
274 class="sui-form-control sui-field-has-suffix"
275 min="1"
276 type="number"
277 value="<?php echo absint( $cache_timeout ); ?>"
278 />
279 <span class="sui-field-suffix" style="margin-left:0;">
280 <div class="sui-form-field sui-input-md">
281 <select id="cache_timeout_interval" name="cache_timeout_interval" class="sui-form-control">
282 <option <?php selected( 'MINUTE', $selected_interval ); ?> value="MINUTE"><?php echo esc_html__( 'Minute', 'powered-cache' ); ?></option>
283 <option <?php selected( 'HOUR', $selected_interval ); ?> value="HOUR"><?php echo esc_html__( 'Hour', 'powered-cache' ); ?></option>
284 <option <?php selected( 'DAY', $selected_interval ); ?> value="DAY"><?php echo esc_html__( 'Day', 'powered-cache' ); ?></option>
285 </select>
286 </div>
287 </span>
288 </div>
289 </div>
290 </div>
291
292 </div>
293
294 <div class="sui-box-footer">
295 <div class="sui-actions-left">
296 <button type="submit" name="powered_cache_form_action" value="save_settings" class="sui-button sui-button-blue">
297 <i class="sui-icon-save" aria-hidden="true"></i>
298 <?php esc_html_e( 'Update settings', 'powered-cache' ); ?>
299 </button>
300 </div>
301 </div>
302
303 </div>
304
305 <!-- TAB: Advanced Options -->
306 <div class="sui-box" id="advanced-options" data-tab="advanced-options" style="display: none">
307 <div class="sui-box-header">
308 <h2 class="sui-box-title"><?php esc_html_e( 'Advanced Options', 'powered-cache' ); ?></h2>
309 </div>
310
311 <div class="sui-box-body">
312
313 <?php if ( can_configure_htaccess() ) : ?>
314 <!-- .htaccess settings -->
315 <div class="sui-box-settings-row">
316 <div class="sui-box-settings-col-1">
317 <span class="sui-settings-label"><?php esc_html_e( '.htaccess Configuration', 'powered-cache' ); ?></span>
318 </div>
319
320 <div class="sui-box-settings-col-2">
321 <div class="sui-form-field">
322 <label for="auto_configure_htaccess" class="sui-toggle">
323 <input
324 type="checkbox"
325 id="auto_configure_htaccess"
326 name="auto_configure_htaccess"
327 aria-labelledby="auto_configure_htaccess_label"
328 <?php checked( 1, $settings['auto_configure_htaccess'] ); ?>
329 >
330 <span class="sui-toggle-slider" aria-hidden="true"></span>
331 <span id="auto_configure_htaccess_label" class="sui-toggle-label"><?php esc_html_e( 'Automatically configure .htaccess', 'powered-cache' ); ?></span>
332 </label>
333 <span class="sui-description"><?php esc_html_e( 'You are using a .htaccess compatible server. Powered Cache automatically configures .htaccess to giving the best performance when this option is enabled. Highly recommend keeping this option enabled unless you are keeping .htaccess under a version control system.', 'powered-cache' ); ?></span>
334 </div>
335 </div>
336 </div>
337 <?php endif; ?>
338
339 <!-- Rejected user agents -->
340 <div class="sui-box-settings-row">
341 <div class="sui-box-settings-col-1">
342 <span class="sui-settings-label"><?php esc_html_e( 'Rejected User Agents', 'powered-cache' ); ?></span>
343 </div>
344
345 <div class="sui-box-settings-col-2">
346 <div class="sui-row">
347
348 <div class="sui-col-md-8">
349 <div class="sui-form-field">
350 <label for="rejected_user_agents" class="sui-label"><i><?php esc_html_e( 'Enter rejected user agents (one per line)', 'powered-cache' ); ?></i></label>
351 <textarea
352 placeholder="Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1)"
353 id="rejected_user_agents"
354 name="rejected_user_agents"
355 class="sui-form-control"
356 aria-describedby="rejected_user_agents_description"
357 rows="5"
358 ><?php echo esc_textarea( $settings['rejected_user_agents'] ); ?></textarea>
359 <span id="rejected_user_agents_description" class="sui-description">
360 <?php esc_html_e( 'Never send cached results for these user agents.', 'powered-cache' ); ?>
361 (<a href="<?php echo esc_url( get_doc_url( '/advanced-options/', 'rejected-user-agents' ) ); ?>" target="_blank">?</a>)
362 </span>
363 </div>
364 </div>
365 </div>
366 </div>
367 </div>
368
369 <!-- Rejected cookies -->
370 <div class="sui-box-settings-row">
371 <div class="sui-box-settings-col-1">
372 <span class="sui-settings-label" id="rejected_cookies_label"><?php esc_html_e( 'Rejected Cookies', 'powered-cache' ); ?></span>
373 </div>
374
375 <div class="sui-box-settings-col-2">
376 <div class="sui-row">
377 <div class="sui-col-md-8">
378 <div class="sui-form-field">
379 <label for="rejected_cookies" class="sui-label"><i><?php esc_html_e( 'Enter rejected cookies (one per line)', 'powered-cache' ); ?></i></label>
380 <textarea
381 placeholder="wordpress_"
382 id="rejected_cookies"
383 name="rejected_cookies"
384 class="sui-form-control"
385 aria-labelledby="rejected_cookies_label"
386 aria-describedby="rejected_cookies_description"
387 rows="5"
388 ><?php echo esc_textarea( $settings['rejected_cookies'] ); ?></textarea>
389 <span id="rejected_cookies_description" class="sui-description"><?php esc_html_e( 'Never cache pages that use the specified cookies.', 'powered-cache' ); ?>
390 (<a href="<?php echo esc_url( get_doc_url( '/advanced-options/', 'rejected-cookies' ) ); ?>" target="_blank">?</a>)
391 </span>
392 </div>
393 </div>
394 </div>
395 </div>
396 </div>
397
398 <!-- Cookie Vary -->
399 <div class="sui-box-settings-row">
400 <div class="sui-box-settings-col-1">
401 <span class="sui-settings-label" id="rejected_cookies_label"><?php esc_html_e( 'Vary Cookies', 'powered-cache' ); ?></span>
402 </div>
403
404 <div class="sui-box-settings-col-2">
405 <div class="sui-row">
406 <div class="sui-col-md-8">
407 <div class="sui-form-field">
408 <label for="vary_cookies" class="sui-label"><i><?php esc_html_e( 'Enter vary cookies (one per line)', 'powered-cache' ); ?></i></label>
409 <textarea
410 placeholder="(Eg: cookie_notice_accepted)"
411 id="vary_cookies"
412 name="vary_cookies"
413 class="sui-form-control"
414 aria-labelledby="vary_cookies_label"
415 aria-describedby="vary_cookies_description"
416 rows="5"
417 ><?php echo esc_textarea( $settings['vary_cookies'] ); ?></textarea>
418 <span id="vary_cookies_description" class="sui-description"><?php esc_html_e( 'Separate cache will be generated based on the cookie match.', 'powered-cache' ); ?>
419 (<a href="<?php echo esc_url( get_doc_url( '/advanced-options/', 'vary-cookies' ) ); ?>" target="_blank">?</a>)
420 </span>
421 </div>
422 </div>
423 </div>
424 </div>
425 </div>
426
427 <!-- Never cache the following pages -->
428 <div class="sui-box-settings-row">
429 <div class="sui-box-settings-col-1">
430 <span class="sui-settings-label"><?php esc_html_e( 'Never cache the following pages', 'powered-cache' ); ?></span>
431 </div>
432
433 <div class="sui-box-settings-col-2">
434 <div class="sui-row">
435
436 <div class="sui-col-md-8">
437 <div class="sui-form-field">
438 <label for="rejected_uri" class="sui-label"><i><?php esc_html_e( 'Enter pages that will never get cached (one per line)', 'powered-cache' ); ?></i></label>
439 <textarea
440 placeholder="/example-page"
441 id="rejected_uri"
442 name="rejected_uri"
443 class="sui-form-control"
444 aria-describedby="rejected_uri_description"
445 rows="5"
446 ><?php echo esc_textarea( $settings['rejected_uri'] ); ?></textarea>
447 <span id="rejected_uri_description" class="sui-description"><?php esc_html_e( 'Ignore the specified pages / directories. Supports regex.', 'powered-cache' ); ?>
448 (<a href="<?php echo esc_url( get_doc_url( '/advanced-options/', 'ignored-pages' ) ); ?>" target="_blank">?</a>)
449 </span>
450 </div>
451 </div>
452 </div>
453 </div>
454 </div>
455
456 <!-- Accepted query strings -->
457 <div class="sui-box-settings-row">
458 <div class="sui-box-settings-col-1">
459 <span class="sui-settings-label"><?php esc_html_e( 'Accepted query strings', 'powered-cache' ); ?></span>
460 </div>
461 <div class="sui-box-settings-col-2">
462 <div class="sui-row">
463 <div class="sui-col-md-8">
464 <div class="sui-form-field">
465 <label for="accepted_query_strings" class="sui-label"><i><?php esc_html_e( 'Enter allowed query parameter (one per line)', 'powered-cache' ); ?></i></label>
466 <textarea
467 placeholder="utm_"
468 id="accepted_query_strings"
469 name="accepted_query_strings"
470 class="sui-form-control"
471 aria-describedby="accepted_query_strings_description"
472 rows="5"
473 ><?php echo esc_textarea( $settings['accepted_query_strings'] ); ?></textarea>
474 <span id="accepted_query_strings_description" class="sui-description">
475 <?php esc_html_e( 'Powered Cache will ignore these query string and serve the standard cache file. Tracking parameters such as utm_* ignored by default.', 'powered-cache' ); ?>
476 (<a href="<?php echo esc_url( get_doc_url( '/advanced-options/', 'accepted-query-strings' ) ); ?>" target="_blank">?</a>)
477 </span>
478 </div>
479 </div>
480 </div>
481 </div>
482 </div>
483
484 <!-- Purge Additional Pages -->
485 <div class="sui-box-settings-row">
486 <div class="sui-box-settings-col-1">
487 <span class="sui-settings-label"><?php esc_html_e( 'Purge Additional Pages', 'powered-cache' ); ?></span>
488 </div>
489
490 <div class="sui-box-settings-col-2">
491 <div class="sui-row">
492 <div class="sui-col-md-8">
493 <div class="sui-form-field">
494 <label for="purge_additional_pages" class="sui-label"><i><?php esc_html_e( 'Enter additional pages will purged (one per line)', 'powered-cache' ); ?></i></label>
495 <textarea
496 placeholder="/sample-page"
497 id="purge_additional_pages"
498 name="purge_additional_pages"
499 class="sui-form-control"
500 aria-describedby="purge_additional_pages_description"
501 rows="5"
502 ><?php echo esc_textarea( $settings['purge_additional_pages'] ); ?></textarea>
503 <span id="purge_additional_pages_description" class="sui-description">
504 <?php esc_html_e( 'Powered Cache is smart enough to purge only necessary pages during the post changes, however sometimes particular pages need to purge. (eg. the pages that use custom shortcode)', 'powered-cache' ); ?>
505 (<a href="<?php echo esc_url( get_doc_url( '/advanced-options/', 'purge-additional-pages' ) ); ?>" target="_blank">?</a>)
506 </span>
507 </div>
508 </div>
509 </div>
510 </div>
511 </div>
512
513 </div>
514 <div class="sui-box-footer">
515 <div class="sui-actions-left">
516 <button type="submit" name="powered_cache_form_action" value="save_settings" class="sui-button sui-button-blue">
517 <i class="sui-icon-save" aria-hidden="true"></i>
518 <?php esc_html_e( 'Update settings', 'powered-cache' ); ?>
519 </button>
520 </div>
521 </div>
522 </div>
523
524 <!-- TAB: File Optimization -->
525 <div class="sui-box" id="file-optimization" data-tab="file-optimization" style="display: none;">
526
527 <div class="sui-box-header">
528 <h2 class="sui-box-title"><?php esc_html_e( 'File Optimization', 'powered-cache' ); ?></h2>
529 </div>
530
531 <div class="sui-box-body sui-upsell-items">
532 <?php
533 /**
534 * Fires before file optimization section
535 *
536 * @hook powered_cache_admin_page_before_file_optimization
537 *
538 * @since 2.0
539 */
540 do_action( 'powered_cache_admin_page_before_file_optimization' );
541 ?>
542 <!-- Basic Settings -->
543 <div class="<?php echo esc_attr( apply_filters( 'powered_cache_admin_page_fo_basic_settings_classes', 'sui-box-settings-row ' ) ); ?>">
544 <div class="sui-box-settings-col-1">
545 <span class="sui-settings-label"><?php esc_html_e( 'Basic Settings', 'powered-cache' ); ?></span>
546 </div>
547
548 <div class="sui-box-settings-col-2">
549 <div class="sui-form-field">
550 <label for="minify_html" class="sui-toggle">
551 <input
552 type="checkbox"
553 id="minify_html"
554 name="minify_html"
555 aria-labelledby="minify_html_label"
556 value="1"
557 <?php checked( 1, $settings['minify_html'] ); ?>
558 >
559 <span class="sui-toggle-slider" aria-hidden="true"></span>
560 <span id="minify_html_label" class="sui-toggle-label"><?php esc_html_e( 'Minify HTML', 'powered-cache' ); ?></span>
561 <span id="minify_html_label_description" class="sui-description"><?php esc_html_e( 'Removes all whitespace characters from the HTML output, minimizing the HTML size.', 'powered-cache' ); ?></span>
562 </label>
563 </div>
564
565 <div class="sui-form-field">
566 <label for="combine_google_fonts" class="sui-toggle">
567 <input
568 type="checkbox"
569 id="combine_google_fonts"
570 name="combine_google_fonts"
571 aria-labelledby="combine_google_fonts_label"
572 aria-controls="swap_google_fonts_display_control"
573 value="1"
574 <?php checked( 1, $settings['combine_google_fonts'] ); ?>
575 >
576 <span class="sui-toggle-slider" aria-hidden="true"></span>
577 <span id="combine_google_fonts_label" class="sui-toggle-label"><?php esc_html_e( 'Combine Google Fonts', 'powered-cache' ); ?></span>
578 <span id="combine-google-fonts-description" class="sui-description">
579 <?php esc_html_e( 'Combines all Google Fonts URLs into a single URL and optimizes loading of that URL.', 'powered-cache' ); ?>
580 (<a href="<?php echo esc_url( get_doc_url( '/combine-google-fonts/' ) ); ?>" target="_blank">?</a>)
581 </span>
582 </label>
583 </div>
584
585 <div style=" <?php echo( ! $settings['combine_google_fonts'] ? 'display:none' : '' ); ?>" tabindex="0" id="swap_google_fonts_display_control">
586 <div class="sui-form-field">
587 <label for="swap_google_fonts_display" class="sui-toggle">
588 <input type="checkbox"
589 value="1"
590 name="swap_google_fonts_display"
591 id="swap_google_fonts_display"
592 <?php checked( 1, $settings['swap_google_fonts_display'] ); ?>
593 >
594 <span class="sui-toggle-slider" aria-hidden="true"></span>
595 <span id="swap_google_fonts_display_label" class="sui-toggle-label"><?php esc_html_e( 'Swap Google Fonts Display', 'powered-cache' ); ?></span>
596 <span id="swap_google_fonts_display_description" class="sui-description">
597 <?php esc_html_e( 'Ensure text remains visible during webfont load.', 'powered-cache' ); ?>
598 </span>
599 </label>
600 </div>
601 </div>
602
603
604 </div>
605 </div>
606
607 <!-- CSS Files -->
608 <div class="<?php echo esc_attr( apply_filters( 'powered_cache_admin_page_fo_css_classes', 'sui-box-settings-row ' ) ); ?>">
609 <div class="sui-box-settings-col-1">
610 <span class="sui-settings-label"><?php esc_html_e( 'CSS Optimization', 'powered-cache' ); ?>
611 (<a href="<?php echo esc_url( get_doc_url( '/css-optimization/' ) ); ?>" target="_blank">?</a>)
612 </span>
613 </div>
614
615 <div class="sui-box-settings-col-2">
616
617 <div class="sui-form-field">
618 <label for="minify_css" class="sui-toggle">
619 <input
620 type="checkbox"
621 id="minify_css"
622 name="minify_css"
623 aria-labelledby="minify_css_label"
624 value="1"
625 <?php checked( 1, $settings['minify_css'] ); ?>
626 >
627 <span class="sui-toggle-slider" aria-hidden="true"></span>
628 <span id="minify_css_label" class="sui-toggle-label"><?php esc_html_e( 'Minify CSS' ); ?></span>
629 <span id="minify_css_description" class="sui-description"><?php esc_html_e( 'Minify CSS files', 'powered-cache' ); ?></span>
630 </label>
631 </div>
632
633 <div class="sui-form-field">
634 <label for="combine_css" class="sui-toggle">
635 <input
636 type="checkbox"
637 id="combine_css"
638 name="combine_css"
639 aria-labelledby="combine_css_label"
640 value="1"
641 <?php checked( 1, $settings['combine_css'] ); ?>
642 >
643 <span class="sui-toggle-slider" aria-hidden="true"></span>
644 <span id="combine_css_label" class="sui-toggle-label"><?php esc_html_e( 'Combine CSS files' ); ?></span>
645 <span id="combine_css_description" class="sui-description"><?php esc_html_e( 'Combine CSS files to reduce HTTP requests', 'powered-cache' ); ?></span>
646 </label>
647 </div>
648
649 <div class="sui-row">
650 <div class="sui-col-md-8">
651 <div class="sui-form-field">
652 <label for="excluded_css_files" class="sui-label"><i><?php esc_html_e( 'CSS files to exclude (one per line)', 'powered-cache' ); ?></i></label>
653 <textarea
654 placeholder="e.g /wp-content/themes/example/style/custom.css"
655 id="excluded_css_files"
656 name="excluded_css_files"
657 class="sui-form-control"
658 aria-labelledby="label-unique-id"
659 aria-describedby="excluded_css_files_description"
660 rows="5"
661 ><?php echo esc_textarea( $settings['excluded_css_files'] ); ?></textarea>
662 <span id="excluded_css_files_description" class="sui-description">
663 <?php esc_html_e( 'Listed files will not get minified or combined', 'powered-cache' ); ?>
664 </span>
665 </div>
666 </div>
667 </div>
668 </div>
669 </div>
670
671 <!-- Critical CSS -->
672 <div class="<?php echo esc_attr( apply_filters( 'powered_cache_admin_page_fo_critical_css_classes', 'sui-box-settings-row ' ) ); ?> <?php echo( ! is_premium() ? 'sui-disabled' : '' ); ?>">
673 <div class="sui-box-settings-col-1">
674 <span class="sui-settings-label"><?php esc_html_e( 'Critical CSS', 'powered-cache' ); ?>
675 <?php if ( ! is_premium() ) : ?>
676 <span class="sui-tag sui-tag-pro"><?php esc_html_e( 'Premium', 'powered-cache' ); ?></span>
677 <?php endif; ?>
678 </span>
679 <span class="sui-description"><?php esc_html_e( 'Extract & Inline Critical-path CSS from HTML', 'powered-cache' ); ?></span>
680 </div>
681
682 <div class="sui-box-settings-col-2">
683
684 <div class="sui-form-field">
685 <label for="critical_css" class="sui-toggle">
686 <input
687 type="checkbox"
688 id="critical_css"
689 name="critical_css"
690 aria-labelledby="critical_css_label"
691 aria-controls="critical_css_fallback_controls"
692 value="1"
693 <?php checked( 1, $settings['critical_css'] ); ?>
694 >
695 <span class="sui-toggle-slider" aria-hidden="true"></span>
696 <span id="critical_css_label" class="sui-toggle-label"><?php esc_html_e( ' Critical CSS' ); ?></span>
697 <span id="critical_css_description" class="sui-description"><?php esc_html_e( 'Critical CSS is a technique that extracts the CSS above the fold to display the page as quickly as possible.', 'powered-cache' ); ?></span>
698 </label>
699 </div>
700
701 <div style=" <?php echo( ! $settings['critical_css'] ? 'display:none' : '' ); ?>" tabindex="0" id="critical_css_fallback_controls">
702 <div class="sui-row">
703 <div class="sui-col-md-8">
704 <div class="sui-form-field">
705 <label for="additional_critical_css_files" class="sui-label"><i><?php esc_html_e( 'Additonal files to critical (one per line)', 'powered-cache' ); ?></i></label>
706 <textarea
707 id="critical_css_additional_files"
708 name="critical_css_additional_files"
709 class="sui-form-control"
710 aria-labelledby="label-unique-id"
711 aria-describedby="critical_css_additional_files_description"
712 rows="5"
713 ><?php echo esc_textarea( $settings['critical_css_additional_files'] ); // phpcs:ignore ?></textarea>
714 <span id="critical_css_additional_files_description" class="sui-description">
715 <?php esc_html_e( 'Critical CSS uses resources found in the head section of the page. If you need to include additional resources, add them here.', 'powered-cache' ); ?>
716 </span>
717 </div>
718 </div>
719 </div>
720 <div class="sui-row">
721 <div class="sui-col-md-8">
722 <div class="sui-form-field">
723 <label for="critical_css_excluded_files" class="sui-label"><i><?php esc_html_e( 'Excluded files from critical (one per line)', 'powered-cache' ); ?></i></label>
724 <textarea
725 id="critical_css_excluded_files"
726 name="critical_css_excluded_files"
727 class="sui-form-control"
728 aria-labelledby="label-unique-id"
729 aria-describedby="critical_css_excluded_files_description"
730 rows="5"
731 ><?php echo esc_textarea( $settings['critical_css_excluded_files'] ); // phpcs:ignore ?></textarea>
732 <span id="critical_css_excluded_files_description" class="sui-description">
733 <?php esc_html_e( 'Ignore these files during the Critical CSS generation.', 'powered-cache' ); ?>
734 </span>
735 </div>
736 </div>
737 </div>
738 <div class="sui-row">
739 <div class="sui-col-md-8">
740 <div class="sui-form-field">
741 <label for="critical_css_appended_content" class="sui-label"><i><?php esc_html_e( 'Append to Critical CSS', 'powered-cache' ); ?></i></label>
742 <textarea
743 id="critical_css_appended_content"
744 name="critical_css_appended_content"
745 class="sui-form-control"
746 aria-labelledby="label-unique-id"
747 aria-describedby="critical_css_appended_content_description"
748 rows="5"
749 ><?php echo wp_unslash( sanitize_css( $settings['critical_css_appended_content'] ) ); // phpcs:ignore ?></textarea>
750 <span id="critical_css_appended_content_description" class="sui-description">
751 <?php esc_html_e( 'Extend Critical CSS by appending custom CSS here.', 'powered-cache' ); ?>
752 </span>
753 </div>
754 </div>
755 </div>
756 <div class="sui-row">
757 <div class="sui-col-md-8">
758 <div class="sui-form-field">
759 <label for="critical_css_fallback" class="sui-label"><i><?php esc_html_e( 'Fallback Critical CSS ', 'powered-cache' ); ?></i></label>
760 <textarea
761 id="critical_css_fallback"
762 name="critical_css_fallback"
763 class="sui-form-control"
764 aria-labelledby="label-unique-id"
765 aria-describedby="critical_css_fallback_description"
766 rows="5"
767 ><?php echo wp_unslash( sanitize_css( $settings['critical_css_fallback'] ) ); // phpcs:ignore ?></textarea>
768 <span id="critical_css_fallback_description" class="sui-description">
769 <?php esc_html_e( 'The fallback CSS if auto-generated CSS is incomplete.', 'powered-cache' ); ?>
770 </span>
771 </div>
772 </div>
773 </div>
774
775 </div>
776 </div>
777 </div>
778
779
780
781 <!-- JS Files -->
782 <div class="<?php echo esc_attr( apply_filters( 'powered_cache_admin_page_fo_js_classes', 'sui-box-settings-row ' ) ); ?>">
783 <div class="sui-box-settings-col-1">
784 <span class="sui-settings-label"><?php esc_html_e( 'JavaScript Optimization', 'powered-cache' ); ?>
785 (<a href="<?php echo esc_url( get_doc_url( '/js-optimization/' ) ); ?>" target="_blank">?</a>)
786 </span>
787 </div>
788
789 <div class="sui-box-settings-col-2">
790
791 <div class="sui-form-field">
792 <label for="minify_js" class="sui-toggle">
793 <input
794 type="checkbox"
795 id="minify_js"
796 name="minify_js"
797 aria-labelledby="minify_js_label"
798 value="1"
799 <?php checked( 1, $settings['minify_js'] ); ?>
800 >
801 <span class="sui-toggle-slider" aria-hidden="true"></span>
802 <span id="minify_js_label" class="sui-toggle-label"><?php esc_html_e( 'Minify JavaScript Files', 'powered-cache' ); ?></span>
803 <span id="minify_js_description" class="sui-description"><?php esc_html_e( 'Removes whitespace and comments to reduce file size', 'powered-cache' ); ?></span>
804 </label>
805 </div>
806
807 <div class="sui-form-field">
808 <label for="combine_js" class="sui-toggle">
809 <input
810 type="checkbox"
811 id="combine_js"
812 name="combine_js"
813 aria-labelledby="combine_js_label"
814 value="1"
815 <?php checked( 1, $settings['combine_js'] ); ?>
816 >
817 <span class="sui-toggle-slider" aria-hidden="true"></span>
818 <span id="combine_js_label" class="sui-toggle-label"><?php esc_html_e( 'Combine JavaScript Files', 'powered-cache' ); ?></span>
819 <span id="combine_js_description" class="sui-description"><?php esc_html_e( 'Combines JS files into fewer files to reduce HTTP requests.', 'powered-cache' ); ?></span>
820 </label>
821 </div>
822
823 <div class="sui-row">
824 <div class="sui-col-md-8">
825 <div class="sui-form-field">
826 <label for="excluded_js_files" class="sui-label"><i><?php esc_html_e( 'JavaScript files to exclude (one per line)', 'powered-cache' ); ?></i></label>
827 <textarea
828 placeholder="e.g /wp-content/themes/example/js/custom.js"
829 id="excluded_js_files"
830 name="excluded_js_files"
831 class="sui-form-control"
832 aria-labelledby="label-unique-id"
833 aria-describedby="excluded_js_files_description"
834 rows="5"
835 ><?php echo esc_textarea( $settings['excluded_js_files'] ); ?></textarea>
836 <span id="excluded_js_files_description" class="sui-description">
837 <?php esc_html_e( 'Listed files will not get minified or combined', 'powered-cache' ); ?>
838 </span>
839 </div>
840 </div>
841 </div>
842
843 </div>
844 </div>
845
846 <div class="<?php echo esc_attr( apply_filters( 'powered_cache_admin_page_fo_js_classes', 'sui-box-settings-row ' ) ); ?>">
847 <div class="sui-box-settings-col-1">
848 <span class="sui-settings-label" id="js_execution_method_label"><?php esc_html_e( 'JavaScript execution method', 'powered-cache' ); ?></span>
849 <span class="sui-description"></span>
850 </div>
851 <div class="sui-box-settings-col-2">
852 <div class="sui-form-field">
853 <select id="js_execution_method" name="js_execution_method" aria-labelledby="js_execution_method_label" aria-describedby="js_execution_method_description">
854 <?php foreach ( js_execution_methods() as $method => $name ) : ?>
855 <option <?php selected( $settings['js_execution_method'], esc_attr( $method ) ); ?> value="<?php echo esc_attr( $method ); ?>"><?php echo esc_attr( $name ); ?></option>
856 <?php endforeach; ?>
857 </select>
858
859 <span id="js_execution_method_description" class="sui-description"><?php esc_html_e( 'It determines how browsers execute the JS scripts.', 'powered-cache' ); ?></span>
860 </div>
861
862 <div class="sui-form-field">
863 <label for="js_execution_optimized_only" class="sui-toggle">
864 <input
865 type="checkbox"
866 id="js_execution_optimized_only"
867 name="js_execution_optimized_only"
868 aria-labelledby="js_execution_optimized_only_label"
869 value="1"
870 <?php checked( 1, $settings['js_execution_optimized_only'] ); ?>
871 >
872 <span class="sui-toggle-slider" aria-hidden="true"></span>
873 <span id="js_execution_optimized_only_label" class="sui-toggle-label"><?php esc_html_e( 'Use execution method for the optimized scripts only', 'powered-cache' ); ?></span>
874 <span id="js_execution_optimized_only_description" class="sui-description"><?php esc_html_e( 'When this option is turned off all JS scripts will be executed in the same way.', 'powered-cache' ); ?></span>
875 </label>
876 </div>
877
878 </div>
879
880 </div>
881 </div>
882
883 <div class="sui-box-footer">
884 <div class="sui-actions-left">
885 <button type="submit" name="powered_cache_form_action" value="save_settings" class="sui-button sui-button-blue">
886 <i class="sui-icon-save" aria-hidden="true"></i>
887 <?php esc_html_e( 'Update settings', 'powered-cache' ); ?>
888 </button>
889 </div>
890 </div>
891 </div>
892
893 <!-- TAB: Media -->
894 <div class="sui-box" id="media-optimization" data-tab="media-optimization" style="display: none;">
895
896 <div class="sui-box-header">
897 <h2 class="sui-box-title"><?php esc_html_e( 'Media Optimization', 'powered-cache' ); ?></h2>
898 </div>
899
900 <div class="sui-box-body">
901 <?php do_action( 'powered_cache_admin_page_before_media_optimization' ); ?>
902 <div class="sui-box-settings-row <?php echo( ! is_premium() ? 'sui-disabled' : '' ); ?>">
903
904 <div class="sui-box-settings-col-1">
905 <span class="sui-settings-label"><?php esc_html_e( 'Image Optimization', 'powered-cache' ); ?>
906 <?php if ( ! is_premium() ) : ?>
907 <span class="sui-tag sui-tag-pro"><?php esc_html_e( 'Premium', 'powered-cache' ); ?></span>
908 <?php else : ?>
909 <span class="sui-tag sui-tag-pro"><?php esc_html_e( 'Beta', 'powered-cache' ); ?></span>
910 <?php endif; ?>
911 </span>
912 <span class="sui-description"></span>
913 </div>
914
915 <div class="sui-box-settings-col-2">
916 <div class="sui-form-field">
917 <label for="enable_image_optimization" class="sui-toggle">
918 <input
919 type="checkbox"
920 id="enable_image_optimization"
921 name="enable_image_optimization"
922 aria-labelledby="enable_image_optimization_label"
923 aria-describedby="enable_image_optimization_description"
924 value="1"
925 <?php checked( 1, $settings['enable_image_optimization'] ); ?>
926 >
927 <span class="sui-toggle-slider" aria-hidden="true"></span>
928 <span id="enable_image_optimization_label" class="sui-toggle-label"><?php esc_html_e( 'Enable Image Optimization Service', 'powered-cache' ); ?></span>
929 <span id="enable_image_optimization_description" class="sui-description"><?php esc_html_e( 'Powered Cache image optimization service instantly optimizes images from our global network of servers. The images will be served in WebP format when browsers support the WebP.', 'powered-cache' ); ?>
930 (<a href="<?php echo esc_url( get_doc_url( '/image-optimization/' ) ); ?>" target="_blank">?</a>)
931 </span>
932 </label>
933 </div>
934 </div>
935 </div>
936
937 <!-- Lazy Load settings -->
938
939 <div class="<?php echo esc_attr( apply_filters( 'powered_cache_admin_page_lazy_load_settings_classes', 'sui-box-settings-row' ) ); ?>">
940
941 <div class="sui-box-settings-col-1">
942 <span class="sui-settings-label"><?php esc_html_e( 'Lazy Load', 'powered-cache' ); ?></span>
943 <span class="sui-description">
944 <?php esc_html_e( 'Loads images and iframes only when visible to the user.', 'powered-cache' ); ?>
945 (<a href="<?php echo esc_url( get_doc_url( '/enable-lazy-load/' ) ); ?>" target="_blank">?</a>)
946 </span>
947 </div>
948
949 <div class="sui-box-settings-col-2">
950
951 <div class="sui-form-field">
952 <div class="sui-row ">
953 <label for="enable_lazy_load" class="sui-toggle">
954 <input
955 type="checkbox"
956 id="enable_lazy_load"
957 name="enable_lazy_load"
958 aria-labelledby="enable_lazy_load_label"
959 aria-controls="lazy-load-details"
960 value="1"
961 <?php checked( 1, $settings['enable_lazy_load'] ); ?>
962 >
963 <span class="sui-toggle-slider" aria-hidden="true"></span>
964 <span id="enable_lazy_load_label" class="sui-toggle-label"><?php esc_html_e( 'Enable Lazy Load', 'powered-cache' ); ?></span>
965 </label>
966 </div>
967
968 <div style=" <?php echo( ! $settings['enable_lazy_load'] ? 'display:none' : '' ); ?>" tabindex="0" id="lazy-load-details" class="sui-toggle-content sui-border-frame">
969
970 <div class="sui-form-field">
971 <div class="sui-row">
972 <label for="lazy_load_post_content" class="sui-checkbox">
973
974 <input
975 type="checkbox"
976 id="lazy_load_post_content"
977 name="lazy_load_post_content"
978 value="1"
979 <?php checked( 1, $settings['lazy_load_post_content'] ); ?>
980 >
981
982 <span aria-hidden="true"></span>
983 <span id="lazy_load_post_content_label"><?php esc_html_e( 'Enable for post content.', 'powered-cache' ); ?></span>
984 </label>
985 </div>
986
987 <div class="sui-row">
988 <label for="lazy_load_images" class="sui-checkbox">
989
990 <input
991 type="checkbox"
992 id="lazy_load_images"
993 name="lazy_load_images"
994 value="1"
995 <?php checked( 1, $settings['lazy_load_images'] ); ?>
996 >
997
998 <span aria-hidden="true"></span>
999 <span id="lazy_load_images_label"><?php esc_html_e( 'Enable for images.', 'powered-cache' ); ?></span>
1000 </label>
1001 </div>
1002
1003 <div class="sui-row">
1004 <label for="lazy_load_iframes" class="sui-checkbox">
1005
1006 <input
1007 type="checkbox"
1008 id="lazy_load_iframes"
1009 name="lazy_load_iframes"
1010 value="1"
1011 <?php checked( 1, $settings['lazy_load_iframes'] ); ?>
1012 >
1013
1014 <span aria-hidden="true"></span>
1015 <span id="lazy_load_iframes_label"><?php esc_html_e( 'Enable for iframes.', 'powered-cache' ); ?></span>
1016 </label>
1017 </div>
1018 <div class="sui-row">
1019 <label for="lazy_load_widgets" class="sui-checkbox">
1020
1021 <input
1022 type="checkbox"
1023 id="lazy_load_widgets"
1024 name="lazy_load_widgets"
1025 value="1"
1026 <?php checked( 1, $settings['lazy_load_widgets'] ); ?>
1027 >
1028
1029 <span aria-hidden="true"></span>
1030 <span id="lazy_load_widgets_label"><?php esc_html_e( 'Enable for widgets.', 'powered-cache' ); ?></span>
1031 </label>
1032 </div>
1033 <div class="sui-row">
1034 <label for="lazy_load_post_thumbnail" class="sui-checkbox">
1035
1036 <input
1037 type="checkbox"
1038 id="lazy_load_post_thumbnail"
1039 name="lazy_load_post_thumbnail"
1040 value="1"
1041 <?php checked( 1, $settings['lazy_load_post_thumbnail'] ); ?>
1042 >
1043
1044 <span aria-hidden="true"></span>
1045 <span id="lazy_load_post_thumbnail_label"><?php esc_html_e( 'Enable for post thumbnails.', 'powered-cache' ); ?></span>
1046 </label>
1047 </div>
1048 <div class="sui-row">
1049 <label for="lazy_load_avatars" class="sui-checkbox">
1050
1051 <input
1052 type="checkbox"
1053 id="lazy_load_avatars"
1054 name="lazy_load_avatars"
1055 value="1"
1056 <?php checked( 1, $settings['lazy_load_avatars'] ); ?>
1057 >
1058
1059 <span aria-hidden="true"></span>
1060 <span id="lazy_load_avatars_label"><?php esc_html_e( 'Enable for avatars.', 'powered-cache' ); ?></span>
1061 </label>
1062 </div>
1063 </div>
1064
1065 </div>
1066
1067 <div class="sui-row">
1068 <label for="disable_wp_lazy_load" class="sui-toggle">
1069 <input
1070 type="checkbox"
1071 id="disable_wp_lazy_load"
1072 name="disable_wp_lazy_load"
1073 aria-labelledby="disable_wp_lazy_load_label"
1074 value="1"
1075 <?php checked( 1, $settings['disable_wp_lazy_load'] ); ?>
1076 >
1077 <span class="sui-toggle-slider" aria-hidden="true"></span>
1078 <span id="disable_wp_lazy_load_label" class="sui-toggle-label"><?php esc_html_e( 'Disable WordPress Native Lazy Load', 'powered-cache' ); ?></span>
1079 </label>
1080 </div>
1081 </div>
1082 </div>
1083
1084 </div>
1085
1086 <div class="sui-box-settings-row">
1087
1088 <div class="sui-box-settings-col-1">
1089 <span class="sui-settings-label"><?php esc_html_e( 'Embeds', 'powered-cache' ); ?></span>
1090 <span class="sui-description"></span>
1091 </div>
1092
1093 <div class="sui-box-settings-col-2">
1094 <div class="sui-form-field">
1095 <label for="disable_wp_embeds" class="sui-toggle">
1096 <input
1097 type="checkbox"
1098 id="disable_wp_embeds"
1099 name="disable_wp_embeds"
1100 aria-labelledby="disable_wp_embeds_label"
1101 aria-describedby="disable_wp_embeds_description"
1102 value="1"
1103 <?php checked( 1, $settings['disable_wp_embeds'] ); ?>
1104 >
1105 <span class="sui-toggle-slider" aria-hidden="true"></span>
1106 <span id="disable_wp_embeds_label" class="sui-toggle-label"><?php esc_html_e( 'Disable WordPress Embeds', 'powered-cache' ); ?></span>
1107 <span id="disable_wp_embeds_description" class="sui-description"><?php esc_html_e( 'Disables embedding posts from WordPress-based websites (including your own) which converts URLs into heavy iframes.', 'powered-cache' ); ?>
1108 (<a href="<?php echo esc_url( get_doc_url( '/disable-wordpress-embeds/' ) ); ?>" target="_blank">?</a>)
1109 </span>
1110 </label>
1111 </div>
1112 </div>
1113 </div>
1114
1115 <div class="sui-box-settings-row">
1116
1117 <div class="sui-box-settings-col-1">
1118 <span class="sui-settings-label"><?php esc_html_e( 'Emoji', 'powered-cache' ); ?></span>
1119 <span class="sui-description"></span>
1120 </div>
1121
1122 <div class="sui-box-settings-col-2">
1123 <div class="sui-form-field">
1124 <label for="disable_emoji_scripts" class="sui-toggle">
1125 <input
1126 type="checkbox"
1127 id="disable_emoji_scripts"
1128 name="disable_emoji_scripts"
1129 aria-labelledby="disable_emoji_scripts_label"
1130 aria-describedby="disable_emoji_scripts_description"
1131 value="1"
1132 <?php checked( 1, $settings['disable_emoji_scripts'] ); ?>
1133 >
1134 <span class="sui-toggle-slider" aria-hidden="true"></span>
1135 <span id="disable_emoji_scripts_label" class="sui-toggle-label"><?php esc_html_e( 'Remove Emoji Scripts', 'powered-cache' ); ?></span>
1136 <span id="disable_emoji_scripts_description" class="sui-description">
1137 <?php esc_html_e( 'Removes the unnecessary emoji scripts from your website front-end. Doesn\'t remove emojis, don\'t worry.', 'powered-cache' ); ?>
1138 (<a href="<?php echo esc_url( get_doc_url( '/remove-emoji-scripts/' ) ); ?>" target="_blank">?</a>)
1139 </span>
1140 </label>
1141 </div>
1142 </div>
1143 </div>
1144
1145 </div>
1146 <div class="sui-box-footer">
1147 <div class="sui-actions-left">
1148 <button type="submit" name="powered_cache_form_action" value="save_settings" class="sui-button sui-button-blue">
1149 <i class="sui-icon-save" aria-hidden="true"></i>
1150 <?php esc_html_e( 'Update settings', 'powered-cache' ); ?>
1151 </button>
1152 </div>
1153 </div>
1154 </div>
1155
1156 <!-- TAB: CDN -->
1157 <div class="sui-box" id="cdn-integration" data-tab="cdn-integration" style="display: none;">
1158
1159 <div class="sui-box-header">
1160 <h2 class="sui-box-title"><?php esc_html_e( 'CDN Integration', 'powered-cache' ); ?></h2>
1161 </div>
1162
1163 <div class="sui-box-body">
1164 <div class="sui-box-settings-row">
1165 <div class="sui-box-settings-col-1">
1166 <span class="sui-settings-label"><?php esc_html_e( 'CDN', 'powered-cache' ); ?></span>
1167 <span class="sui-description"></span>
1168 </div>
1169
1170 <div class="sui-box-settings-col-2">
1171 <div class="sui-form-field">
1172 <label for="enable_cdn" class="sui-toggle">
1173 <input
1174 type="checkbox"
1175 id="enable_cdn"
1176 name="enable_cdn"
1177 aria-labelledby="enable_cdn_label"
1178 aria-describedby="enable_cdn_description"
1179 value="1"
1180 <?php checked( 1, $settings['enable_cdn'] ); ?>
1181 >
1182 <span class="sui-toggle-slider" aria-hidden="true"></span>
1183 <span id="enable_cdn_label" class="sui-toggle-label"><?php esc_html_e( 'Enable CDN Integration', 'powered-cache' ); ?></span>
1184 <span id="enable_cdn_description" class="sui-description"><?php esc_html_e( 'Please make sure that your CDN is properly setup before enabling this feature ', 'powered-cache' ); ?>
1185 <a href="<?php echo esc_url( get_doc_url( '/cdn-integration/' ) ); ?>" target="_blank">(?)</a></span>
1186 </label>
1187 </div>
1188 </div>
1189
1190 </div>
1191
1192 <div class="sui-box-settings-row">
1193 <div class="sui-box-settings-col-1">
1194 <span class="sui-settings-label"><?php esc_html_e( 'CDN Hostnames', 'powered-cache' ); ?></span>
1195 <span class="sui-description"><?php esc_html_e( 'Enter your CNAME(s)', 'powered-cache' ); ?></span>
1196 </div>
1197
1198 <div class="sui-box-settings-col-2">
1199 <div id="cdn-zones" class="sui-form-field">
1200 <?php
1201 if ( empty( $settings['cdn_hostname'] ) ) {
1202 $settings['cdn_hostname'] = [ '' ];
1203 }
1204
1205 if ( empty( $settings['cdn_zone'] ) ) {
1206 $settings['cdn_zone'] = [ '' ];
1207 }
1208 ?>
1209
1210 <?php foreach ( $settings['cdn_hostname'] as $key => $cdn ) : ?>
1211 <div id="cdn-zone-<?php echo absint( $key ); ?>" class="cdn-zone sui-form-field">
1212 <input id="cdn_hostname" value="<?php echo esc_attr( $cdn ); ?>" name="cdn_hostname[]" style="width: 300px" placeholder="cdn.example.org" class="cdn_hostname sui-form-control sui-input-md sui-field-has-suffix" aria-labelledby="label-unique-id">
1213 <span><?php esc_html_e( 'for', 'powered-cache' ); ?></span>
1214 <span class="sui-field-suffix" style="width: 120px">
1215 <div class="sui-form-field sui-input-md">
1216 <select id="cdn_zone" name="cdn_zone[]" class="sui-form-control cdn_zone">
1217 <?php foreach ( cdn_zones() as $zone => $zone_name ) : ?>
1218 <option <?php selected( $settings['cdn_zone'][ $key ], $zone ); ?> value="<?php echo esc_attr( $zone ); ?>"><?php echo esc_attr( $zone_name ); ?></option>
1219 <?php endforeach; ?>
1220 </select>
1221 </div>
1222 </span>
1223 <button role="button" type="button" class="remove_cdn_hostname sui-button-icon <?php echo( 0 === $key ? 'sui-hidden-important' : '' ); ?>">
1224 <span class="sui-icon-close" aria-hidden="true"></span>
1225 </button>
1226 </div>
1227 <?php endforeach; ?>
1228 </div>
1229
1230 <button role="button" type="button" class="add_cdn_hostname sui-button sui-button-blue sui-button-icon-right">
1231 <?php esc_html_e( 'Add Hostname', 'powered-cache' ); ?><i class="sui-icon-plus" aria-hidden="true"></i>
1232 </button>
1233
1234 </div>
1235 </div>
1236
1237 <div class="sui-box-settings-row">
1238 <div class="sui-box-settings-col-1">
1239 <span id="cdn_rejected_files_label" class="sui-settings-label"><?php esc_html_e( 'Rejected Files', 'powered-cache' ); ?></span>
1240 </div>
1241
1242 <div class="sui-box-settings-col-2">
1243 <div class="sui-row">
1244
1245 <div class="sui-col-md-8">
1246
1247 <div class="sui-form-field">
1248 <textarea
1249 placeholder="e.g /wp-content/themes/example/js/custom.js"
1250 id="cdn_rejected_files"
1251 name="cdn_rejected_files"
1252 class="sui-form-control"
1253 aria-labelledby="cdn_rejected_files_label"
1254 aria-describedby="cdn_rejected_files_description"
1255 rows="5"
1256 ><?php echo esc_textarea( $settings['cdn_rejected_files'] ); ?></textarea>
1257 <span id="cdn_rejected_files_description" class="sui-description">
1258 <?php esc_html_e( 'One URL per line. It can be full URL or absolute path.', 'powered-cache' ); ?>
1259 </span>
1260 </div>
1261 </div>
1262 </div>
1263 </div>
1264 </div>
1265
1266 </div>
1267 <div class="sui-box-footer">
1268 <div class="sui-actions-left">
1269 <button type="submit" name="powered_cache_form_action" value="save_settings" class="sui-button sui-button-blue">
1270 <i class="sui-icon-save" aria-hidden="true"></i>
1271 <?php esc_html_e( 'Update settings', 'powered-cache' ); ?>
1272 </button>
1273 </div>
1274 </div>
1275 </div>
1276
1277 <!-- TAB: Preload -->
1278 <div class="sui-box" id="preload" data-tab="preload" style="display: none;">
1279
1280 <div class="sui-box-header">
1281 <h2 class="sui-box-title"><?php esc_html_e( 'Preload', 'powered-cache' ); ?></h2>
1282 </div>
1283
1284 <div class="sui-box-body sui-upsell-items">
1285 <div id="preload_page_cache_warning_message" class="sui-notice sui-notice-warning" style="<?php echo( $settings['enable_page_cache'] ? 'display:none;' : '' ); ?> padding:10px 20px;margin-bottom:0;">
1286
1287 <div class="sui-notice-content">
1288 <div class="sui-notice-message">
1289 <span class="sui-notice-icon sui-icon-info sui-md" aria-hidden="true"></span>
1290 <p><?php esc_html_e( 'It seems page caching is not activated yet. Page caching needs to be enabled in order to get the advantage of preloading features!', 'powered-cache' ); ?></p>
1291 </div>
1292 </div>
1293 </div>
1294
1295 <div class="sui-box-settings-row">
1296
1297 <div class="sui-box-settings-col-1">
1298 <span class="sui-settings-label"><?php esc_html_e( 'Cache Preload', 'powered-cache' ); ?></span>
1299 <span class="sui-description">
1300 <?php esc_html_e( 'Preloading will visit pages based on the settings and generate cache, just like any other visitor to the site.', 'powered-cache' ); ?>
1301 (<a href="<?php echo esc_url( get_doc_url( '/enable-preloading/' ) ); ?>" target="_blank">?</a>)
1302 </span>
1303 </div>
1304
1305 <div class="sui-box-settings-col-2">
1306
1307 <div class="sui-form-field">
1308 <div class="sui-row">
1309 <label for="enable_cache_preload" class="sui-toggle">
1310 <input
1311 type="checkbox"
1312 id="enable_cache_preload"
1313 name="enable_cache_preload"
1314 aria-labelledby="enable_cache_preload_label"
1315 aria-describedby="enable_cache_preload_description"
1316 aria-controls="enable_cache_preload_description_details"
1317 value="1"
1318 <?php checked( 1, $settings['enable_cache_preload'] ); ?>
1319 >
1320
1321 <span class="sui-toggle-slider" aria-hidden="true"></span>
1322 <span id="enable_cache_preload_label" class="sui-toggle-label"><?php esc_html_e( 'Enable Preloading', 'powered-cache' ); ?></span>
1323 <span id="enable_cache_preload_description" class="sui-description"><?php esc_html_e( 'Activate preloading.', 'powered-cache' ); ?></span>
1324 </label>
1325 </div>
1326
1327 <div style=" <?php echo( ! $settings['enable_cache_preload'] ? 'display:none' : '' ); ?>" tabindex="0" id="enable_cache_preload_description_details">
1328
1329 <div class="sui-form-field">
1330
1331 <div class="sui-row">
1332 <label for="preload_homepage" class="sui-toggle">
1333 <input
1334 type="checkbox"
1335 id="preload_homepage"
1336 name="preload_homepage"
1337 aria-labelledby="preload_homepage_label"
1338 aria-describedby="preload_homepage_description"
1339 value="1"
1340 <?php checked( 1, $settings['preload_homepage'] ); ?>
1341 >
1342 <span class="sui-toggle-slider" aria-hidden="true"></span>
1343 <span id="preload_homepage_label" class="sui-toggle-label"><?php esc_html_e( 'Enable for homepage', 'powered-cache' ); ?></span>
1344 <span id="preload_homepage_description" class="sui-description"><?php esc_html_e( 'Preloads homepage.', 'powered-cache' ); ?></span>
1345 </label>
1346 </div>
1347
1348 <div class="sui-row">
1349 <label for="preload_public_posts" class="sui-toggle">
1350 <input
1351 type="checkbox"
1352 id="preload_public_posts"
1353 name="preload_public_posts"
1354 aria-labelledby="preload_public_posts_label"
1355 aria-describedby="preload_public_posts_description"
1356 value="1"
1357 <?php checked( 1, $settings['preload_public_posts'] ); ?>
1358 >
1359 <span class="sui-toggle-slider" aria-hidden="true"></span>
1360 <span id="preload_public_posts_label" class="sui-toggle-label"><?php esc_html_e( 'Enable for posts', 'powered-cache' ); ?></span>
1361 <span id="preload_public_posts_description" class="sui-description"><?php esc_html_e( 'Individual post pages will be preloaded. The public post types are supported.', 'powered-cache' ); ?></span>
1362 </label>
1363 </div>
1364
1365 <div class="sui-row">
1366 <label for="preload_public_tax" class="sui-toggle">
1367 <input
1368 type="checkbox"
1369 id="preload_public_tax"
1370 name="preload_public_tax"
1371 aria-labelledby="preload_public_tax_label"
1372 aria-describedby="preload_public_tax_description"
1373 value="1"
1374 <?php checked( 1, $settings['preload_public_tax'] ); ?>
1375 >
1376 <span class="sui-toggle-slider" aria-hidden="true"></span>
1377 <span id="preload_public_tax_label" class="sui-toggle-label"><?php esc_html_e( 'Enable for public taxonomies', 'powered-cache' ); ?></span>
1378 <span id="preload_public_tax_description" class="sui-description"><?php esc_html_e( 'Preload archive pages of taxonomies. (tags, category etc..)', 'powered-cache' ); ?></span>
1379 </label>
1380 </div>
1381 </div>
1382
1383 </div>
1384 </div>
1385 </div>
1386 </div>
1387
1388 <!-- Sitemap preloading settings sui-disabled add to box -->
1389 <div id="enable_sitemap_preload_wrapper" style=" <?php echo( ! $settings['enable_cache_preload'] ? 'display:none' : '' ); ?>" tabindex="0">
1390 <div class="sui-box-settings-row <?php echo( ! is_premium() ? 'sui-disabled' : '' ); ?>">
1391 <div class="sui-box-settings-col-1">
1392 <span class="sui-settings-label"><?php esc_html_e( 'Sitemap Preloading', 'powered-cache' ); ?>
1393 <?php if ( ! is_premium() ) : ?>
1394 <span class="sui-tag sui-tag-pro"><?php esc_html_e( 'Premium', 'powered-cache' ); ?></span>
1395 <?php endif; ?>
1396 </span>
1397 <span class="sui-description"><?php esc_html_e( 'Preloads sitemaps and the URLs placed in sitemaps.', 'powered-cache' ); ?></span>
1398
1399 </div>
1400
1401 <div class="sui-box-settings-col-2">
1402 <div class="sui-row">
1403 <label for="enable_sitemap_preload" class="sui-toggle">
1404 <input
1405 type="checkbox"
1406 id="enable_sitemap_preload"
1407 name="enable_sitemap_preload"
1408 aria-labelledby="enable_sitemap_preload_label"
1409 aria-describedby="enable_sitemap_preload_description"
1410 aria-controls="sitemap-preload-details"
1411 value="1"
1412 <?php checked( 1, $settings['enable_sitemap_preload'] ); ?>
1413 >
1414 <span class="sui-toggle-slider" aria-hidden="true"></span>
1415 <span id="enable_sitemap_preload_label" class="sui-toggle-label"><?php esc_html_e( 'Enable Sitemap Preloading', 'powered-cache' ); ?></span>
1416 <span id="enable_sitemap_preload_description" class="sui-description"><?php esc_html_e( 'We automatically detect sitemaps generated by Yoast SEO, All-in-one-SEO, Rank Math SEO, SEOPress.', 'powered-cache' ); ?></span>
1417 </label>
1418 </div>
1419
1420 <div class="sui-row">
1421 <div class="sui-col-md-8">
1422 <div class="sui-form-field">
1423 <label for="preload_sitemap" class="sui-label"><i><?php esc_html_e( 'Enter sitemap URLs (one per line)', 'powered-cache' ); ?></i></label>
1424 <textarea
1425 placeholder="http://example.com/sitemap.xml"
1426 id="preload_sitemap"
1427 name="preload_sitemap"
1428 class="sui-form-control"
1429 aria-describedby="preload_sitemap_description"
1430 rows="7"
1431 ><?php echo esc_textarea( $settings['preload_sitemap'] ); ?></textarea>
1432 <span id="preload_sitemap_description" class="sui-description">
1433 <?php esc_html_e( 'Preload the urls in listed sitemaps.', 'powered-cache' ); ?>
1434 (<a href="<?php echo esc_url( get_doc_url( '/sitemap-preloading/' ) ); ?>" target="_blank">?</a>)
1435 </span>
1436 </div>
1437
1438 </div>
1439 </div>
1440 </div>
1441 </div>
1442 </div>
1443
1444 <!-- DNS Prefetch settings -->
1445 <div class="sui-box-settings-row">
1446 <div class="sui-box-settings-col-1">
1447 <span class="sui-settings-label"><?php esc_html_e( 'Prefetch DNS', 'powered-cache' ); ?></span>
1448 <span class="sui-description"><?php esc_html_e( 'DNS-prefetch is an attempt to resolve domain names before resources get requested.', 'powered-cache' ); ?></span>
1449 </div>
1450
1451 <div class="sui-box-settings-col-2">
1452 <div class="sui-row">
1453 <div class="sui-col-md-8">
1454 <div class="sui-form-field">
1455 <label for="prefetch_dns" class="sui-label"><i><?php esc_html_e( 'Enter external hosts to be prefetched (one per line)', 'powered-cache' ); ?></i></label>
1456 <textarea
1457 placeholder="//fonts.googleapis.com"
1458 id="prefetch_dns"
1459 name="prefetch_dns"
1460 class="sui-form-control"
1461 aria-describedby="prefetch_dns_description"
1462 rows="7"
1463 ><?php echo esc_textarea( $settings['prefetch_dns'] ); ?></textarea>
1464 <span id="prefetch_dns_description" class="sui-description">
1465 <?php esc_html_e( 'DNS-prefetch would reduce DNS lookup time.', 'powered-cache' ); ?>
1466 (<a href="<?php echo esc_url( get_doc_url( '/prefetch-dns/' ) ); ?>" target="_blank">?</a>)
1467 </span>
1468 </div>
1469 </div>
1470 </div>
1471 </div>
1472
1473 </div>
1474 <div class="sui-box-settings-row">
1475 <div class="sui-box-settings-col-1">
1476 <span class="sui-settings-label"><?php esc_html_e( 'Preconnect', 'powered-cache' ); ?></span>
1477 <span class="sui-description"><?php esc_html_e( 'Preconnect is used to indicate an origin that will be used to fetch required resources. It initializes an early connection, which includes the DNS lookup, TCP handshake, and optional TLS negotiation.', 'powered-cache' ); ?></span>
1478 </div>
1479
1480 <div class="sui-box-settings-col-2">
1481 <div class="sui-row">
1482 <div class="sui-col-md-8">
1483 <div class="sui-form-field">
1484 <label for="preconnect_resource" class="sui-label"><i><?php esc_html_e( 'Enter external hosts to be preconnected (one per line)', 'powered-cache' ); ?></i></label>
1485 <textarea
1486 placeholder="https://fonts.googleapis.com"
1487 id="preconnect_resource"
1488 name="preconnect_resource"
1489 class="sui-form-control"
1490 aria-describedby="preconnect_resource_description"
1491 rows="7"
1492 ><?php echo esc_textarea( $settings['preconnect_resource'] ); ?></textarea>
1493 <span id="preconnect_resource_description" class="sui-description">
1494 <?php esc_html_e( 'The preconnect hint is best used for only the most critical connections.', 'powered-cache' ); ?>
1495 (<a href="<?php echo esc_url( get_doc_url( '/preconnect-resources/' ) ); ?>" target="_blank">?</a>)
1496 </span>
1497 </div>
1498 </div>
1499 </div>
1500 </div>
1501
1502
1503 </div>
1504
1505
1506
1507
1508 </div>
1509 <div class="sui-box-footer">
1510 <div class="sui-actions-left">
1511 <button type="submit" name="powered_cache_form_action" value="save_settings" class="sui-button sui-button-blue">
1512 <i class="sui-icon-save" aria-hidden="true"></i>
1513 <?php esc_html_e( 'Update settings', 'powered-cache' ); ?>
1514 </button>
1515 </div>
1516 </div>
1517 </div>
1518
1519 <!-- TAB: Dashed -->
1520 <div id="db-optimization" data-tab="db-optimization" style="display: none;">
1521 <div class="box-advanced-db sui-box">
1522 <?php $db_info = \PoweredCache\Async\DatabaseOptimizer::get_db_cleanup_counts(); ?>
1523 <div class="sui-box-header">
1524 <h2 class="sui-box-title"><?php esc_html_e( 'Database Optimization', 'powered-cache' ); ?></h2>
1525 </div>
1526
1527 <div class="sui-box-body">
1528
1529 <?php if ( POWERED_CACHE_IS_NETWORK && wp_is_large_network() ) : ?>
1530 <div class="sui-notice sui-notice-red">
1531 <div class="sui-notice-content">
1532 <div class="sui-notice-message">
1533 <span class="sui-notice-icon sui-icon-info sui-md" aria-hidden="true"></span>
1534 <p><?php esc_html_e( 'It seems Powered Cache has been enabled on a large multisite network. Cleanup counts might be slightly different from than actual value due to the volume of the sites in the network.', 'powered-cache' ); ?></p>
1535 </div>
1536 </div>
1537 </div>
1538 <?php endif; ?>
1539
1540 <div class="sui-box-settings-row">
1541 <div class="sui-box-settings-col-1">
1542 <span class="sui-settings-label"><?php esc_html_e( 'Post Cleanup', 'powered-cache' ); ?></span>
1543 </div>
1544
1545 <div class="sui-box-settings-col-2">
1546 <div class="sui-row">
1547 <div class="sui-form-field">
1548 <label for="db_cleanup_post_revisions" class="sui-toggle">
1549 <input
1550 type="checkbox"
1551 id="db_cleanup_post_revisions"
1552 name="db_cleanup_post_revisions"
1553 aria-labelledby="db_cleanup_post_revisions_label"
1554 aria-describedby="db_cleanup_post_revisions_description"
1555 value="1"
1556 <?php checked( 1, $settings['db_cleanup_post_revisions'] ); ?>
1557 >
1558 <span class="sui-toggle-slider" aria-hidden="true"></span>
1559 <span id="db_cleanup_post_revisions_label" class="sui-toggle-label"><?php esc_html_e( 'Post Revisions', 'powered-cache' ); ?>
1560 <span class="sui-tooltip sui-tooltip-constrained" data-tooltip="<?php esc_html_e( 'Delete post revisions.', 'powered-cache' ); ?>">
1561 <i class="sui-icon-info" aria-hidden="true"></i>
1562 </span>
1563 </span>
1564 <span id="db_cleanup_post_revisions_description" class="sui-description"><?php printf( esc_html__( '%s revisions in database', 'powered-cache' ), absint( $db_info['db_cleanup_post_revisions'] ) ); ?></span>
1565 </label>
1566 </div>
1567 </div>
1568
1569 <div class="sui-row">
1570 <div class="sui-form-field">
1571 <label for="db_cleanup_auto_drafts" class="sui-toggle">
1572 <input
1573 type="checkbox"
1574 id="db_cleanup_auto_drafts"
1575 name="db_cleanup_auto_drafts"
1576 aria-labelledby="db_cleanup_auto_drafts_label"
1577 aria-describedby="db_cleanup_auto_drafts_description"
1578 value="1"
1579 <?php checked( 1, $settings['db_cleanup_auto_drafts'] ); ?>
1580 >
1581 <span class="sui-toggle-slider" aria-hidden="true"></span>
1582 <span id="db_cleanup_auto_drafts_label" class="sui-toggle-label"><?php esc_html_e( 'Auto Drafts', 'powered-cache' ); ?>
1583 <span class="sui-tooltip sui-tooltip-constrained" data-tooltip="<?php esc_html_e( 'Delete auto-draft posts.', 'powered-cache' ); ?>">
1584 <i class="sui-icon-info" aria-hidden="true"></i>
1585 </span>
1586 </span>
1587 <span id="db_cleanup_auto_drafts_description" class="sui-description"><?php printf( esc_html__( '%s auto-draft in database', 'powered-cache' ), absint( $db_info['db_cleanup_auto_drafts'] ) ); ?></span>
1588 </label>
1589 </div>
1590 </div>
1591
1592 <div class="sui-row">
1593 <div class="sui-form-field">
1594 <label for="db_cleanup_trashed_posts" class="sui-toggle">
1595 <input
1596 type="checkbox"
1597 id="db_cleanup_trashed_posts"
1598 name="db_cleanup_trashed_posts"
1599 aria-labelledby="db_cleanup_trashed_posts_label"
1600 aria-describedby="db_cleanup_trashed_posts_description"
1601 value="1"
1602 <?php checked( 1, $settings['db_cleanup_trashed_posts'] ); ?>
1603 >
1604 <span class="sui-toggle-slider" aria-hidden="true"></span>
1605 <span id="db_cleanup_trashed_posts_label" class="sui-toggle-label"><?php esc_html_e( 'Trashed Posts', 'powered-cache' ); ?>
1606 <span class="sui-tooltip sui-tooltip-constrained" data-tooltip="<?php esc_html_e( 'Permanently delete trashed posts.', 'powered-cache' ); ?>">
1607 <i class="sui-icon-info" aria-hidden="true"></i>
1608 </span>
1609 </span>
1610 <span id="db_cleanup_trashed_posts_description" class="sui-description"><?php printf( esc_html__( '%s trashed post in database', 'powered-cache' ), absint( $db_info['db_cleanup_trashed_posts'] ) ); ?></span>
1611 </label>
1612 </div>
1613 </div>
1614
1615 </div>
1616 </div>
1617 <div class="sui-box-settings-row">
1618 <div class="sui-box-settings-col-1">
1619 <span class="sui-settings-label"><?php esc_html_e( 'Comments Cleanup', 'powered-cache' ); ?></span>
1620 </div>
1621
1622 <div class="sui-box-settings-col-2">
1623 <div class="sui-row">
1624 <div class="sui-form-field">
1625 <label for="db_cleanup_spam_comments" class="sui-toggle">
1626 <input
1627 type="checkbox"
1628 id="db_cleanup_spam_comments"
1629 name="db_cleanup_spam_comments"
1630 aria-labelledby="db_cleanup_spam_comments_label"
1631 aria-describedby="db_cleanup_spam_comments_description"
1632 value="1"
1633 <?php checked( 1, $settings['db_cleanup_spam_comments'] ); ?>
1634 >
1635 <span class="sui-toggle-slider" aria-hidden="true"></span>
1636 <span id="db_cleanup_spam_comments_label" class="sui-toggle-label"><?php esc_html_e( 'Spam Comments', 'powered-cache' ); ?>
1637 <span class="sui-tooltip sui-tooltip-constrained" data-tooltip="<?php esc_html_e( 'Comments marked as spam that haven\'t been deleted yet.', 'powered-cache' ); ?>">
1638 <i class="sui-icon-info" aria-hidden="true"></i>
1639 </span>
1640 </span>
1641 <span id="db_cleanup_spam_comments_description" class="sui-description"><?php printf( esc_html__( '%s spam comment in database', 'powered-cache' ), absint( $db_info['db_cleanup_spam_comments'] ) ); ?></span>
1642 </label>
1643 </div>
1644 </div>
1645 <div class="sui-row">
1646 <div class="sui-form-field">
1647 <label for="db_cleanup_trashed_comments" class="sui-toggle">
1648 <input
1649 type="checkbox"
1650 id="db_cleanup_trashed_comments"
1651 name="db_cleanup_trashed_comments"
1652 aria-labelledby="db_cleanup_trashed_comments_label"
1653 aria-describedby="db_cleanup_trashed_comments_description"
1654 value="1"
1655 <?php checked( 1, $settings['db_cleanup_trashed_comments'] ); ?>
1656 >
1657 <span class="sui-toggle-slider" aria-hidden="true"></span>
1658 <span id="db_cleanup_trashed_comments_label" class="sui-toggle-label"><?php esc_html_e( 'Trashed Comments', 'powered-cache' ); ?>
1659 <span class="sui-tooltip sui-tooltip-constrained" data-tooltip="<?php esc_html_e( 'Permanently delete trashed comments.', 'powered-cache' ); ?>">
1660 <i class="sui-icon-info" aria-hidden="true"></i>
1661 </span>
1662 </span>
1663 <span id="db_cleanup_trashed_comments_description" class="sui-description"><?php printf( esc_html__( '%s trashed comment in database', 'powered-cache' ), absint( $db_info['db_cleanup_trashed_comments'] ) ); ?></span>
1664 </label>
1665 </div>
1666 </div>
1667 </div>
1668 </div>
1669 <div class="sui-box-settings-row">
1670 <div class="sui-box-settings-col-1">
1671 <span class="sui-settings-label"><?php esc_html_e( 'Transients Cleanup', 'powered-cache' ); ?></span>
1672 </div>
1673
1674 <div class="sui-box-settings-col-2">
1675 <div class="sui-row">
1676 <div class="sui-form-field">
1677 <label for="db_cleanup_expired_transients" class="sui-toggle">
1678 <input
1679 type="checkbox"
1680 id="db_cleanup_expired_transients"
1681 name="db_cleanup_expired_transients"
1682 aria-labelledby="db_cleanup_expired_transients_label"
1683 aria-describedby="db_cleanup_expired_transients_description"
1684 value="1"
1685 <?php checked( 1, $settings['db_cleanup_expired_transients'] ); ?>
1686 >
1687 <span class="sui-toggle-slider" aria-hidden="true"></span>
1688 <span id="db_cleanup_expired_transients_label" class="sui-toggle-label"><?php esc_html_e( 'Expired Transients', 'powered-cache' ); ?>
1689 <span class="sui-tooltip sui-tooltip-constrained" data-tooltip="<?php esc_html_e( 'Permanently delete expired transients.', 'powered-cache' ); ?>">
1690 <i class="sui-icon-info" aria-hidden="true"></i>
1691 </span>
1692 </span>
1693 <span id="db_cleanup_expired_transients_description" class="sui-description"><?php printf( esc_html__( '%s expired transient in database', 'powered-cache' ), absint( $db_info['db_cleanup_expired_transients'] ) ); ?></span>
1694 </label>
1695 </div>
1696
1697 </div>
1698 <div class="sui-row">
1699 <div class="sui-form-field">
1700 <label for="db_cleanup_all_transients" class="sui-toggle">
1701 <input
1702 type="checkbox"
1703 id="db_cleanup_all_transients"
1704 name="db_cleanup_all_transients"
1705 aria-labelledby="db_cleanup_all_transients_label"
1706 aria-describedby="db_cleanup_all_transients_description"
1707 value="1"
1708 <?php checked( 1, $settings['db_cleanup_all_transients'] ); ?>
1709 >
1710 <span class="sui-toggle-slider" aria-hidden="true"></span>
1711 <span id="db_cleanup_all_transients_label" class="sui-toggle-label"><?php esc_html_e( 'All Transients', 'powered-cache' ); ?>
1712 <span class="sui-tooltip sui-tooltip-constrained" data-tooltip="<?php esc_html_e( 'Permanently delete all transients.', 'powered-cache' ); ?>">
1713 <i class="sui-icon-info" aria-hidden="true"></i>
1714 </span>
1715 </span>
1716 <span id="db_cleanup_all_transients_description" class="sui-description"><?php printf( esc_html__( '%s transient in database', 'powered-cache' ), absint( $db_info['db_cleanup_all_transients'] ) ); ?></span>
1717 </label>
1718 </div>
1719 </div>
1720
1721 </div>
1722 </div>
1723 <div class="sui-box-settings-row">
1724 <div class="sui-box-settings-col-1">
1725 <span class="sui-settings-label"><?php esc_html_e( 'Database Optimize', 'powered-cache' ); ?></span>
1726 </div>
1727
1728 <div class="sui-box-settings-col-2">
1729 <div class="sui-row">
1730 <div class="sui-form-field">
1731 <label for="db_cleanup_optimize_tables" class="sui-toggle">
1732 <input
1733 type="checkbox"
1734 id="db_cleanup_optimize_tables"
1735 name="db_cleanup_optimize_tables"
1736 aria-labelledby="db_cleanup_optimize_tables_label"
1737 aria-describedby="db_cleanup_optimize_tables_description"
1738 value="1"
1739 <?php checked( 1, $settings['db_cleanup_optimize_tables'] ); ?>
1740 >
1741 <span class="sui-toggle-slider" aria-hidden="true"></span>
1742 <span id="db_cleanup_optimize_tables_label" class="sui-toggle-label"><?php esc_html_e( 'Optimize Tables', 'powered-cache' ); ?>
1743 <span class="sui-tooltip sui-tooltip-constrained" data-tooltip="<?php esc_html_e( 'Reduces overhead of database tables.', 'powered-cache' ); ?>">
1744 <i class="sui-icon-info" aria-hidden="true"></i>
1745 </span>
1746 </span>
1747 <span id="db_cleanup_optimize_tables_description" class="sui-description"><?php printf( esc_html__( '%s tables to optimize', 'powered-cache' ), absint( $db_info['db_cleanup_optimize_tables'] ) ); ?></span>
1748 </label>
1749 </div>
1750 </div>
1751
1752 </div>
1753 </div>
1754 <div class="sui-box-settings-row <?php echo( ! is_premium() ? 'sui-disabled' : '' ); ?>">
1755 <div class="sui-box-settings-col-1">
1756 <span class="sui-settings-label"><?php esc_html_e( 'Schedule Cleanups', 'powered-cache' ); ?>
1757 <?php if ( ! is_premium() ) : ?>
1758 <span class="sui-tag sui-tag-pro"><?php esc_html_e( 'Premium', 'powered-cache' ); ?></span>
1759 <?php endif; ?>
1760 </span>
1761 <span class="sui-description">
1762 <?php esc_html_e( 'Schedule Powered Cache to automatically clean your database daily, weekly or monthly.', 'powered-cache' ); ?>
1763 </span>
1764 </div><!-- end col-third -->
1765
1766 <div class="sui-box-settings-col-2">
1767 <div class="sui-form-field">
1768 <label for="enable_scheduled_db_cleanup" class="sui-toggle">
1769 <input
1770 type="checkbox"
1771 id="enable_scheduled_db_cleanup"
1772 name="enable_scheduled_db_cleanup"
1773 aria-labelledby="enable_scheduled_db_cleanup_label"
1774 value="1"
1775 aria-controls="scheduled_db_cleanup_details"
1776 <?php checked( 1, $settings['enable_scheduled_db_cleanup'] ); ?>
1777 >
1778 <span class="sui-toggle-slider" aria-hidden="true"></span>
1779 <span id="scheduled_cleanup-label" class="sui-toggle-label"><?php esc_html_e( 'Enabled scheduled cleanups', 'powered-cache' ); ?></span>
1780 </label>
1781
1782 <div id="scheduled_db_cleanup_details" class="sui-border-frame with-padding schedule-box" style="<?php echo( ! $settings['enable_scheduled_db_cleanup'] ? 'display:none' : '' ); ?>">
1783 <div class="sui-form-field">
1784
1785 <label class="sui-label" for="scheduled_db_cleanup_frequency"><?php esc_html_e( 'Frequency', 'powered-cache' ); ?></label>
1786
1787 <select id="scheduled_db_cleanup_frequency" name="scheduled_db_cleanup_frequency" class="sui-select">
1788 <?php foreach ( scheduled_cleanup_frequency_options() as $frequency => $frequency_name ) : ?>
1789 <option <?php selected( $settings['scheduled_db_cleanup_frequency'], $frequency ); ?> value="<?php echo esc_attr( $frequency ); ?>"><?php echo esc_html( $frequency_name ); ?></option>
1790 <?php endforeach; ?>
1791 </select>
1792 </div>
1793 </div>
1794 </div>
1795 </div>
1796 </div>
1797 <?php if ( ! is_premium() ) : ?>
1798 <div class="sui-box-settings-row sui-upsell-row">
1799 <div class="sui-upsell-notice">
1800 <p>
1801 <?php esc_html_e( 'Regular cleanups of your database ensures you’re regularly removing extra bloat which can slow down your host server. Upgrade to Premium to unlock this feature today!', 'powered-cache' ); ?>
1802 <br>
1803 <a href="https://poweredcache.com/?utm_source=poweredcache&amp;utm_medium=plugin&amp;utm_campaign=dbcleanup_schedule_upgrade_button" target="_blank">
1804 <?php esc_html_e( 'Learn More', 'powered-cache' ); ?>
1805 </a>
1806 </p>
1807 </div>
1808 </div>
1809 <?php endif; ?>
1810 </div>
1811 <div class="sui-box-footer">
1812
1813 <div class="sui-actions-left">
1814 <button type="submit" name="powered_cache_form_action" value="save_settings_and_optimize" class="sui-button sui-button-blue" id="powered-cache-save-settings-db-optimize">
1815 <i class="sui-icon-save" aria-hidden="true"></i>
1816 <?php esc_html_e( 'Save settings and Optimize', 'powered-cache' ); ?>
1817 </button>
1818 <span class="sui-tag sui-tag-yellow"><?php esc_html_e( 'Tip: Make sure you have a current backup before running a cleanup.', 'powered-cache' ); ?></span>
1819
1820 </div>
1821
1822 </div>
1823 </div>
1824 </div>
1825
1826 <!-- TAB: Dashed -->
1827 <div id="extensions" data-tab="extensions" style="display: none;">
1828 <div class="sui-row">
1829 <div class="sui-col-lg-6">
1830 <div id="extension-cloudflare" class="powered-cache-extension-box sui-box">
1831 <div class="sui-box-header">
1832 <h3 class="sui-box-title"><?php esc_html_e( 'Cloudflare', 'powered-cache' ); ?></h3>
1833 <div class="sui-actions-right">
1834 <div class="sui-form-field">
1835 <label for="enable_cloudflare" class="sui-toggle">
1836 <input
1837 type="checkbox"
1838 id="enable_cloudflare"
1839 name="enable_cloudflare"
1840 aria-labelledby="enable_cloudflare_label"
1841 value="1"
1842 aria-controls="cloudflare-details"
1843 <?php checked( 1, $settings['enable_cloudflare'] ); ?>
1844 >
1845 <span class="sui-toggle-slider" aria-hidden="true"></span>
1846 <span id="enable_cloudflare_label" class="sui-toggle-label"><?php esc_html_e( 'Enable', 'powered-cache' ); ?></span>
1847 </label>
1848 </div>
1849 </div>
1850 </div><!-- end sui-box-title -->
1851
1852 <div class="sui-box-body">
1853 <p><?php esc_html_e( 'Cloudflare extension for PoweredCache. It allows to purge Cloudflare cache within WordPress.', 'powered-cache' ); ?></p>
1854 <div id="cloudflare-details" style="<?php echo( ! $settings['enable_cloudflare'] ? 'display:none' : '' ); ?>">
1855 <div class="sui-form-field">
1856
1857 <label for="cloudflare-email" id="cloudflare-email-label" class="sui-label"><?php esc_html_e( 'Cloudflare Email', 'powered-cache' ); ?></label>
1858 <input
1859 placeholder="john@example.com"
1860 name="cloudflare_email"
1861 value="<?php echo esc_attr( $settings['cloudflare_email'] ); ?>"
1862 id="cloudflare-email"
1863 class="sui-form-control"
1864 />
1865 </div>
1866
1867 <div class="sui-form-field">
1868
1869 <label for="cloudflare-api-key" id="cloudflare-api-key-label" class="sui-label"><?php esc_html_e( 'API Key', 'powered-cache' ); ?></label>
1870
1871 <input
1872 name="cloudflare_api_key"
1873 value="<?php echo esc_attr( $settings['cloudflare_api_key'] ); ?>"
1874 id="cloudflare-api-key"
1875 class="sui-form-control"
1876 type="password"
1877 />
1878 </div>
1879
1880 <div class="sui-form-field">
1881
1882 <label for="cloudflare-zone" id="cloudflare-zone-label" class="sui-label"><?php esc_html_e( 'Zone ID', 'powered-cache' ); ?></label>
1883
1884 <input
1885 name="cloudflare_zone"
1886 value="<?php echo esc_attr( $settings['cloudflare_zone'] ); ?>"
1887 id="cloudflare-zone"
1888 class="sui-form-control"
1889 />
1890 </div>
1891 </div>
1892 </div><!-- end box_content_class -->
1893 </div>
1894 </div>
1895 <div class="sui-col-lg-6">
1896 <div id="extension-heartbeat" class="powered-cache-extension-box sui-box">
1897 <div class="sui-box-header">
1898 <h3 class="sui-box-title"><?php esc_html_e( 'Heartbeat', 'powered-cache' ); ?></h3>
1899 <div class="sui-actions-right">
1900 <div class="sui-form-field">
1901 <label for="enable_heartbeat" class="sui-toggle">
1902 <input
1903 type="checkbox"
1904 id="enable_heartbeat"
1905 name="enable_heartbeat"
1906 aria-labelledby="enable_heartbeat_label"
1907 value="1"
1908 aria-controls="heartbeat-details"
1909 <?php checked( 1, $settings['enable_heartbeat'] ); ?>
1910 >
1911 <span class="sui-toggle-slider" aria-hidden="true"></span>
1912 <span id="enable_heartbeat_label" class="sui-toggle-label"><?php esc_html_e( 'Enable', 'powered-cache' ); ?></span>
1913 </label>
1914 </div>
1915 </div>
1916 </div><!-- end sui-box-title -->
1917
1918 <div class="sui-box-body">
1919 <p><?php esc_html_e( 'Heartbeat extension allows you to manage the frequency of the WordPress Heartbeat API.', 'powered-cache' ); ?></p>
1920 <div id="heartbeat-details" style="<?php echo( ! $settings['enable_heartbeat'] ? 'display:none' : '' ); ?>">
1921 <h4><?php esc_html_e( 'Dashboard', 'powered-cache' ); ?></h4>
1922
1923 <!-- start dashboard heartbeat -->
1924 <div class="sui-form-field" role="radiogroup">
1925 <label for="heartbeat-dashboard-enable" class="sui-radio">
1926 <input
1927 type="radio"
1928 name="heartbeat_dashboard_status"
1929 id="heartbeat-dashboard-enable"
1930 value="enable"
1931 class="heartbeat_radio"
1932 aria-controls="heartbeat-dashboard-interval-control"
1933 <?php checked( 'enable', $settings['heartbeat_dashboard_status'] ); ?>
1934 />
1935 <span aria-hidden="true"></span>
1936 <span id="heartbeat-dashboard-enable-label"><?php esc_html_e( 'Enable', 'powered-cache' ); ?></span>
1937 </label>
1938
1939 <label for="heartbeat-dashboard-disable" class="sui-radio">
1940 <input
1941 type="radio"
1942 name="heartbeat_dashboard_status"
1943 id="heartbeat-dashboard-disable"
1944 value="disable"
1945 class="heartbeat_radio"
1946 aria-controls="heartbeat-dashboard-interval-control"
1947 <?php checked( 'disable', $settings['heartbeat_dashboard_status'] ); ?>
1948 />
1949 <span aria-hidden="true"></span>
1950 <span id="heartbeat-dashboard-disable-label"><?php esc_html_e( 'Disable', 'powered-cache' ); ?></span>
1951 </label>
1952
1953 <label for="heartbeat-dashboard-modify" class="sui-radio">
1954 <input
1955 type="radio"
1956 name="heartbeat_dashboard_status"
1957 id="heartbeat-dashboard-modify"
1958 value="modify"
1959 aria-controls="heartbeat-dashboard-interval-control"
1960 class="heartbeat_radio"
1961 <?php checked( 'modify', $settings['heartbeat_dashboard_status'] ); ?>
1962 />
1963 <span aria-hidden="true"></span>
1964 <span id="heartbeat-dashboard-modify-label"><?php esc_html_e( 'Modify', 'powered-cache' ); ?></span>
1965 </label>
1966 </div>
1967 <div id="heartbeat-dashboard-interval-control" style="<?php echo( ! ( 'modify' === $settings['heartbeat_dashboard_status'] ) ? 'display:none' : '' ); ?>">
1968 <label for="heartbeat-dashboard" id="heartbeat-dashboard-label" class="sui-label"><?php esc_html_e( 'Heartbeat Interval for Dashboard', 'powered-cache' ); ?></label>
1969 <div class="sui-form-field">
1970 <input
1971 name="heartbeat_dashboard_interval"
1972 value="<?php echo esc_attr( $settings['heartbeat_dashboard_interval'] ); ?>"
1973 id="heartbeat_dashboard_interval"
1974 class="sui-form-control"
1975 type="number"
1976 min="15"
1977 max="120"
1978 />
1979 </div>
1980 </div>
1981 <!-- end dashboard heartbeat -->
1982
1983 <h4><?php esc_html_e( 'Post Editor', 'powered-cache' ); ?></h4>
1984
1985 <!-- start post editor heartbeat -->
1986 <div class="sui-form-field" role="radiogroup">
1987 <label for="heartbeat-editor-enable" class="sui-radio">
1988 <input
1989 type="radio"
1990 name="heartbeat_editor_status"
1991 id="heartbeat-editor-enable"
1992 value="enable"
1993 class="heartbeat_radio"
1994 aria-controls="heartbeat-editor-interval-control"
1995 <?php checked( 'enable', $settings['heartbeat_editor_status'] ); ?>
1996
1997 />
1998 <span aria-hidden="true"></span>
1999 <span id="heartbeat-editor-enable-label"><?php esc_html_e( 'Enable', 'powered-cache' ); ?></span>
2000 </label>
2001
2002 <label for="heartbeat-editor-disable" class="sui-radio">
2003 <input
2004 type="radio"
2005 name="heartbeat_editor_status"
2006 id="heartbeat-editor-disable"
2007 value="disable"
2008 class="heartbeat_radio"
2009 aria-controls="heartbeat-editor-interval-control"
2010 <?php checked( 'disable', $settings['heartbeat_editor_status'] ); ?>
2011
2012 />
2013 <span aria-hidden="true"></span>
2014 <span id="heartbeat-editor-disable-label"><?php esc_html_e( 'Disable', 'powered-cache' ); ?></span>
2015 </label>
2016
2017 <label for="heartbeat-editor-modify" class="sui-radio">
2018 <input
2019 type="radio"
2020 name="heartbeat_editor_status"
2021 id="heartbeat-editor-modify"
2022 value="modify"
2023 aria-controls="heartbeat-editor-interval-control"
2024 class="heartbeat_radio"
2025 <?php checked( 'modify', $settings['heartbeat_editor_status'] ); ?>
2026
2027 />
2028 <span aria-hidden="true"></span>
2029 <span id="heartbeat-editor-modify-label"><?php esc_html_e( 'Modify', 'powered-cache' ); ?></span>
2030 </label>
2031 </div>
2032 <div id="heartbeat-editor-interval-control" style="<?php echo( ! ( 'modify' === $settings['heartbeat_editor_status'] ) ? 'display:none' : '' ); ?>">
2033 <label for="heartbeat-editor" id="heartbeat-editor-label" class="sui-label"><?php esc_html_e( 'Heartbeat Interval for Post Editor', 'powered-cache' ); ?></label>
2034 <div class="sui-form-field">
2035 <input
2036 name="heartbeat_editor_interval"
2037 value="<?php echo esc_attr( $settings['heartbeat_editor_interval'] ); ?>"
2038 id="heartbeat_editor_interval"
2039 class="sui-form-control"
2040 type="number"
2041 min="15"
2042 max="120"
2043 />
2044 </div>
2045 </div>
2046 <!-- end post editor heartbeat -->
2047
2048 <h4><?php esc_html_e( 'Frontend', 'powered-cache' ); ?></h4>
2049
2050 <!-- start frontend heartbeat -->
2051 <div class="sui-form-field" role="radiogroup">
2052 <label for="heartbeat-frontend-enable" class="sui-radio">
2053 <input
2054 type="radio"
2055 name="heartbeat_frontend_status"
2056 id="heartbeat-frontend-enable"
2057 value="enable"
2058 class="heartbeat_radio"
2059 aria-controls="heartbeat-frontend-interval-control"
2060 <?php checked( 'enable', $settings['heartbeat_frontend_status'] ); ?>
2061 />
2062 <span aria-hidden="true"></span>
2063 <span id="heartbeat-frontend-enable-label"><?php esc_html_e( 'Enable', 'powered-cache' ); ?></span>
2064 </label>
2065
2066 <label for="heartbeat-frontend-disable" class="sui-radio">
2067 <input
2068 type="radio"
2069 name="heartbeat_frontend_status"
2070 id="heartbeat-frontend-disable"
2071 value="disable"
2072 class="heartbeat_radio"
2073 aria-controls="heartbeat-frontend-interval-control"
2074 <?php checked( 'disable', $settings['heartbeat_frontend_status'] ); ?>
2075 />
2076 <span aria-hidden="true"></span>
2077 <span id="heartbeat-frontend-disable-label"><?php esc_html_e( 'Disable', 'powered-cache' ); ?></span>
2078 </label>
2079
2080 <label for="heartbeat-frontend-modify" class="sui-radio">
2081 <input
2082 type="radio"
2083 name="heartbeat_frontend_status"
2084 id="heartbeat-frontend-modify"
2085 value="modify"
2086 aria-controls="heartbeat-frontend-interval-control"
2087 class="heartbeat_radio"
2088 <?php checked( 'modify', $settings['heartbeat_frontend_status'] ); ?>
2089 />
2090 <span aria-hidden="true"></span>
2091 <span id="heartbeat-frontend-modify-label"><?php esc_html_e( 'Modify', 'powered-cache' ); ?></span>
2092 </label>
2093 </div>
2094
2095 <div id="heartbeat-frontend-interval-control" style="<?php echo( ! ( 'modify' === $settings['heartbeat_frontend_status'] ) ? 'display:none' : '' ); ?>">
2096 <label for="heartbeat-frontend" id="heartbeat-frontend-label" class="sui-label"><?php esc_html_e( 'Heartbeat Interval for Dashboard', 'powered-cache' ); ?></label>
2097 <div class="sui-form-field">
2098 <input
2099 name="heartbeat_frontend_interval"
2100 value="<?php echo esc_attr( $settings['heartbeat_frontend_interval'] ); ?>"
2101 id="heartbeat_frontend_interval"
2102 class="sui-form-control"
2103 type="number"
2104 min="15"
2105 max="120"
2106 />
2107 </div>
2108 </div>
2109 <!-- end frontend heartbeat -->
2110
2111 </div>
2112 </div><!-- end box_content_class -->
2113 </div>
2114 </div>
2115 </div>
2116 <div class="sui-row">
2117 <div class="sui-col-lg-6">
2118 <div id="extension-varnish" class="powered-cache-extension-box sui-box">
2119
2120 <div class="sui-box-header">
2121 <h3 class="sui-box-title"><?php esc_html_e( 'Varnish', 'powered-cache' ); ?></h3>
2122 <?php if ( ! is_premium() ) : ?>
2123 <div class="sui-actions-left">
2124 <span class="sui-tag sui-tag-pro"><?php esc_html_e( 'Premium', 'powered-cache' ); ?></span>
2125 </div>
2126 <?php endif; ?>
2127 <div class="sui-actions-right">
2128 <div class="sui-form-field">
2129 <label for="enable_varnish" class="sui-toggle">
2130 <input
2131 <?php echo( ! is_premium() ? 'disabled="disabled"' : '' ); ?>
2132 type="checkbox"
2133 id="enable_varnish"
2134 name="enable_varnish"
2135 aria-labelledby="enable_varnish_label"
2136 value="1"
2137 aria-controls="varnish_details"
2138 <?php checked( 1, $settings['enable_varnish'] ); ?>
2139 >
2140
2141 <span class="sui-toggle-slider" aria-hidden="true"></span>
2142 <span id="enable_varnish_label" class="sui-toggle-label"><?php esc_html_e( 'Enable', 'powered-cache' ); ?></span>
2143 </label>
2144 </div>
2145 </div>
2146 </div><!-- end sui-box-title -->
2147
2148 <div class="sui-box-body sui-upsell-items">
2149 <div class="sui-box-settings-row <?php echo( ! is_premium() ? 'sui-disabled' : '' ); ?>">
2150 <div class="sui-box-settings-col">
2151 <p><?php esc_html_e( 'Purge Varnish cache.It\'s recommended when you are using the Varnish server.', 'powered-cache' ); ?></p>
2152
2153 <div id="varnish_details" style="<?php echo( ! $settings['enable_varnish'] ? 'display:none' : '' ); ?>">
2154 <div class="sui-form-field">
2155
2156 <label for="varnish_ip" id="varnish-ip-label" class="sui-label"><?php esc_html_e( 'Varnish IP', 'powered-cache' ); ?></label>
2157
2158 <input
2159 placeholder="127.0.0.1"
2160 id="varnish_ip"
2161 name="varnish_ip"
2162 value="<?php echo esc_attr( $settings['varnish_ip'] ); ?>"
2163 class="sui-form-control"
2164 />
2165 </div>
2166 </div>
2167 </div>
2168
2169 </div>
2170 <?php if ( ! is_premium() ) : ?>
2171 <div class="sui-box-settings-row sui-upsell-row">
2172 <div class="sui-upsell-notice" style="padding-left: 0;">
2173 <p><?php esc_html_e( 'With our premium version of Powered Cache you can use Varnish extension and unlock some other speedbooster features.', 'powered-cache' ); ?><br>
2174 <button class="sui-button sui-button-purple" style="margin-top: 10px;"><?php esc_html_e( 'Try Premium today', 'powered-cache' ); ?></button>
2175 </p>
2176 </div>
2177 </div>
2178 <?php endif; ?>
2179 </div><!-- end box_content_class -->
2180
2181 </div><!-- end box-dashboard-performance-disabled -->
2182 </div>
2183
2184 <div class="sui-col-lg-6">
2185 <div id="extension-ga" class="powered-cache-extension-box sui-box">
2186 <div class="sui-box-header">
2187 <h3 class="sui-box-title"><?php esc_html_e( 'Google Tracking', 'powered-cache' ); ?></h3>
2188 <?php if ( ! is_premium() ) : ?>
2189 <div class="sui-actions-left">
2190 <span class="sui-tag sui-tag-pro"><?php esc_html_e( 'Premium', 'powered-cache' ); ?></span>
2191 </div>
2192 <?php endif; ?>
2193 <div class="sui-actions-right">
2194 <div class="sui-form-field">
2195 <label for="enable_google_tracking" class="sui-toggle">
2196 <input
2197 <?php echo( ! is_premium() ? 'disabled="disabled"' : '' ); ?>
2198 type="checkbox"
2199 id="enable_google_tracking"
2200 name="enable_google_tracking"
2201 aria-labelledby="enable_google_tracking_label"
2202 value="1"
2203 <?php checked( 1, $settings['enable_google_tracking'] ); ?>
2204 >
2205 <span class="sui-toggle-slider" aria-hidden="true"></span>
2206 <span id="enable_cloudflare_label" class="sui-toggle-label"><?php esc_html_e( 'Enable', 'powered-cache' ); ?></span>
2207 </label>
2208 </div>
2209 </div>
2210 </div><!-- end sui-box-title -->
2211
2212 <div class="sui-box-body sui-upsell-items">
2213 <div class="sui-box-settings-row <?php echo( ! is_premium() ? 'sui-disabled' : '' ); ?>">
2214 <div class="sui-box-settings-col">
2215 <p><?php esc_html_e( 'Powered Cache will host Google scripts on your server to help satisfy the PageSpeed recommendation for leverage browser caching.', 'powered-cache' ); ?></p>
2216 </div>
2217
2218 </div>
2219 <?php if ( ! is_premium() ) : ?>
2220 <div class="sui-box-settings-row sui-upsell-row">
2221 <div class="sui-upsell-notice" style="padding-left: 0;">
2222 <p><?php esc_html_e( 'With our premium version of Powered Cache you can use this extension and unlock some other speedbooster features.', 'powered-cache' ); ?><br>
2223 <button class="sui-button sui-button-purple" style="margin-top: 10px;"><?php esc_html_e( 'Try Premium today', 'powered-cache' ); ?></button>
2224 </p>
2225 </div>
2226 </div>
2227 <?php endif; ?>
2228 </div><!-- end box_content_class -->
2229
2230 </div>
2231 </div>
2232
2233 </div>
2234 <div class="sui-row">
2235 <div class="sui-col-lg-6">
2236 <div id="extension-fb-pixel" class="powered-cache-extension-box sui-box">
2237
2238 <div class="sui-box-header">
2239 <h3 class="sui-box-title"><?php esc_html_e( 'Facebook Tracking', 'powered-cache' ); ?></h3>
2240 <?php if ( ! is_premium() ) : ?>
2241 <div class="sui-actions-left">
2242 <span class="sui-tag sui-tag-pro"><?php esc_html_e( 'Premium', 'powered-cache' ); ?></span>
2243 </div>
2244 <?php endif; ?>
2245 <div class="sui-actions-right">
2246 <div class="sui-form-field">
2247 <label for="enable_fb_tracking" class="sui-toggle">
2248 <input
2249 <?php echo( ! is_premium() ? 'disabled="disabled"' : '' ); ?>
2250 type="checkbox"
2251 id="enable_fb_tracking"
2252 name="enable_fb_tracking"
2253 aria-labelledby="enable_fb_tracking_label"
2254 value="1"
2255 <?php checked( 1, $settings['enable_fb_tracking'] ); ?>
2256 >
2257
2258 <span class="sui-toggle-slider" aria-hidden="true"></span>
2259 <span id="enable_fb_tracking_label" class="sui-toggle-label"><?php esc_html_e( 'Enable', 'powered-cache' ); ?></span>
2260 </label>
2261 </div>
2262 </div>
2263 </div><!-- end sui-box-title -->
2264
2265 <div class="sui-box-body sui-upsell-items">
2266 <div class="sui-box-settings-row <?php echo( ! is_premium() ? 'sui-disabled' : '' ); ?>">
2267 <div class="sui-box-settings-col">
2268 <p><?php esc_html_e( 'Powered Cache will host FB js on your server to help satisfy the PageSpeed recommendation for leverage browser caching.', 'powered-cache' ); ?></p>
2269 </div>
2270
2271 </div>
2272 <?php if ( ! is_premium() ) : ?>
2273 <div class="sui-box-settings-row sui-upsell-row">
2274 <div class="sui-upsell-notice" style="padding-left: 0;">
2275 <p><?php esc_html_e( 'With our premium version of Powered Cache you can use this extension and unlock some other speedbooster features.', 'powered-cache' ); ?><br>
2276 <button class="sui-button sui-button-purple" style="margin-top: 10px;"><?php esc_html_e( 'Try Premium today', 'powered-cache' ); ?></button>
2277 </p>
2278 </div>
2279 </div>
2280 <?php endif; ?>
2281 </div><!-- end box_content_class -->
2282
2283 </div><!-- end box-dashboard-performance-disabled -->
2284 </div>
2285 </div>
2286
2287 </div>
2288
2289 <!-- TAB: Dashed -->
2290 <div class="sui-box" id="misc-settings" data-tab="misc-settings" style="display: none;">
2291
2292 <div class="sui-box-header">
2293 <h2 class="sui-box-title"><?php esc_html_e( 'Misc Settings', 'powered-cache' ); ?></h2>
2294 </div>
2295
2296 <div class="sui-box-body">
2297 <div class="sui-box-settings-row">
2298 <div class="sui-box-settings-col-1">
2299 <span class="sui-settings-label"><?php esc_html_e( 'Cache Footprint', 'powered-cache' ); ?></span>
2300 <span class="sui-description"></span>
2301 </div>
2302
2303 <div class="sui-box-settings-col-2">
2304 <div class="sui-form-field">
2305 <label for="cache_footprint" class="sui-toggle">
2306 <input
2307 type="checkbox"
2308 id="cache_footprint"
2309 name="cache_footprint"
2310 aria-labelledby="cache_footprint_label"
2311 aria-describedby="enable_cache_footprint_description"
2312 value="1"
2313 <?php checked( 1, $settings['cache_footprint'] ); ?>
2314 >
2315 <span class="sui-toggle-slider" aria-hidden="true"></span>
2316 <span id="enable_cache_footprint_label" class="sui-toggle-label"><?php esc_html_e( 'Show caching footprints in the HTML output.', 'powered-cache' ); ?></span>
2317 <span id="enable_cache_footprint_description" class="sui-description"><?php esc_html_e( 'Adds helpful informations to cached output.', 'powered-cache' ); ?></span>
2318 </label>
2319 </div>
2320 </div>
2321 </div>
2322 <?php if ( can_control_all_settings() ) : ?>
2323 <div class="sui-box-settings-row">
2324 <div class="sui-box-settings-col-1">
2325 <span class="sui-settings-label"><?php esc_html_e( 'Download Configuration', 'powered-cache' ); ?></span>
2326 <span class="sui-description"></span>
2327 </div>
2328
2329 <div class="sui-box-settings-col-2">
2330 <div class="sui-form-field">
2331 <a href="<?php echo esc_url_raw( wp_nonce_url( admin_url( 'admin-post.php?action=powered_cache_download_rewrite_settings&server=apache' ), 'powered_cache_download_rewrite' ) ); ?>" value="download_htaccess_configuration" class="sui-button sui-button-ghost sui-button-blue"><?php esc_html_e( '.htaccess configuration', 'powered-cache' ); ?></a>
2332 <a href="<?php echo esc_url_raw( wp_nonce_url( admin_url( 'admin-post.php?action=powered_cache_download_rewrite_settings&server=nginx' ), 'powered_cache_download_rewrite' ) ); ?>" value="download_nginx_configuration" class="sui-button sui-button-ghost sui-button-blue"><?php esc_html_e( 'nginx configuration', 'powered-cache' ); ?></a>
2333 </div>
2334 </div>
2335 </div>
2336 <?php endif; ?>
2337
2338 <div class="sui-box-settings-row">
2339 <div class="sui-box-settings-col-1">
2340 <span class="sui-settings-label"><?php esc_html_e( 'Reset All Settings', 'powered-cache' ); ?></span>
2341 <span class="sui-description"><?php esc_html_e( 'Fabric reset to plugin configuration', 'powered-cache' ); ?></span>
2342 </div>
2343
2344 <div class="sui-box-settings-col-2">
2345 <div class="sui-form-field">
2346 <button role="submit" name="powered_cache_form_action" value="reset_settings" class="sui-button sui-button-ghost sui-button-blue">
2347 <?php esc_html_e( 'Reset Settings', 'powered-cache' ); ?>
2348 </button>
2349
2350 </div>
2351 </div>
2352 </div>
2353 <?php if ( can_control_all_settings() ) : ?>
2354 <div class="sui-box-settings-row">
2355 <div class="sui-box-settings-col-1">
2356 <span class="sui-settings-label"><?php esc_html_e( 'Diagnostic', 'powered-cache' ); ?></span>
2357 <span class="sui-description"><?php esc_html_e( 'Configuration checker for caching', 'powered-cache' ); ?></span>
2358 </div>
2359
2360 <div class="sui-box-settings-col-2">
2361 <div class="sui-form-field">
2362 <button role="button" value="run_diognastic" data-modal-open="pcmodal--powered-cache-diagnostic" class="sui-button sui-button-ghost sui-button-blue" data-esc-close="true" data-modal-mask="true"><?php esc_html_e( 'Run Diagnostic', 'powered-cache' ); ?></button>
2363 </div>
2364 </div>
2365 </div>
2366 <?php endif; ?>
2367
2368
2369 <div class="sui-box-settings-row">
2370 <div class="sui-box-settings-col-1">
2371 <span class="sui-settings-label"><?php esc_html_e( 'Export', 'powered-cache' ); ?></span>
2372 <span class="sui-description"></span>
2373 </div>
2374
2375 <div class="sui-box-settings-col-2">
2376 <div class="sui-form-field">
2377 <button type="submit" role="button" name="powered_cache_form_action" value="export_settings" class="sui-button sui-button-ghost sui-button-blue"><?php esc_html_e( 'Download Settings', 'powered-cache' ); ?></button>
2378 </div>
2379 </div>
2380 </div>
2381
2382 <div class="sui-box-settings-row">
2383 <div class="sui-box-settings-col-1">
2384 <span class="sui-settings-label"><?php esc_html_e( 'Import', 'powered-cache' ); ?></span>
2385 <span class="sui-description"></span>
2386 </div>
2387
2388 <div class="sui-box-settings-col-2">
2389 <div class="sui-form-field">
2390 <div class="sui-upload" id="powered-cache-import-upload-wrap">
2391 <input id="powered-cache-import-file-input" class="powered-cache-file-input" name="import_file" type="file" value="" readonly="readonly" accept=".json">
2392 <label class="sui-upload-button" type="button" for="powered-cache-import-file-input">
2393 <span class="sui-icon-upload-cloud" aria-hidden="true"></span>
2394 <?php esc_html_e( 'Upload file', 'powered-cache' ); ?>
2395 </label>
2396 <div class="sui-upload-file">
2397 <span id="powered-cache-import-file-name"></span>
2398 <button type="button" id="powered-cache-import-remove-file" aria-label="Remove file">
2399 <span class="sui-icon-close" aria-hidden="true"></span>
2400 </button>
2401 </div>
2402
2403 <button role="button" id="powered-cache-import-btn" name="powered_cache_form_action" value="import_settings" style="margin-left: 10px;" class="sui-button sui-button-ghost sui-button-blue" disabled>
2404 <?php esc_html_e( 'Upload and Import', 'powered-cache' ); ?>
2405 </button>
2406
2407 </div>
2408 <span class="sui-description" style="margin-top: 10px;"><?php esc_html_e( 'Choose a JSON(.json) file to import the configuration.', 'powered-cache' ); ?></span>
2409 </div>
2410
2411 </div>
2412
2413 </div>
2414 </div>
2415
2416 </div>
2417
2418 <?php do_action( 'powered_cache_admin_page_after_settings_section' ); ?>
2419
2420 </section>
2421 </form>
2422
2423 <!-- ELEMENT: The Brand -->
2424 <div class="sui-footer">
2425 <?php
2426 echo wp_kses_post(
2427 sprintf(
2428 __( 'Made with <i class="sui-icon-heart"></i> by <a href="%s" rel="noopener" target="_blank">PoweredCache</a>', 'powered-cache' ),
2429 'https://poweredcache.com/'
2430 )
2431 );
2432 ?>
2433 </div>
2434
2435 <footer>
2436 <!-- ELEMENT: Navigation -->
2437 <ul class="sui-footer-nav">
2438 <li><a href="https://poweredcache.com/faq/" target="_blank"><?php esc_html_e( 'FAQ', 'powered-cache' ); ?></a></li>
2439 <li><a href="https://poweredcache.com/blog/" target="_blank"><?php esc_html_e( 'Blog', 'powered-cache' ); ?></a></li>
2440 <li><a href="https://poweredcache.com/changelog/" target="_blank"><?php esc_html_e( 'Changelog', 'powered-cache' ); ?></a></li>
2441 <li><a href="https://poweredcache.com/support/" target="_blank"><?php esc_html_e( 'Support', 'powered-cache' ); ?></a></li>
2442 </ul>
2443
2444 <!-- ELEMENT: Social Media -->
2445 <ul class="sui-footer-social">
2446 <li><a href="https://www.facebook.com/poweredcache" target="_blank">
2447 <i class="sui-icon-social-facebook" aria-hidden="true"></i>
2448 <span class="sui-screen-reader-text"><?php esc_html_e( 'Facebook', 'powered-cache' ); ?></span>
2449 </a></li>
2450 <li><a href="https://twitter.com/poweredcache" target="_blank">
2451 <i class="sui-icon-social-twitter" aria-hidden="true"></i></a>
2452 <span class="sui-screen-reader-text"><?php esc_html_e( 'Twitter', 'powered-cache' ); ?></span>
2453 </li>
2454 </ul>
2455 </footer>
2456
2457 <?php require 'modals.php'; ?>
2458 </main>
2459