Version Description
- Fixed: Load before anything bug
- Fixed: Wave animation minor bug
- Added: Pro version link on settings page
=
Download this release
Release Info
Developer | loftocean |
Plugin | LoftLoader |
Version | 1.0.2 |
Comparing to | |
See all releases |
Code changes from version 1.0.1 to 1.0.2
- configs/loftloader-config.php +0 -1
- css/loftloader-animation.css +14 -27
- css/settings/loftloader-settings.css +17 -0
- front/class-loftloader-front.php +11 -2
- img/pro-ad.jpg +0 -0
- loftloader.php +3 -4
- readme.txt +28 -2
- settings/class-loftloader-settings.php +5 -1
- settings/form/class-loftloader-checkbox.php +0 -1
- settings/form/class-loftloader-form-base.php +0 -1
- settings/form/class-loftloader-preview.php +0 -1
configs/loftloader-config.php
CHANGED
@@ -8,7 +8,6 @@ if(!defined('ABSPATH')){
|
|
8 |
* fields and the default settings
|
9 |
*
|
10 |
* @package LoftLoader
|
11 |
-
* @version 1.0
|
12 |
* @link http://www.loftocean.com/
|
13 |
* @author Suihai Huang from Loft Ocean Team
|
14 |
|
8 |
* fields and the default settings
|
9 |
*
|
10 |
* @package LoftLoader
|
|
|
11 |
* @link http://www.loftocean.com/
|
12 |
* @author Suihai Huang from Loft Ocean Team
|
13 |
|
css/loftloader-animation.css
CHANGED
@@ -11,9 +11,10 @@
|
|
11 |
position: fixed;
|
12 |
top: 0;
|
13 |
left: 0;
|
14 |
-
z-index:
|
15 |
width: 100%;
|
16 |
height: 100%;
|
|
|
17 |
}
|
18 |
|
19 |
.loaded #loftloader-wrapper {
|
@@ -184,26 +185,22 @@
|
|
184 |
|
185 |
#loftloader-wrapper.pl-wave #loader {
|
186 |
position: relative;
|
187 |
-
width:
|
188 |
height: 30px;
|
189 |
}
|
190 |
|
191 |
#loftloader-wrapper.pl-wave #loader span,
|
192 |
#loftloader-wrapper.pl-wave #loader:before,
|
193 |
#loftloader-wrapper.pl-wave #loader:after {
|
194 |
-
position:
|
195 |
-
display: block;
|
196 |
width: 6px;
|
197 |
height: 100%;
|
198 |
background: #248ACC;
|
199 |
}
|
200 |
|
201 |
#loftloader-wrapper.pl-wave #loader span {
|
202 |
-
|
203 |
-
left: 50%;
|
204 |
-
-webkit-transform: translate(-50%, -50%);
|
205 |
-
-ms-transform: translate(-50%, -50%);
|
206 |
-
transform: translate(-50%, -50%);
|
207 |
-webkit-animation: wave 0.9s linear infinite 0.3s;
|
208 |
animation: wave 0.9s linear infinite 0.3s;
|
209 |
}
|
@@ -214,52 +211,42 @@
|
|
214 |
}
|
215 |
|
216 |
#loftloader-wrapper.pl-wave #loader:before {
|
217 |
-
top: 50%;
|
218 |
-
left: 0;
|
219 |
-
-webkit-transform: translate(0, -50%);
|
220 |
-
-ms-transform: translate(0, -50%);
|
221 |
-
transform: translate(0, -50%);
|
222 |
-webkit-animation: wave 0.9s linear infinite;
|
223 |
animation: wave 0.9s linear infinite;
|
224 |
}
|
225 |
|
226 |
#loftloader-wrapper.pl-wave #loader:after {
|
227 |
-
top: 50%;
|
228 |
-
right: 0;
|
229 |
-
-webkit-transform: translate(0, -50%);
|
230 |
-
-ms-transform: translate(0, -50%);
|
231 |
-
transform: translate(0, -50%);
|
232 |
-webkit-animation: wave 0.9s linear infinite 0.6s;
|
233 |
animation: wave 0.9s linear infinite 0.6s;
|
234 |
}
|
235 |
|
236 |
@-webkit-keyframes wave {
|
237 |
0% {
|
238 |
-
|
239 |
}
|
240 |
40% {
|
241 |
-
|
242 |
}
|
243 |
80% {
|
244 |
-
|
245 |
}
|
246 |
100% {
|
247 |
-
|
248 |
}
|
249 |
}
|
250 |
|
251 |
@keyframes wave {
|
252 |
0% {
|
253 |
-
|
254 |
}
|
255 |
40% {
|
256 |
-
|
257 |
}
|
258 |
80% {
|
259 |
-
|
260 |
}
|
261 |
100% {
|
262 |
-
|
263 |
}
|
264 |
}
|
265 |
|
11 |
position: fixed;
|
12 |
top: 0;
|
13 |
left: 0;
|
14 |
+
z-index: 9999;
|
15 |
width: 100%;
|
16 |
height: 100%;
|
17 |
+
background: transparent !important;
|
18 |
}
|
19 |
|
20 |
.loaded #loftloader-wrapper {
|
185 |
|
186 |
#loftloader-wrapper.pl-wave #loader {
|
187 |
position: relative;
|
188 |
+
width: 60px;
|
189 |
height: 30px;
|
190 |
}
|
191 |
|
192 |
#loftloader-wrapper.pl-wave #loader span,
|
193 |
#loftloader-wrapper.pl-wave #loader:before,
|
194 |
#loftloader-wrapper.pl-wave #loader:after {
|
195 |
+
position: relative;
|
196 |
+
display: inline-block;
|
197 |
width: 6px;
|
198 |
height: 100%;
|
199 |
background: #248ACC;
|
200 |
}
|
201 |
|
202 |
#loftloader-wrapper.pl-wave #loader span {
|
203 |
+
margin: 0 16px;
|
|
|
|
|
|
|
|
|
204 |
-webkit-animation: wave 0.9s linear infinite 0.3s;
|
205 |
animation: wave 0.9s linear infinite 0.3s;
|
206 |
}
|
211 |
}
|
212 |
|
213 |
#loftloader-wrapper.pl-wave #loader:before {
|
|
|
|
|
|
|
|
|
|
|
214 |
-webkit-animation: wave 0.9s linear infinite;
|
215 |
animation: wave 0.9s linear infinite;
|
216 |
}
|
217 |
|
218 |
#loftloader-wrapper.pl-wave #loader:after {
|
|
|
|
|
|
|
|
|
|
|
219 |
-webkit-animation: wave 0.9s linear infinite 0.6s;
|
220 |
animation: wave 0.9s linear infinite 0.6s;
|
221 |
}
|
222 |
|
223 |
@-webkit-keyframes wave {
|
224 |
0% {
|
225 |
+
-webkit-transform: scaleY(1);
|
226 |
}
|
227 |
40% {
|
228 |
+
-webkit-transform: scaleY(0.1);
|
229 |
}
|
230 |
80% {
|
231 |
+
-webkit-transform: scaleY(1);
|
232 |
}
|
233 |
100% {
|
234 |
+
-webkit-transform: scaleY(1);
|
235 |
}
|
236 |
}
|
237 |
|
238 |
@keyframes wave {
|
239 |
0% {
|
240 |
+
transform: scaleY(1);
|
241 |
}
|
242 |
40% {
|
243 |
+
transform: scaleY(0.1);
|
244 |
}
|
245 |
80% {
|
246 |
+
transform: scaleY(1);
|
247 |
}
|
248 |
100% {
|
249 |
+
transform: scaleY(1);
|
250 |
}
|
251 |
}
|
252 |
|
css/settings/loftloader-settings.css
CHANGED
@@ -29,12 +29,24 @@
|
|
29 |
|
30 |
.loftloader-options-panel {
|
31 |
position: relative;
|
|
|
|
|
32 |
padding: 20px;
|
33 |
box-sizing: border-box;
|
34 |
overflow: auto;
|
35 |
font-size: 13px;
|
36 |
}
|
37 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
38 |
.loftloader-options-panel * {
|
39 |
margin: 0 auto;
|
40 |
padding: 0;
|
@@ -519,6 +531,11 @@ h1.loftloader-option-section-title {
|
|
519 |
}
|
520 |
|
521 |
@media screen and (max-width : 640px) {
|
|
|
|
|
|
|
|
|
|
|
522 |
.loftloader-options-panel ul.form-list li .list-title,
|
523 |
.loftloader-options-panel ul.form-list li .list-content {
|
524 |
float: none;
|
29 |
|
30 |
.loftloader-options-panel {
|
31 |
position: relative;
|
32 |
+
float: left;
|
33 |
+
width: 75%;
|
34 |
padding: 20px;
|
35 |
box-sizing: border-box;
|
36 |
overflow: auto;
|
37 |
font-size: 13px;
|
38 |
}
|
39 |
|
40 |
+
#loftloader-pro-ad-wrapper {
|
41 |
+
float: left;
|
42 |
+
width: 25%;
|
43 |
+
}
|
44 |
+
|
45 |
+
#loftloader-pro-ad-wrapper img {
|
46 |
+
width: 100%;
|
47 |
+
box-shadow: 0 10px 20px rgba(0, 0, 0, 0.05);
|
48 |
+
}
|
49 |
+
|
50 |
.loftloader-options-panel * {
|
51 |
margin: 0 auto;
|
52 |
padding: 0;
|
531 |
}
|
532 |
|
533 |
@media screen and (max-width : 640px) {
|
534 |
+
.loftloader-options-panel,
|
535 |
+
#loftloader-pro-ad-wrapper {
|
536 |
+
float: none;
|
537 |
+
width: 100%;
|
538 |
+
}
|
539 |
.loftloader-options-panel ul.form-list li .list-title,
|
540 |
.loftloader-options-panel ul.form-list li .list-content {
|
541 |
float: none;
|
front/class-loftloader-front.php
CHANGED
@@ -8,7 +8,6 @@ if(!defined('ABSPATH')){
|
|
8 |
* Main class for front display
|
9 |
*
|
10 |
* @package LoftLoader
|
11 |
-
* @version 1.0
|
12 |
* @link http://www.loftocean.com/
|
13 |
* @author Suihai Huang from Loft Ocean Team
|
14 |
|
@@ -53,6 +52,7 @@ if(!class_exists('LoftLoader_Front')){
|
|
53 |
public function loader_custom_styles(){
|
54 |
$styles = get_option('loftloader-custom-styles', '');
|
55 |
echo empty($styles) ? '' : '<style type="text/css">' . $styles . '</style>';
|
|
|
56 |
}
|
57 |
/**
|
58 |
* @description loftloader html
|
@@ -82,7 +82,16 @@ if(!class_exists('LoftLoader_Front')){
|
|
82 |
$html .= '</div><div class="loader-section section-right"></div>';
|
83 |
}
|
84 |
$html .= '</div>';
|
85 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
86 |
}
|
87 |
}
|
88 |
new LoftLoader_Front();
|
8 |
* Main class for front display
|
9 |
*
|
10 |
* @package LoftLoader
|
|
|
11 |
* @link http://www.loftocean.com/
|
12 |
* @author Suihai Huang from Loft Ocean Team
|
13 |
|
52 |
public function loader_custom_styles(){
|
53 |
$styles = get_option('loftloader-custom-styles', '');
|
54 |
echo empty($styles) ? '' : '<style type="text/css">' . $styles . '</style>';
|
55 |
+
ob_start();
|
56 |
}
|
57 |
/**
|
58 |
* @description loftloader html
|
82 |
$html .= '</div><div class="loader-section section-right"></div>';
|
83 |
}
|
84 |
$html .= '</div>';
|
85 |
+
|
86 |
+
$origin = ob_get_clean();
|
87 |
+
$regexp ='/<body[^>]*>/i';
|
88 |
+
if(preg_match($regexp, $origin, $match)){
|
89 |
+
$html = $match[0] . $html;
|
90 |
+
echo preg_replace($regexp, $html, $origin);
|
91 |
+
}
|
92 |
+
else{
|
93 |
+
echo $origin . $html;
|
94 |
+
}
|
95 |
}
|
96 |
}
|
97 |
new LoftLoader_Front();
|
img/pro-ad.jpg
ADDED
Binary file
|
loftloader.php
CHANGED
@@ -3,7 +3,7 @@
|
|
3 |
Plugin Name: LoftLoader
|
4 |
Plugin URI: http://www.loftocean.com/
|
5 |
Description: An easy to use plugin to add an animated preloader to your website with fully customisations.
|
6 |
-
Version: 1.0.
|
7 |
Author: Loft Ocean
|
8 |
Author URI: http://www.loftocean.com/
|
9 |
Text Domain: loftloader
|
@@ -17,7 +17,6 @@ License URI: https://www.gnu.org/licenses/gpl-2.0.html
|
|
17 |
* LoftLoader main file
|
18 |
*
|
19 |
* @package LoftLoader
|
20 |
-
* @version 1.0
|
21 |
* @link http://www.loftocean.com/
|
22 |
* @author Suihai Huang from Loft Ocean Team
|
23 |
*/
|
@@ -34,7 +33,7 @@ if(!class_exists('LoftLoader')){
|
|
34 |
* Update the plugin version for initial version
|
35 |
*/
|
36 |
function loftloader_activate(){
|
37 |
-
update_option('loftloader_plugin_version', '1.0.
|
38 |
}
|
39 |
/**
|
40 |
* Do nothing for initial version
|
@@ -84,7 +83,7 @@ if(!class_exists('LoftLoader')){
|
|
84 |
* @description register the loader style css for both plugin setting page and front end
|
85 |
*/
|
86 |
public function enqueue_loader_styles(){
|
87 |
-
wp_register_style('loftloader-animation', LOFTLOADER_CSS_URI . 'loftloader-animation.css', array(), '
|
88 |
}
|
89 |
}
|
90 |
new LoftLoader(); // Enable LoftLoader
|
3 |
Plugin Name: LoftLoader
|
4 |
Plugin URI: http://www.loftocean.com/
|
5 |
Description: An easy to use plugin to add an animated preloader to your website with fully customisations.
|
6 |
+
Version: 1.0.2
|
7 |
Author: Loft Ocean
|
8 |
Author URI: http://www.loftocean.com/
|
9 |
Text Domain: loftloader
|
17 |
* LoftLoader main file
|
18 |
*
|
19 |
* @package LoftLoader
|
|
|
20 |
* @link http://www.loftocean.com/
|
21 |
* @author Suihai Huang from Loft Ocean Team
|
22 |
*/
|
33 |
* Update the plugin version for initial version
|
34 |
*/
|
35 |
function loftloader_activate(){
|
36 |
+
update_option('loftloader_plugin_version', '1.0.2');
|
37 |
}
|
38 |
/**
|
39 |
* Do nothing for initial version
|
83 |
* @description register the loader style css for both plugin setting page and front end
|
84 |
*/
|
85 |
public function enqueue_loader_styles(){
|
86 |
+
wp_register_style('loftloader-animation', LOFTLOADER_CSS_URI . 'loftloader-animation.css', array(), '20161015');
|
87 |
}
|
88 |
}
|
89 |
new LoftLoader(); // Enable LoftLoader
|
readme.txt
CHANGED
@@ -3,8 +3,8 @@ Contributors: loftocean
|
|
3 |
Tags: loader, load, preloader, page preloader, prelader spinner, preloader with custom logo, animated preloader, CSS3 preloader, customize
|
4 |
Donate link:
|
5 |
Requires at least: 4.3
|
6 |
-
Tested up to: 4.
|
7 |
-
Stable tag: 1.0.
|
8 |
License: GPLv2 or later
|
9 |
License URI: http://www.gnu.org/licenses/gpl-2.0.html
|
10 |
|
@@ -28,6 +28,23 @@ Small and powerful. LoftLoader helps you to add a beautiful animated preloader t
|
|
28 |
* Option to enable preloader on site homepage only.
|
29 |
* Ready for translation (.pot file included).
|
30 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
31 |
== Installation ==
|
32 |
|
33 |
1. Install the plugin either via the WordPress.org plugin directory, or by uploading the files to your server (in the /wp-content/plugins/ directory).
|
@@ -45,6 +62,10 @@ Small and powerful. LoftLoader helps you to add a beautiful animated preloader t
|
|
45 |
2. LoftLoader background settings
|
46 |
3. LoftLoader animation settings
|
47 |
4. LoftLoader live preview
|
|
|
|
|
|
|
|
|
48 |
|
49 |
== Changelog ==
|
50 |
|
@@ -54,6 +75,11 @@ Small and powerful. LoftLoader helps you to add a beautiful animated preloader t
|
|
54 |
= 1.0.1 =
|
55 |
* Add support for site homepage only
|
56 |
|
|
|
|
|
|
|
|
|
|
|
57 |
== Upgrade Notice ==
|
58 |
|
59 |
= 1.0.0 =
|
3 |
Tags: loader, load, preloader, page preloader, prelader spinner, preloader with custom logo, animated preloader, CSS3 preloader, customize
|
4 |
Donate link:
|
5 |
Requires at least: 4.3
|
6 |
+
Tested up to: 4.6.1
|
7 |
+
Stable tag: 1.0.2
|
8 |
License: GPLv2 or later
|
9 |
License URI: http://www.gnu.org/licenses/gpl-2.0.html
|
10 |
|
28 |
* Option to enable preloader on site homepage only.
|
29 |
* Ready for translation (.pot file included).
|
30 |
|
31 |
+
= Pro Version =
|
32 |
+
|
33 |
+
LoftLoader Pro is available. [Upgrade to pro version](https://codecanyon.net/item/loftloader-pro-preloader-plugin-for-wordpress/17339671) and get more stunning features!
|
34 |
+
|
35 |
+
* Enhanced settings panel with WordPress Customizer.
|
36 |
+
* Handpick - Turn the preloader on for specific pages or posts.
|
37 |
+
* Loader - 16 types of animations to choose. 5 of them support custom images.
|
38 |
+
* Looping - Animation can be set to looping forever, or just once (ends after page has loaded).
|
39 |
+
* Progress - Progress bar or counting percentage. Any color. Position & size control.
|
40 |
+
* Message - Enter your custom welcome or loading message to display. Control color & font size.
|
41 |
+
* Load Time - Set a minimum load time to prevent the pre-loader from disappearing too fast.
|
42 |
+
* Device Control - Choose to show the loading screen on all devices, or hide on mobile, or show on mobile only.
|
43 |
+
* Light weight, fast. Coded with SASS. JS minified.
|
44 |
+
* Purchase once, free lifetime update with new features.
|
45 |
+
|
46 |
+
Check some [demos](http://www.loftocean.com/loftloader/example-8/) created by pro version.
|
47 |
+
|
48 |
== Installation ==
|
49 |
|
50 |
1. Install the plugin either via the WordPress.org plugin directory, or by uploading the files to your server (in the /wp-content/plugins/ directory).
|
62 |
2. LoftLoader background settings
|
63 |
3. LoftLoader animation settings
|
64 |
4. LoftLoader live preview
|
65 |
+
5. Pro version: Settings Panel
|
66 |
+
6. Pro version: Custom Image Loading
|
67 |
+
7. Pro version: Gradient Background
|
68 |
+
8. Pro version: Load Time & Device Control
|
69 |
|
70 |
== Changelog ==
|
71 |
|
75 |
= 1.0.1 =
|
76 |
* Add support for site homepage only
|
77 |
|
78 |
+
= 1.0.2 =
|
79 |
+
* Fixed: Load before anything bug
|
80 |
+
* Fixed: Wave animation minor bug
|
81 |
+
* Added: Pro version link on settings page
|
82 |
+
|
83 |
== Upgrade Notice ==
|
84 |
|
85 |
= 1.0.0 =
|
settings/class-loftloader-settings.php
CHANGED
@@ -8,7 +8,6 @@ if(!defined('ABSPATH')){
|
|
8 |
* Main class for plugin option page
|
9 |
*
|
10 |
* @package LoftLoader
|
11 |
-
* @version 1.0
|
12 |
* @link http://www.loftocean.com/
|
13 |
* @author Suihai Huang from Loft Ocean Team
|
14 |
|
@@ -110,6 +109,8 @@ if(!class_exists('LoftLoader_Settings')){
|
|
110 |
$footer = '<div class="panel-footer">' . $this->get_buttons() . '</div>';
|
111 |
$content = $this->get_settings_content();
|
112 |
$action = admin_url('options.php');
|
|
|
|
|
113 |
$html = <<<ETO
|
114 |
<div class="wrap">
|
115 |
<div id="loftloader-options-panel" class="loftloader-options-panel">
|
@@ -121,6 +122,9 @@ if(!class_exists('LoftLoader_Settings')){
|
|
121 |
$footer
|
122 |
</form>
|
123 |
</div>
|
|
|
|
|
|
|
124 |
</div>
|
125 |
ETO;
|
126 |
echo $html;
|
8 |
* Main class for plugin option page
|
9 |
*
|
10 |
* @package LoftLoader
|
|
|
11 |
* @link http://www.loftocean.com/
|
12 |
* @author Suihai Huang from Loft Ocean Team
|
13 |
|
109 |
$footer = '<div class="panel-footer">' . $this->get_buttons() . '</div>';
|
110 |
$content = $this->get_settings_content();
|
111 |
$action = admin_url('options.php');
|
112 |
+
$ad_url = LOFTLOADER_URI . 'img/pro-ad.jpg';
|
113 |
+
$codecanyon = 'https://codecanyon.net/item/loftloader-pro-preloader-plugin-for-wordpress/17339671';
|
114 |
$html = <<<ETO
|
115 |
<div class="wrap">
|
116 |
<div id="loftloader-options-panel" class="loftloader-options-panel">
|
122 |
$footer
|
123 |
</form>
|
124 |
</div>
|
125 |
+
<div id="loftloader-pro-ad-wrapper">
|
126 |
+
<a href="$codecanyon" target="_blank"><img src="$ad_url"></a>
|
127 |
+
</div>
|
128 |
</div>
|
129 |
ETO;
|
130 |
echo $html;
|
settings/form/class-loftloader-checkbox.php
CHANGED
@@ -8,7 +8,6 @@ if(!defined('ABSPATH')){
|
|
8 |
* Type Checkbox
|
9 |
*
|
10 |
* @package LoftLoader
|
11 |
-
* @version 1.0
|
12 |
* @link http://www.loftocean.com/
|
13 |
* @author Suihai Huang from Loft Ocean Team
|
14 |
|
8 |
* Type Checkbox
|
9 |
*
|
10 |
* @package LoftLoader
|
|
|
11 |
* @link http://www.loftocean.com/
|
12 |
* @author Suihai Huang from Loft Ocean Team
|
13 |
|
settings/form/class-loftloader-form-base.php
CHANGED
@@ -8,7 +8,6 @@ if(!defined('ABSPATH')){
|
|
8 |
* The base class of each type of form element
|
9 |
*
|
10 |
* @package LoftLoader
|
11 |
-
* @version 1.0
|
12 |
* @link http://www.loftocean.com/
|
13 |
* @author Suihai Huang from Loft Ocean Team
|
14 |
|
8 |
* The base class of each type of form element
|
9 |
*
|
10 |
* @package LoftLoader
|
|
|
11 |
* @link http://www.loftocean.com/
|
12 |
* @author Suihai Huang from Loft Ocean Team
|
13 |
|
settings/form/class-loftloader-preview.php
CHANGED
@@ -8,7 +8,6 @@ if(!defined('ABSPATH')){
|
|
8 |
* Type Preloader_Preview, actually this includes a set of settings and a preview for these settings
|
9 |
*
|
10 |
* @package LoftLoader
|
11 |
-
* @version 1.0
|
12 |
* @link http://www.loftocean.com/
|
13 |
* @author Suihai Huang from Loft Ocean Team
|
14 |
|
8 |
* Type Preloader_Preview, actually this includes a set of settings and a preview for these settings
|
9 |
*
|
10 |
* @package LoftLoader
|
|
|
11 |
* @link http://www.loftocean.com/
|
12 |
* @author Suihai Huang from Loft Ocean Team
|
13 |
|