Version Description
- Fix: Browser Cache issues with WooCommerce session
- Fix: Clearing Breeze rules from .htaccess upon deactivating of GZIP/Broswer Cache
- Fix: Regex fix for accepting source url's without quotes while enabling minifcation
- Add: FAQ section added
Download this release
Release Info
Developer | adeelkhan |
Plugin | Breeze – WordPress Cache Plugin |
Version | 1.0.4 |
Comparing to | |
See all releases |
Code changes from version 1.0.3-beta to 1.0.4
- assets/css/style.css +33 -0
- assets/js/breeze-configuration.js +5 -0
- breeze.php +1 -1
- inc/cache/ecommerce-cache.php +81 -122
- inc/cache/execute-cache.php +2 -2
- inc/minification/breeze-minification-scripts.php +2 -1
- readme.txt +8 -6
- views/breeze-setting-views.php +8 -8
- views/tabs/advanced.php +2 -0
- views/tabs/basic.php +2 -0
- views/tabs/cdn.php +4 -2
- views/tabs/database.php +3 -0
- views/tabs/faq.php +153 -0
- views/tabs/varnish.php +4 -2
assets/css/style.css
CHANGED
@@ -90,3 +90,36 @@ label.breeze_tool_tip{
|
|
90 |
vertical-align: middle !important;
|
91 |
}
|
92 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
90 |
vertical-align: middle !important;
|
91 |
}
|
92 |
|
93 |
+
.ui-accordion-header:after {
|
94 |
+
font-family: dashicons;
|
95 |
+
content: "\f347";
|
96 |
+
float: right;
|
97 |
+
}
|
98 |
+
.ui-accordion-header[aria-expanded='true']:after {
|
99 |
+
content: "\f343";
|
100 |
+
}
|
101 |
+
|
102 |
+
/*Style for FAQ tab*/
|
103 |
+
#faq-content {
|
104 |
+
margin: 20px;
|
105 |
+
}
|
106 |
+
|
107 |
+
.faq-block {
|
108 |
+
border: 1px solid;
|
109 |
+
border-color: #eee transparent;
|
110 |
+
padding-bottom: 10px;
|
111 |
+
}
|
112 |
+
|
113 |
+
.faq-question {
|
114 |
+
cursor: pointer;
|
115 |
+
margin: 0;
|
116 |
+
padding: 1em 0;
|
117 |
+
}
|
118 |
+
|
119 |
+
.faq-question:focus {
|
120 |
+
outline: none;
|
121 |
+
}
|
122 |
+
|
123 |
+
.faq-answer * {
|
124 |
+
font-size: 14px;
|
125 |
+
}
|
assets/js/breeze-configuration.js
CHANGED
@@ -51,4 +51,9 @@ jQuery(document).ready(function($){
|
|
51 |
|
52 |
setTabFromCookie();
|
53 |
|
|
|
|
|
|
|
|
|
|
|
54 |
});
|
51 |
|
52 |
setTabFromCookie();
|
53 |
|
54 |
+
$('#faq-content').accordion({
|
55 |
+
collapsible: true,
|
56 |
+
animate: 200,
|
57 |
+
header: '.faq-question'
|
58 |
+
});
|
59 |
});
|
breeze.php
CHANGED
@@ -2,7 +2,7 @@
|
|
2 |
/**
|
3 |
* Plugin Name: Breeze
|
4 |
* Description: Breeze is a WordPress cache plugin with extensive options to speed up your website. All the options including Varnish Cache are compatible with Cloudways hosting.
|
5 |
-
* Version: 1.0.
|
6 |
* Text Domain: breeze
|
7 |
* Domain Path: /languages
|
8 |
* Author: Cloudways
|
2 |
/**
|
3 |
* Plugin Name: Breeze
|
4 |
* Description: Breeze is a WordPress cache plugin with extensive options to speed up your website. All the options including Varnish Cache are compatible with Cloudways hosting.
|
5 |
+
* Version: 1.0.4
|
6 |
* Text Domain: breeze
|
7 |
* Domain Path: /languages
|
8 |
* Author: Cloudways
|
inc/cache/ecommerce-cache.php
CHANGED
@@ -36,7 +36,7 @@ class Breeze_Ecommerce_Cache {
|
|
36 |
}
|
37 |
Breeze_ConfigCache::write_config_cache();
|
38 |
}
|
39 |
-
if (!empty($check)
|
40 |
global $wp_filesystem;
|
41 |
if ( empty( $wp_filesystem ) ) {
|
42 |
require_once( ABSPATH . '/wp-admin/includes/file.php' );
|
@@ -47,160 +47,119 @@ class Breeze_Ecommerce_Cache {
|
|
47 |
}
|
48 |
}
|
49 |
|
50 |
-
|
51 |
-
|
|
|
|
|
52 |
$urls = array();
|
|
|
|
|
|
|
|
|
|
|
|
|
53 |
|
54 |
-
|
55 |
-
|
56 |
-
|
57 |
-
$
|
58 |
-
$urls = array_merge( $urls, $checkout_urls );
|
59 |
}
|
60 |
-
|
61 |
-
|
62 |
-
$urls =
|
|
|
|
|
63 |
}
|
64 |
|
65 |
-
if
|
66 |
-
$
|
67 |
-
|
|
|
68 |
}
|
|
|
|
|
|
|
|
|
69 |
}
|
70 |
-
return $urls;
|
71 |
-
}
|
72 |
|
73 |
-
|
74 |
-
* Check whether the plugin is active by checking the active_plugins list.
|
75 |
-
*/
|
76 |
-
public static function breeze_is_plugin_active( $plugin ) {
|
77 |
-
return in_array( $plugin, (array) get_option( 'active_plugins', array() ) ) || self::breeze_is_plugin_active_for_network( $plugin );
|
78 |
}
|
79 |
|
80 |
-
|
81 |
-
*
|
82 |
*/
|
83 |
-
public
|
84 |
-
|
85 |
-
return false;
|
86 |
-
}
|
87 |
|
88 |
-
$
|
89 |
-
|
90 |
-
|
|
|
|
|
91 |
}
|
92 |
|
93 |
-
return
|
94 |
}
|
95 |
|
96 |
-
|
97 |
-
|
98 |
-
|
99 |
-
* @param int $post_id Post ID
|
100 |
-
* @param string $post_type Post Type
|
101 |
-
* @param string $regex Regex to include at the end
|
102 |
-
* @return array $urls
|
103 |
-
*/
|
104 |
-
public function breeze_translated_post_urls( $post_id, $post_type = 'page', $regex = null ) {
|
105 |
-
$urls = array();
|
106 |
-
$permark_link = get_option('permalink_structure');
|
107 |
-
if(empty($permark_link)){
|
108 |
-
if(!empty($regex)){
|
109 |
-
$urls[]= get_permalink( $post_id ).'&'. $regex;
|
110 |
-
}else{
|
111 |
-
$urls[]= get_permalink( $post_id );
|
112 |
-
}
|
113 |
-
return $urls;
|
114 |
-
}
|
115 |
-
$path = parse_url( get_permalink( $post_id ), PHP_URL_PATH );
|
116 |
-
$langs = $this->get_all_languages();
|
117 |
-
if ( empty( $path ) ) {
|
118 |
-
return $urls;
|
119 |
-
}
|
120 |
|
121 |
-
|
122 |
-
|
123 |
-
|
124 |
-
|
125 |
-
|
126 |
-
|
|
|
|
|
|
|
|
|
|
|
127 |
|
128 |
-
|
129 |
-
|
130 |
-
|
131 |
-
|
132 |
-
$url = get_permalink( $post_id );
|
133 |
-
$urls[] = parse_url( get_permalink( $post_id ), PHP_URL_PATH ) . $regex;
|
134 |
-
|
135 |
-
foreach( $langs as $lang ) {
|
136 |
-
if ( self::breeze_is_plugin_active( 'qtranslate/qtranslate.php' ) ) {
|
137 |
-
$urls[] = parse_url( qtrans_convertURL( $url, $lang, true ), PHP_URL_PATH ) . $regex;
|
138 |
-
} else if ( self::breeze_is_plugin_active( 'qtranslate/qtranslate.php' ) ) {
|
139 |
-
$urls[] = parse_url( qtranxf_convertURL( $url, $lang, true ), PHP_URL_PATH ) . $regex;
|
140 |
}
|
141 |
}
|
142 |
}
|
143 |
|
144 |
-
// Polylang
|
145 |
-
if
|
146 |
-
|
147 |
-
$translations = pll_get_post_translations( $post_id );
|
148 |
-
} else if ( is_object( $GLOBALS['polylang']->model ) ) {
|
149 |
-
$translations = $GLOBALS['polylang']->model->get_translations( 'page', $post_id );
|
150 |
-
}
|
151 |
|
152 |
-
if
|
153 |
-
foreach (
|
154 |
-
$urls[] =
|
155 |
}
|
156 |
}
|
157 |
}
|
158 |
|
159 |
-
|
160 |
-
|
161 |
-
|
162 |
-
|
|
|
|
|
163 |
|
164 |
-
|
165 |
-
|
|
|
|
|
|
|
166 |
|
167 |
-
|
168 |
-
* Check if a translation plugin is activated
|
169 |
-
*
|
170 |
-
* @return bool True if a plugin is activated
|
171 |
-
*/
|
172 |
-
public static function check_trans_plugin() {
|
173 |
-
if ( self::breeze_is_plugin_active( 'sitepress-multilingual-cms/sitepress.php' ) // WPML
|
174 |
-
|| self::breeze_is_plugin_active( 'qtranslate/qtranslate.php' ) // qTranslate
|
175 |
-
|| self::breeze_is_plugin_active( 'qtranslate-x/qtranslate.php' ) // qTranslate-x
|
176 |
-
|| self::breeze_is_plugin_active( 'polylang/polylang.php' ) // Polylang
|
177 |
-
|| self::breeze_is_plugin_active( 'polylang-pro/polylang.php' ) ) { // Polylang Pro
|
178 |
-
return true;
|
179 |
}
|
180 |
|
181 |
-
return
|
182 |
}
|
183 |
-
/**
|
184 |
-
* Get info of all active languages
|
185 |
-
*
|
186 |
-
* @return array List of language code
|
187 |
-
*/
|
188 |
-
public static function get_all_languages() {
|
189 |
-
if( ! self::check_trans_plugin() ) {
|
190 |
-
return false;
|
191 |
-
}
|
192 |
-
|
193 |
-
if ( self::breeze_is_plugin_active( 'sitepress-multilingual-cms/sitepress.php' ) ) {
|
194 |
-
return array_keys( $GLOBALS['sitepress']->get_active_languages() );
|
195 |
-
}
|
196 |
|
197 |
-
|
198 |
-
|
199 |
-
|
200 |
-
|
201 |
-
|
202 |
-
return pll_languages_list();
|
203 |
-
}
|
204 |
}
|
205 |
|
206 |
public static function factory() {
|
36 |
}
|
37 |
Breeze_ConfigCache::write_config_cache();
|
38 |
}
|
39 |
+
if (!empty($check)) {
|
40 |
global $wp_filesystem;
|
41 |
if ( empty( $wp_filesystem ) ) {
|
42 |
require_once( ABSPATH . '/wp-admin/includes/file.php' );
|
47 |
}
|
48 |
}
|
49 |
|
50 |
+
/**
|
51 |
+
* Exclude pages of e-commerce from cache
|
52 |
+
*/
|
53 |
+
public function ecommerce_exclude_pages(){
|
54 |
$urls = array();
|
55 |
+
$regex = '*';
|
56 |
+
|
57 |
+
if(class_exists('WooCommerce') && function_exists('wc_get_page_id')){
|
58 |
+
$cardId = wc_get_page_id('cart');
|
59 |
+
$checkoutId = wc_get_page_id('checkout');
|
60 |
+
$myaccountId = wc_get_page_id('myaccount');
|
61 |
|
62 |
+
if($cardId > 0){
|
63 |
+
$urls[] = $this->get_basic_urls($cardId);
|
64 |
+
// Get url through multi-languages plugin
|
65 |
+
$urls = $this->get_translate_urls($urls, $cardId);
|
|
|
66 |
}
|
67 |
+
|
68 |
+
if($checkoutId > 0){
|
69 |
+
$urls[] = $this->get_basic_urls($checkoutId , $regex);
|
70 |
+
// Get url through multi-languages plugin
|
71 |
+
$urls = $this->get_translate_urls($urls, $checkoutId, $regex );
|
72 |
}
|
73 |
|
74 |
+
if($myaccountId > 0){
|
75 |
+
$urls[] = $this->get_basic_urls($myaccountId , $regex);
|
76 |
+
// Get url through multi-languages plugin
|
77 |
+
$urls = $this->get_translate_urls($urls, $myaccountId, $regex );
|
78 |
}
|
79 |
+
|
80 |
+
// Process urls to return
|
81 |
+
$urls = array_unique($urls);
|
82 |
+
$urls = array_map(array($this,'rtrim_urls'),$urls);
|
83 |
}
|
|
|
|
|
84 |
|
85 |
+
return $urls;
|
|
|
|
|
|
|
|
|
86 |
}
|
87 |
|
88 |
+
/*
|
89 |
+
* Return basic url without translate plugin
|
90 |
*/
|
91 |
+
public function get_basic_urls($postID , $regex = null){
|
92 |
+
$permalink = get_option('permalink_structure');
|
|
|
|
|
93 |
|
94 |
+
if(!empty($permalink)) {
|
95 |
+
// Custom URL structure
|
96 |
+
$url = parse_url(get_permalink($postID),PHP_URL_PATH);
|
97 |
+
}else {
|
98 |
+
$url = get_permalink($postID);
|
99 |
}
|
100 |
|
101 |
+
return $url . $regex;
|
102 |
}
|
103 |
|
104 |
+
/*
|
105 |
+
* Return translate url without translate plugin
|
106 |
+
*/
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
107 |
|
108 |
+
public function get_translate_urls($urls ,$postID , $regex = null){
|
109 |
+
// WPML plugin
|
110 |
+
if ( class_exists('SitePress')){
|
111 |
+
global $sitepress;
|
112 |
+
if(isset($sitepress)){
|
113 |
+
$active_languages = $sitepress->get_active_languages();
|
114 |
+
|
115 |
+
if(!empty($active_languages)){
|
116 |
+
$languages = array_keys($active_languages);
|
117 |
+
foreach ($languages as $language){
|
118 |
+
$translatedId = icl_object_id($postID, 'page', false, $language);
|
119 |
|
120 |
+
if(empty($translatedId)) continue;
|
121 |
+
|
122 |
+
$urls[] = $this->get_basic_urls($translatedId,$regex);
|
123 |
+
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
124 |
}
|
125 |
}
|
126 |
}
|
127 |
|
128 |
+
// Polylang plugin
|
129 |
+
if( class_exists('Polylang') && function_exists('pll_languages_list') && function_exists('PLL')){
|
130 |
+
$translatedId = pll_get_post_translations($postID);
|
|
|
|
|
|
|
|
|
131 |
|
132 |
+
if(!empty($translatedId)){
|
133 |
+
foreach ($translatedId as $id){
|
134 |
+
$urls[] = $this->get_basic_urls($id,$regex);
|
135 |
}
|
136 |
}
|
137 |
}
|
138 |
|
139 |
+
// qTranslate-x plugin
|
140 |
+
require_once (ABSPATH.'wp-admin/includes/plugin.php');
|
141 |
+
if(is_plugin_active('qtranslate-x/qtranslate.php')){
|
142 |
+
global $q_config;
|
143 |
+
if(isset($q_config) && function_exists('qtranxf_convertURL')){
|
144 |
+
$url = $this->get_basic_urls($postID);
|
145 |
|
146 |
+
if(!empty($q_config['enabled_languages'])){
|
147 |
+
foreach ($q_config['enabled_languages'] as $language){
|
148 |
+
$urls[] = qtranxf_convertURL( $url, $language , true);
|
149 |
+
}
|
150 |
+
}
|
151 |
|
152 |
+
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
153 |
}
|
154 |
|
155 |
+
return $urls;
|
156 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
157 |
|
158 |
+
/*
|
159 |
+
* Remove '/' chacracter of end url
|
160 |
+
*/
|
161 |
+
public function rtrim_urls($url){
|
162 |
+
return rtrim($url,'/');
|
|
|
|
|
163 |
}
|
164 |
|
165 |
public static function factory() {
|
inc/cache/execute-cache.php
CHANGED
@@ -74,8 +74,8 @@ if (!$check_exclude) {
|
|
74 |
// Detect devices
|
75 |
if ($detect->isMobile() && !$detect->isTablet()) {
|
76 |
// The first X will be D for Desktop cache
|
77 |
-
//
|
78 |
-
//
|
79 |
if ((int)$devices['breeze-mobile-cache'] == 1) {
|
80 |
$X1 = 'D';
|
81 |
$filename .= '_breeze_cache_desktop';
|
74 |
// Detect devices
|
75 |
if ($detect->isMobile() && !$detect->isTablet()) {
|
76 |
// The first X will be D for Desktop cache
|
77 |
+
// M for Mobile cache
|
78 |
+
// T for Tablet cache
|
79 |
if ((int)$devices['breeze-mobile-cache'] == 1) {
|
80 |
$X1 = 'D';
|
81 |
$filename .= '_breeze_cache_desktop';
|
inc/minification/breeze-minification-scripts.php
CHANGED
@@ -113,7 +113,8 @@ class Breeze_MinificationScripts extends Breeze_MinificationBase {
|
|
113 |
$tag='';
|
114 |
continue;
|
115 |
}
|
116 |
-
if(preg_match('
|
|
|
117 |
if ($this->isremovable($tag,$this->jsremovables)) {
|
118 |
$this->content = str_replace($tag,'',$this->content);
|
119 |
continue;
|
113 |
$tag='';
|
114 |
continue;
|
115 |
}
|
116 |
+
if(preg_match('/src=("|\')?(.*?(\ |\>))("|\')?/Usmi',$tag,$source)) {
|
117 |
+
$source[2] = substr($source[2], 0, -1);
|
118 |
if ($this->isremovable($tag,$this->jsremovables)) {
|
119 |
$this->content = str_replace($tag,'',$this->content);
|
120 |
continue;
|
readme.txt
CHANGED
@@ -3,7 +3,7 @@ Contributors: Cloudways
|
|
3 |
Tags: cache, caching, performance, wp-cache, cdn, combine, compress, speed plugin, database cache,gzip, http compression, js cache, minify, optimize, page cache, performance, speed, expire headers
|
4 |
Requires at least: 4.5
|
5 |
Tested up to: 4.8
|
6 |
-
Stable tag: 1.0.
|
7 |
License: GPLv2 or later
|
8 |
License URI: http://www.gnu.org/licenses/gpl-2.0.html
|
9 |
|
@@ -25,8 +25,6 @@ What makes Breeze WordPress Cache Plugin awesome is that it comes with builtin s
|
|
25 |
|
26 |
**Support:** We love to provide support! Post your questions on the WordPress.org support forums, or if you are a Cloudways Customer you may ask questions on the <a href="https://community.cloudways.com/">Cloudways Community Forum</a>.
|
27 |
|
28 |
-
**Note:** This plugin is still in Beta phase and this plugin is tested on Cloudways WordPress hosting servers.
|
29 |
-
|
30 |
**Special Thanks:** We would like to give special mention to WP Speed Of Light for being an inspiration for Breeze.
|
31 |
|
32 |
== Installation ==
|
@@ -106,9 +104,7 @@ If Varnish is active, you will need to exclude URLs and file type(s) in the Varn
|
|
106 |
|
107 |
= Does it work with all hosting providers? =
|
108 |
|
109 |
-
Breeze
|
110 |
-
However, major Breeze options such as Gzip, browser cache, minification, grouping, database optimization. CDN integration will work as expected on other hosting providers.
|
111 |
-
|
112 |
|
113 |
= Where can I get support for Breeze? =
|
114 |
|
@@ -116,6 +112,12 @@ You can get your questions answered on the WordPress support forums. If you are
|
|
116 |
|
117 |
== Changelog ==
|
118 |
|
|
|
|
|
|
|
|
|
|
|
|
|
119 |
= 1.0.3-beta =
|
120 |
* Fix : Disabled browser cache for WooCommerce cart, shop and account pages
|
121 |
* Fix : Removal of htaccess when disabling browser cache and gzip compression options
|
3 |
Tags: cache, caching, performance, wp-cache, cdn, combine, compress, speed plugin, database cache,gzip, http compression, js cache, minify, optimize, page cache, performance, speed, expire headers
|
4 |
Requires at least: 4.5
|
5 |
Tested up to: 4.8
|
6 |
+
Stable tag: 1.0.4
|
7 |
License: GPLv2 or later
|
8 |
License URI: http://www.gnu.org/licenses/gpl-2.0.html
|
9 |
|
25 |
|
26 |
**Support:** We love to provide support! Post your questions on the WordPress.org support forums, or if you are a Cloudways Customer you may ask questions on the <a href="https://community.cloudways.com/">Cloudways Community Forum</a>.
|
27 |
|
|
|
|
|
28 |
**Special Thanks:** We would like to give special mention to WP Speed Of Light for being an inspiration for Breeze.
|
29 |
|
30 |
== Installation ==
|
104 |
|
105 |
= Does it work with all hosting providers? =
|
106 |
|
107 |
+
Breeze has been tested to work with all major hosting providers. In addition, major Breeze options such as Gzip, browser cache, minification, grouping, database optimization. CDN integration will work as expected on all hosting providers.
|
|
|
|
|
108 |
|
109 |
= Where can I get support for Breeze? =
|
110 |
|
112 |
|
113 |
== Changelog ==
|
114 |
|
115 |
+
= 1.0.4 =
|
116 |
+
* Fix: Browser Cache issues with WooCommerce session
|
117 |
+
* Fix: Clearing Breeze rules from .htaccess upon deactivating of GZIP/Broswer Cache
|
118 |
+
* Fix: Regex fix for accepting source url's without quotes while enabling minifcation
|
119 |
+
* Add: FAQ section added
|
120 |
+
|
121 |
= 1.0.3-beta =
|
122 |
* Fix : Disabled browser cache for WooCommerce cart, shop and account pages
|
123 |
* Fix : Removal of htaccess when disabling browser cache and gzip compression options
|
views/breeze-setting-views.php
CHANGED
@@ -1,10 +1,13 @@
|
|
1 |
<?php
|
|
|
|
|
2 |
$tabs = array(
|
3 |
'basic' => __('BASIC OPTIONS', 'breeze'),
|
4 |
'advanced' => __('ADVANCED OPTIONS', 'breeze'),
|
5 |
'database' => __('DATABASE', 'breeze'),
|
6 |
'cdn' => __('CDN', 'breeze'),
|
7 |
'varnish' => __('VARNISH', 'breeze'),
|
|
|
8 |
);
|
9 |
?>
|
10 |
<?php if (isset($_REQUEST['database-cleanup']) && $_REQUEST['database-cleanup'] == 'success'): ?>
|
@@ -21,10 +24,6 @@ $tabs = array(
|
|
21 |
</a>
|
22 |
</div>
|
23 |
|
24 |
-
<div class="breeze-desc" style="margin-bottom: 10px">
|
25 |
-
<span><?php _e('This plugin is in Beta phase. Please feel free to report any issues on the WordPress Support Forums or on', 'breeze'); ?></span>
|
26 |
-
<a href="https://community.cloudways.com/" target="_blank"><?php _e('Cloudways Community Forum', 'breeze') ?></a>
|
27 |
-
</div>
|
28 |
<h1></h1>
|
29 |
|
30 |
<div style="clear: both"></div>
|
@@ -52,13 +51,14 @@ $tabs = array(
|
|
52 |
<input type="submit" class="button button-primary" value="Optimize"/>
|
53 |
</p>';
|
54 |
}else{
|
55 |
-
|
56 |
-
|
57 |
-
|
|
|
|
|
58 |
}
|
59 |
echo '</form>';
|
60 |
echo '</div>';
|
61 |
-
|
62 |
}
|
63 |
?>
|
64 |
</div>
|
1 |
<?php
|
2 |
+
defined('ABSPATH') or die;
|
3 |
+
|
4 |
$tabs = array(
|
5 |
'basic' => __('BASIC OPTIONS', 'breeze'),
|
6 |
'advanced' => __('ADVANCED OPTIONS', 'breeze'),
|
7 |
'database' => __('DATABASE', 'breeze'),
|
8 |
'cdn' => __('CDN', 'breeze'),
|
9 |
'varnish' => __('VARNISH', 'breeze'),
|
10 |
+
'faq' => __('FAQs', 'breeze'),
|
11 |
);
|
12 |
?>
|
13 |
<?php if (isset($_REQUEST['database-cleanup']) && $_REQUEST['database-cleanup'] == 'success'): ?>
|
24 |
</a>
|
25 |
</div>
|
26 |
|
|
|
|
|
|
|
|
|
27 |
<h1></h1>
|
28 |
|
29 |
<div style="clear: both"></div>
|
51 |
<input type="submit" class="button button-primary" value="Optimize"/>
|
52 |
</p>';
|
53 |
}else{
|
54 |
+
if ($key != 'faq') {
|
55 |
+
echo '<p class="submit">
|
56 |
+
<input type="submit" class="button button-primary" value="Save Changes"/>
|
57 |
+
</p>';
|
58 |
+
}
|
59 |
}
|
60 |
echo '</form>';
|
61 |
echo '</div>';
|
|
|
62 |
}
|
63 |
?>
|
64 |
</div>
|
views/tabs/advanced.php
CHANGED
@@ -1,4 +1,6 @@
|
|
1 |
<?php
|
|
|
|
|
2 |
$advanced = get_option('breeze_advanced_settings');
|
3 |
?>
|
4 |
<table cellspacing="15">
|
1 |
<?php
|
2 |
+
defined('ABSPATH') or die;
|
3 |
+
|
4 |
$advanced = get_option('breeze_advanced_settings');
|
5 |
?>
|
6 |
<table cellspacing="15">
|
views/tabs/basic.php
CHANGED
@@ -1,4 +1,6 @@
|
|
1 |
<?php
|
|
|
|
|
2 |
$basic = get_option('breeze_basic_settings');
|
3 |
?>
|
4 |
<table cellspacing="15">
|
1 |
<?php
|
2 |
+
defined('ABSPATH') or die;
|
3 |
+
|
4 |
$basic = get_option('breeze_basic_settings');
|
5 |
?>
|
6 |
<table cellspacing="15">
|
views/tabs/cdn.php
CHANGED
@@ -1,4 +1,6 @@
|
|
1 |
<?php
|
|
|
|
|
2 |
$cdn_integration = get_option('breeze_cdn_integration');
|
3 |
|
4 |
$cdn_content_value = '';
|
@@ -26,9 +28,9 @@
|
|
26 |
</td>
|
27 |
<td>
|
28 |
<input type="text" id="cdn-url" name="cdn-url" size="50" placeholder="<?php _e('https://www.domain.com','breeze')?>" value="<?php echo (($cdn_integration['cdn-url'])?esc_html($cdn_integration['cdn-url']):''); ?>"/>
|
29 |
-
<label style="vertical-align: baseline" class="breeze_tool_tip"><?php _e('Enter
|
30 |
<br>
|
31 |
-
<label class="breeze_tool_tip"><b>Note: </b><?php _e('Use double slash ‘//’ at the start
|
32 |
</td>
|
33 |
</tr>
|
34 |
<tr>
|
1 |
<?php
|
2 |
+
defined('ABSPATH') or die;
|
3 |
+
|
4 |
$cdn_integration = get_option('breeze_cdn_integration');
|
5 |
|
6 |
$cdn_content_value = '';
|
28 |
</td>
|
29 |
<td>
|
30 |
<input type="text" id="cdn-url" name="cdn-url" size="50" placeholder="<?php _e('https://www.domain.com','breeze')?>" value="<?php echo (($cdn_integration['cdn-url'])?esc_html($cdn_integration['cdn-url']):''); ?>"/>
|
31 |
+
<label style="vertical-align: baseline" class="breeze_tool_tip"><?php _e('Enter CDN CNAME.', 'breeze')?></label>
|
32 |
<br>
|
33 |
+
<label class="breeze_tool_tip"><b>Note: </b><?php _e('Use double slash ‘//’ at the start of CDN CNAME, if you have some pages on HTTP and some are on HTTPS.', 'breeze') ?></label>
|
34 |
</td>
|
35 |
</tr>
|
36 |
<tr>
|
views/tabs/database.php
CHANGED
@@ -1,3 +1,6 @@
|
|
|
|
|
|
|
|
1 |
<div class="breeze-top-notice">
|
2 |
<label class="breeze_tool_tip"><?php _e('Important: Backup your databases before using the following options!','breeze')?></label>
|
3 |
</div>
|
1 |
+
<?php
|
2 |
+
defined('ABSPATH') or die;
|
3 |
+
?>
|
4 |
<div class="breeze-top-notice">
|
5 |
<label class="breeze_tool_tip"><?php _e('Important: Backup your databases before using the following options!','breeze')?></label>
|
6 |
</div>
|
views/tabs/faq.php
ADDED
@@ -0,0 +1,153 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
defined('ABSPATH') or die;
|
3 |
+
|
4 |
+
wp_enqueue_script('jquery-ui', '//ajax.googleapis.com/ajax/libs/jqueryui/1.12.1/jquery-ui.min.js');
|
5 |
+
?>
|
6 |
+
<div id="faq-content">
|
7 |
+
<div class="faq-block">
|
8 |
+
<h3 class="faq-question"><?php _e('Does Breeze support Varnish and to what extent?', 'breeze') ?></h3>
|
9 |
+
<div class="faq-answer">
|
10 |
+
<p><?php _e('Breeze, by default, supports Varnish. It has been tested to be fully compatible with Cloudways Servers that come with Varnish pre-installed. If you are using hosting providers other than Cloudways, we suggest you confirm Varnish support with your hosting provider.', 'breeze') ?></p>
|
11 |
+
</div>
|
12 |
+
</div>
|
13 |
+
|
14 |
+
<div class="faq-block">
|
15 |
+
<h3 class="faq-question"><?php _e('Does Breeze support WooCommerce?', 'breeze') ?></h3>
|
16 |
+
<div class="faq-answer">
|
17 |
+
<p><?php _e('Breeze is fully compatible with WooCommerce, out of the box. It does not require any special configurations.', 'breeze') ?></p>
|
18 |
+
</div>
|
19 |
+
</div>
|
20 |
+
|
21 |
+
<div class="faq-block">
|
22 |
+
<h3 class="faq-question"><?php _e('Does Breeze support WordPress Multisite?', 'breeze') ?></h3>
|
23 |
+
<div class="faq-answer">
|
24 |
+
<p><?php _e('Breeze is fully compatible with WordPress Multisite without the need for any extra configuration.', 'breeze') ?></p>
|
25 |
+
</div>
|
26 |
+
</div>
|
27 |
+
|
28 |
+
<div class="faq-block">
|
29 |
+
<h3 class="faq-question"><?php _e('Is Breeze compatible with other WordPress Cache plugins?', 'breeze') ?></h3>
|
30 |
+
<div class="faq-answer">
|
31 |
+
<p><?php _e('We DO NOT recommend using two WordPress cache plugins at the same time on any WordPress website.', 'breeze') ?></p>
|
32 |
+
<p><?php _e('We strongly recommend that you use Breeze as the only cache plugin for your website. If there are any other cache plugins installed, please ensure that you have disabled them prior to proceeding with the Breeze installation.', 'breeze') ?></p>
|
33 |
+
</div>
|
34 |
+
</div>
|
35 |
+
|
36 |
+
<div class="faq-block">
|
37 |
+
<h3 class="faq-question"><?php _e('Is Breeze compatible with HTTPS?', 'breeze') ?></h3>
|
38 |
+
<div class="faq-answer">
|
39 |
+
<p><?php _e('Breeze does not require any special configuration to work with HTTP or HTTPS pages.', 'breeze') ?></p>
|
40 |
+
</div>
|
41 |
+
</div>
|
42 |
+
|
43 |
+
<div class="faq-block">
|
44 |
+
<h3 class="faq-question"><?php _e('Does Breeze have compatibility issues with other known plugins?', 'breeze') ?></h3>
|
45 |
+
<div class="faq-answer">
|
46 |
+
<p><?php _e('Breeze has been tested with popular plugins available on WordPress.org. Please feel free to report any incompatibilities on the WordPress Support Forums or on ', 'breeze') ?>
|
47 |
+
<a href="https://community.cloudways.com/" target="_blank"><?php _e('Cloudways Community Forum.', 'breeze') ?></a>
|
48 |
+
</p>
|
49 |
+
</div>
|
50 |
+
</div>
|
51 |
+
|
52 |
+
<div class="faq-block">
|
53 |
+
<h3 class="faq-question"><?php _e('Does Breeze support CDN?', 'breeze') ?></h3>
|
54 |
+
<div class="faq-answer">
|
55 |
+
<p><?php _e('Breeze supports CDN integration. It allows all static assets (such as images, CSS and JS files) to be served via CDN.', 'breeze') ?></p>
|
56 |
+
</div>
|
57 |
+
</div>
|
58 |
+
|
59 |
+
<div class="faq-block">
|
60 |
+
<h3 class="faq-question"><?php _e('What does Breeze’s Database Optimization feature do?', 'breeze') ?></h3>
|
61 |
+
<div class="faq-answer">
|
62 |
+
<p><?php _e('WordPress databases are notorious for storing information like post revisions, spam comments and much more. Over time, databases l become bloated and it is a good practice to clear out unwanted information to reduce database size and improve optimization.', 'breeze') ?></p>
|
63 |
+
<p><?php _e('Breeze’s database optimization cleans out unwanted information in a single click.', 'breeze') ?></p>
|
64 |
+
</div>
|
65 |
+
</div>
|
66 |
+
|
67 |
+
<div class="faq-block">
|
68 |
+
<h3 class="faq-question"><?php _e('Will comments and other dynamic parts of my blog appear immediately?', 'breeze') ?></h3>
|
69 |
+
<div class="faq-answer">
|
70 |
+
<p><?php _e('Comments will appear upon moderation as per the comment system (or policy) set in place by the blog owner. Other dynamic changes such as any modifications in files will require a full cache purge.', 'breeze') ?></p>
|
71 |
+
</div>
|
72 |
+
</div>
|
73 |
+
|
74 |
+
<div class="faq-block">
|
75 |
+
<h3 class="faq-question"><?php _e('Can I exclude URLs of individual files and pages from cache?', 'breeze') ?></h3>
|
76 |
+
<div class="faq-answer">
|
77 |
+
<p><?php _e('You can exclude a file by mentioning its URL or file type (by mentioning file extension) in the exclude fields (available in the Breeze settings). Exclude will not let the cache impact that URL or file type.', 'breeze') ?></p>
|
78 |
+
<p><?php _e('If Varnish is active, you will need to exclude URLs and file type(s) in the Varnish configuration. If you are hosting WordPress websites on Cloudways servers, follow ', 'breeze') ?>
|
79 |
+
<a href="https://support.cloudways.com/how-to-exclude-url-from-varnish/" target="_blank"><?php _e('this KB to exclude URLs from the Varnish cache.', 'breeze') ?></a>
|
80 |
+
</p>
|
81 |
+
</div>
|
82 |
+
</div>
|
83 |
+
|
84 |
+
<div class="faq-block">
|
85 |
+
<h3 class="faq-question"><?php _e('Does it work with all hosting providers?', 'breeze') ?></h3>
|
86 |
+
<div class="faq-answer">
|
87 |
+
<p><?php _e('Breeze has been tested to work with all major hosting providers. In addition, major Breeze options such as Gzip, browser cache, minification, grouping, database optimization. CDN integration will work as expected on all hosting providers.', 'breeze') ?></p>
|
88 |
+
</div>
|
89 |
+
</div>
|
90 |
+
|
91 |
+
<div class="faq-block">
|
92 |
+
<h3 class="faq-question"><?php _e('Where can I get support for Breeze?', 'breeze') ?></h3>
|
93 |
+
<div class="faq-answer">
|
94 |
+
<p><?php _e('You can get your questions answered on the WordPress support forums. If you are a Cloudways customer, please feel free to start a discussion at', 'breeze') ?>
|
95 |
+
<a href="https://community.cloudways.com/" target="_blank"><?php _e('Cloudways Community Forum.', 'breeze') ?></a>
|
96 |
+
</p>
|
97 |
+
</div>
|
98 |
+
</div>
|
99 |
+
|
100 |
+
<div class="faq-block">
|
101 |
+
<h3 class="faq-question"><?php _e('How can I test and verify the results (mentioned on the page)?', 'breeze') ?></h3>
|
102 |
+
<div class="faq-answer">
|
103 |
+
<p><?php _e('You will be able to see the impact of the Breeze Cache Plugin almost immediately. We also recommend using the following tools for generating metrics:', 'breeze') ?></p>
|
104 |
+
<ul>
|
105 |
+
<li><a href="https://developers.google.com/speed/pagespeed/" target="_blank"><?php _e('Google Page Speed', 'breeze') ?></a></li>
|
106 |
+
<li><a href="https://www.webpagetest.org/test" target="_blank"><?php _e('WebPagetest', 'breeze') ?></a></li>
|
107 |
+
<li><a href="https://tools.pingdom.com/" target="_blank"><?php _e('Pingdom', 'breeze') ?></a></li>
|
108 |
+
</ul>
|
109 |
+
</div>
|
110 |
+
</div>
|
111 |
+
|
112 |
+
<div class="faq-block">
|
113 |
+
<h3 class="faq-question"><?php _e('Does Breeze plugin work with Visual Builder(insert link)?', 'breeze') ?></h3>
|
114 |
+
<div class="faq-answer">
|
115 |
+
<p><?php _e('Yes, Breeze Plugin is compatible with Visual Builder.', 'breeze') ?></p>
|
116 |
+
</div>
|
117 |
+
</div>
|
118 |
+
|
119 |
+
<div class="faq-block">
|
120 |
+
<h3 class="faq-question"><?php _e('What popular CDN are supported by Breze Plugin?', 'breeze') ?></h3>
|
121 |
+
<div class="faq-answer">
|
122 |
+
<p><?php _e('Breeze supports the following three popular CDNs:', 'breeze') ?></p>
|
123 |
+
<ul>
|
124 |
+
<li><a href="https://support.cloudways.com/how-to-use-breeze-with-maxcdn/" target="_blank"><?php _e('MaxCDN', 'breeze') ?></a></li>
|
125 |
+
<li><a href="https://support.cloudways.com/how-to-use-breeze-with-keycdn/" target="_blank"><?php _e('KeyCDN', 'breeze') ?></a></li>
|
126 |
+
<li><a href="https://support.cloudways.com/how-to-use-breeze-with-amazon-cloudfront/" target="_blank"><?php _e('Amazon Cloudfront', 'breeze') ?></a></li>
|
127 |
+
</ul>
|
128 |
+
</div>
|
129 |
+
</div>
|
130 |
+
|
131 |
+
<div class="faq-block">
|
132 |
+
<h3 class="faq-question"><?php _e('Does Breeze support Push CDN?', 'breeze') ?></h3>
|
133 |
+
<div class="faq-answer">
|
134 |
+
<p><?php _e('No, Breeze does not support Push CDN. However, you could use Breeze with Push CDNs using third party plugins.', 'breeze') ?></p>
|
135 |
+
</div>
|
136 |
+
</div>
|
137 |
+
|
138 |
+
<div class="faq-block">
|
139 |
+
<h3 class="faq-question"><?php _e('Does Breeze Work With CloudFlare?', 'breeze') ?></h3>
|
140 |
+
<div class="faq-answer">
|
141 |
+
<p><?php _e('Yes. The process of setting up CloudFlare with Breeze is easy. Check out the ', 'breeze') ?>
|
142 |
+
<a href="https://support.cloudways.com/can-i-use-cloudflare-cdn/" target="_blank"><?php _e('following KnowledgeBase article for details.', 'breeze') ?></a>
|
143 |
+
</p>
|
144 |
+
</div>
|
145 |
+
</div>
|
146 |
+
|
147 |
+
<div class="faq-block">
|
148 |
+
<h3 class="faq-question"><?php _e('How Breeze cache uses Gzip?', 'breeze') ?></h3>
|
149 |
+
<div class="faq-answer">
|
150 |
+
<p><?php _e('Using Gzip, Breeze compresses the request files, further reducing the size of the download files and speeding up the user experience.', 'breeze') ?></p>
|
151 |
+
</div>
|
152 |
+
</div>
|
153 |
+
</div>
|
views/tabs/varnish.php
CHANGED
@@ -1,6 +1,8 @@
|
|
1 |
<?php
|
2 |
-
|
3 |
-
|
|
|
|
|
4 |
?>
|
5 |
<div class="breeze-top-notice">
|
6 |
<label class="breeze_tool_tip"><?php _e('By default Varnish is enabled on all WordPress websites hosted on Cloudways.','breeze')?></label>
|
1 |
<?php
|
2 |
+
defined('ABSPATH') or die;
|
3 |
+
|
4 |
+
$varnish = get_option('breeze_varnish_cache');
|
5 |
+
$check_varnish = Breeze_Admin::check_varnish();
|
6 |
?>
|
7 |
<div class="breeze-top-notice">
|
8 |
<label class="breeze_tool_tip"><?php _e('By default Varnish is enabled on all WordPress websites hosted on Cloudways.','breeze')?></label>
|