Page Builder: PageLayer – Drag and Drop website builder - Version 1.6.7

Version Description

(April 07, 2022) = * [Bug-Fix] In some cases, the onload content animation was not working properly. This is fixed. * [Bug-Fix] In some cases, the CSS was not applied properly for the tablet and mobile devices. This is fixed. * [Bug-Fix] In some cases, sticky elements styles were not applied properly. This is fixed.

Download this release

Release Info

Developer pagelayer
Plugin Icon 128x128 Page Builder: PageLayer – Drag and Drop website builder
Version 1.6.7
Comparing to
See all releases

Code changes from version 1.6.6 to 1.6.7

css/combined.css CHANGED
@@ -191,7 +191,6 @@ flex-grow: 1; }
191
  order: 1; }
192
 
193
  /**************My Style for front-end *********/
194
-
195
  .pagelayer-img{
196
  vertical-align:bottom;
197
  max-width: 100%;
191
  order: 1; }
192
 
193
  /**************My Style for front-end *********/
 
194
  .pagelayer-img{
195
  vertical-align:bottom;
196
  max-width: 100%;
css/pagelayer-frontend.css CHANGED
@@ -191,7 +191,6 @@ flex-grow: 1; }
191
  order: 1; }
192
 
193
  /**************My Style for front-end *********/
194
-
195
  .pagelayer-img{
196
  vertical-align:bottom;
197
  max-width: 100%;
191
  order: 1; }
192
 
193
  /**************My Style for front-end *********/
 
194
  .pagelayer-img{
195
  vertical-align:bottom;
196
  max-width: 100%;
init.php CHANGED
@@ -5,7 +5,7 @@ if (!defined('ABSPATH')) exit;
5
 
6
  define('PAGELAYER_BASE', plugin_basename(PAGELAYER_FILE));
7
  define('PAGELAYER_PRO_BASE', 'pagelayer-pro/pagelayer-pro.php');
8
- define('PAGELAYER_VERSION', '1.6.6');
9
  define('PAGELAYER_DIR', dirname(PAGELAYER_FILE));
10
  define('PAGELAYER_SLUG', 'pagelayer');
11
  define('PAGELAYER_URL', plugins_url('', PAGELAYER_FILE));
@@ -746,7 +746,8 @@ function pagelayer_global_styles(){
746
 
747
  global $pagelayer, $post;
748
 
749
- $styles = '<style id="pagelayer-global-styles" type="text/css">'.PHP_EOL;
 
750
 
751
  // Style for only child row holder
752
  $styles .= '.pagelayer-row-stretch-auto > .pagelayer-row-holder, .pagelayer-row-stretch-full > .pagelayer-row-holder.pagelayer-width-auto{ max-width: '.$pagelayer->settings['max_width'].'px; margin-left: auto; margin-right: auto;}'.PHP_EOL;
5
 
6
  define('PAGELAYER_BASE', plugin_basename(PAGELAYER_FILE));
7
  define('PAGELAYER_PRO_BASE', 'pagelayer-pro/pagelayer-pro.php');
8
+ define('PAGELAYER_VERSION', '1.6.7');
9
  define('PAGELAYER_DIR', dirname(PAGELAYER_FILE));
10
  define('PAGELAYER_SLUG', 'pagelayer');
11
  define('PAGELAYER_URL', plugins_url('', PAGELAYER_FILE));
746
 
747
  global $pagelayer, $post;
748
 
749
+ $styles = '<style id="pagelayer-wow-animation-style" type="text/css">.pagelayer-wow{visibility: hidden;}</style>
750
+ <style id="pagelayer-global-styles" type="text/css">'.PHP_EOL;
751
 
752
  // Style for only child row holder
753
  $styles .= '.pagelayer-row-stretch-auto > .pagelayer-row-holder, .pagelayer-row-stretch-full > .pagelayer-row-holder.pagelayer-width-auto{ max-width: '.$pagelayer->settings['max_width'].'px; margin-left: auto; margin-right: auto;}'.PHP_EOL;
js/combined.js CHANGED
@@ -117,6 +117,9 @@ jQuery(document).ready(function(){
117
 
118
  new WOW({boxClass:'pagelayer-wow'}).init();
119
 
 
 
 
120
  });
121
 
122
  // For automatic row change
117
 
118
  new WOW({boxClass:'pagelayer-wow'}).init();
119
 
120
+ // Remove pagelayer-wow temporary style after wow init added from wp_head
121
+ jQuery('#pagelayer-wow-animation-style').remove();
122
+
123
  });
124
 
125
  // For automatic row change
js/pagelayer-frontend.js CHANGED
@@ -117,6 +117,9 @@ jQuery(document).ready(function(){
117
 
118
  new WOW({boxClass:'pagelayer-wow'}).init();
119
 
 
 
 
120
  });
121
 
122
  // For automatic row change
117
 
118
  new WOW({boxClass:'pagelayer-wow'}).init();
119
 
120
+ // Remove pagelayer-wow temporary style after wow init added from wp_head
121
+ jQuery('#pagelayer-wow-animation-style').remove();
122
+
123
  });
124
 
125
  // For automatic row change
main/shortcode_functions.php CHANGED
@@ -174,6 +174,11 @@ function pagelayer_render_shortcode($atts, $content = '', $tag = '', $inner_bloc
174
 
175
  //echo $tab.' - '.$section.' - '.$prop.'<br>';
176
 
 
 
 
 
 
177
  // No value set
178
  if(empty($el['atts'][$prop]) && empty($el['atts'][$prop.'_tablet']) && empty($el['atts'][$prop.'_mobile'])){
179
  continue;
@@ -267,11 +272,6 @@ function pagelayer_render_shortcode($atts, $content = '', $tag = '', $inner_bloc
267
  $el['tmp'][$prop.'-urls'] = json_encode($img_urls);
268
  }
269
 
270
- // Handle the edit fields
271
- if(!empty($param['edit'])){
272
- $el['edit'][$prop] = $param['edit'];
273
- }
274
-
275
  // Backward compatibility of row
276
  if($el['tag'] == 'pl_row' && $prop == 'content_pos' && !empty($el['atts'][$prop])){
277
  if($el['atts'][$prop] == 'baseline'){
@@ -403,21 +403,18 @@ function pagelayer_render_shortcode($atts, $content = '', $tag = '', $inner_bloc
403
  $selector = (!is_numeric($k) ? $k : $el['cssSel']);
404
  $selector = pagelayer_parse_el_vars($selector, $el);
405
 
406
- $ender = '';
407
 
408
  if($mk == 'tablet'){
409
- $selector = '@media (max-width: '.$pagelayer->settings['tablet_breakpoint'].'px) and (min-width: '.($pagelayer->settings['mobile_breakpoint'] + 1).'px){'.$selector;
410
- $ender = '}';
411
  }
412
 
413
  if($mk == 'mobile'){
414
- $selector = '@media (max-width: '.$pagelayer->settings['mobile_breakpoint'].'px){'.$selector;
415
- $ender = '}';
416
  }
417
 
418
  // Make the CSS
419
  if(!empty($selector)){
420
- $el['css'][$selector.'{|pl|}'.$ender][] = rtrim( trim( pagelayer_css_render($v, $el['atts'][$M_prop], @$param['sep']) ), ';' );
421
  }else{
422
  $el['css'][][] = pagelayer_parse_el_vars($el['atts'][$M_prop],$el);
423
  }
@@ -689,13 +686,33 @@ function pagelayer_render_shortcode($atts, $content = '', $tag = '', $inner_bloc
689
  $style = '';
690
  if(!empty($el['css'])){
691
 
 
692
  $style = '<style pagelayer-style-id="'.$el['id'].'">';
693
  foreach($el['css'] as $ck => $cv){
694
- $tck = explode('|pl|', $ck);
695
- $csel = !empty($tck[0]) ? $tck[0]: '';
696
- $cend = !empty($tck[1]) ? $tck[1]: '';
697
- $style .= $csel.implode(';', $cv).$cend."\n";
 
 
 
 
 
 
 
 
 
 
698
  }
 
 
 
 
 
 
 
 
 
699
  $style .= '</style>';
700
  $style = pagelayer_parse_vars($style, $el);
701
 
@@ -820,7 +837,7 @@ function pagelayer_parse_el_vars($str, &$el){
820
  if(!empty($is_live) && $is_editable){
821
  $str = str_replace('{{wrap}}', $el['wrap'], $str);
822
  }else{
823
- $str = str_replace('{{wrap}}', $el['selector'], $str);
824
  }
825
  $str = str_replace('{{ele_id}}', $el['id'], $str);
826
 
174
 
175
  //echo $tab.' - '.$section.' - '.$prop.'<br>';
176
 
177
+ // Handle the edit fields
178
+ if(!empty($param['edit'])){
179
+ $el['edit'][$prop] = $param['edit'];
180
+ }
181
+
182
  // No value set
183
  if(empty($el['atts'][$prop]) && empty($el['atts'][$prop.'_tablet']) && empty($el['atts'][$prop.'_mobile'])){
184
  continue;
272
  $el['tmp'][$prop.'-urls'] = json_encode($img_urls);
273
  }
274
 
 
 
 
 
 
275
  // Backward compatibility of row
276
  if($el['tag'] == 'pl_row' && $prop == 'content_pos' && !empty($el['atts'][$prop])){
277
  if($el['atts'][$prop] == 'baseline'){
403
  $selector = (!is_numeric($k) ? $k : $el['cssSel']);
404
  $selector = pagelayer_parse_el_vars($selector, $el);
405
 
 
406
 
407
  if($mk == 'tablet'){
408
+ $selector = '|pl_tablet|'.$selector;
 
409
  }
410
 
411
  if($mk == 'mobile'){
412
+ $selector = '|pl_mobile|'.$selector;
 
413
  }
414
 
415
  // Make the CSS
416
  if(!empty($selector)){
417
+ $el['css'][$selector][] = rtrim( trim( pagelayer_css_render($v, $el['atts'][$M_prop], @$param['sep']) ), ';' );
418
  }else{
419
  $el['css'][][] = pagelayer_parse_el_vars($el['atts'][$M_prop],$el);
420
  }
686
  $style = '';
687
  if(!empty($el['css'])){
688
 
689
+ $screen_style = array('tablet' => '', 'mobile' => '');
690
  $style = '<style pagelayer-style-id="'.$el['id'].'">';
691
  foreach($el['css'] as $ck => $cv){
692
+ preg_match('/\|pl_(mobile|tablet)\|/is', $ck, $screen_matches);
693
+ $ck = str_replace(['|pl_mobile|', '|pl_tablet|'], '', $ck);
694
+ $media = @$screen_matches[1];
695
+
696
+ $merge_css = implode(';', $cv);
697
+ $combine_css = (!is_numeric($ck) ? $ck.'{'.$merge_css.'}' : $merge_css ).PHP_EOL;
698
+
699
+ // Mobile or tablet ?
700
+ if(!empty($media)){
701
+ $screen_style[$media] .= $combine_css;
702
+ continue;
703
+ }
704
+
705
+ $style .= $combine_css;
706
  }
707
+
708
+ if(!empty($screen_style['tablet'])){
709
+ $style .= '@media (max-width: '.$pagelayer->settings['tablet_breakpoint'].'px) and (min-width: '.($pagelayer->settings['mobile_breakpoint'] + 1).'px){'.$screen_style['tablet'].'}'.PHP_EOL;
710
+ }
711
+
712
+ if(!empty($screen_style['mobile'])){
713
+ $style .= '@media (max-width: '.$pagelayer->settings['mobile_breakpoint'].'px){'.$screen_style['mobile'].'}'.PHP_EOL;
714
+ }
715
+
716
  $style .= '</style>';
717
  $style = pagelayer_parse_vars($style, $el);
718
 
837
  if(!empty($is_live) && $is_editable){
838
  $str = str_replace('{{wrap}}', $el['wrap'], $str);
839
  }else{
840
+ $str = str_replace('{{wrap}}', $el['cssSel'], $str);
841
  }
842
  $str = str_replace('{{ele_id}}', $el['id'], $str);
843
 
pagelayer.php CHANGED
@@ -3,7 +3,7 @@
3
  Plugin Name: PageLayer
4
  Plugin URI: http://wordpress.org/plugins/pagelayer/
5
  Description: PageLayer is a WordPress page builder plugin. Its very easy to use and very light on the browser.
6
- Version: 1.6.6
7
  Author: Pagelayer Team
8
  Author URI: https://pagelayer.com/
9
  License: LGPL v2.1
3
  Plugin Name: PageLayer
4
  Plugin URI: http://wordpress.org/plugins/pagelayer/
5
  Description: PageLayer is a WordPress page builder plugin. Its very easy to use and very light on the browser.
6
+ Version: 1.6.7
7
  Author: Pagelayer Team
8
  Author URI: https://pagelayer.com/
9
  License: LGPL v2.1
readme.txt CHANGED
@@ -4,7 +4,7 @@ Tags: page builder, editor, drag and drop, form builder, landing page, responsiv
4
  Requires at least: 4.7
5
  Tested up to: 5.9
6
  Requires PHP: 5.5
7
- Stable tag: 1.6.6
8
  License: LGPL v2.1
9
  License URI: http://www.gnu.org/licenses/lgpl-2.1.html
10
 
@@ -127,8 +127,13 @@ Do you have questions related to Pagelayer? Use the following links :
127
 
128
  == Changelog ==
129
 
 
 
 
 
 
130
  = 1.6.6 (March 09, 2022) =
131
- * [Task] The editing experience within Pagelayer editor has been further improved. Now user can move from one widget to another with the help of up and down arrow keys. Weare trying to make the editor into a more user friendly document editor.
132
  * [Task] Now we will add a text widget after the active widget when enter is pressed. You can add a slash "/" to search and convert the widget.
133
 
134
  = 1.6.5 (Feb 21, 2022) =
4
  Requires at least: 4.7
5
  Tested up to: 5.9
6
  Requires PHP: 5.5
7
+ Stable tag: 1.6.7
8
  License: LGPL v2.1
9
  License URI: http://www.gnu.org/licenses/lgpl-2.1.html
10
 
127
 
128
  == Changelog ==
129
 
130
+ = 1.6.7 (April 07, 2022) =
131
+ * [Bug-Fix] In some cases, the onload content animation was not working properly. This is fixed.
132
+ * [Bug-Fix] In some cases, the CSS was not applied properly for the tablet and mobile devices. This is fixed.
133
+ * [Bug-Fix] In some cases, sticky elements styles were not applied properly. This is fixed.
134
+
135
  = 1.6.6 (March 09, 2022) =
136
+ * [Task] The editing experience within Pagelayer editor has been further improved. Now users can move from one widget to another with the help of up and down arrow keys. We are trying to make the editor into a more user friendly document editor.
137
  * [Task] Now we will add a text widget after the active widget when enter is pressed. You can add a slash "/" to search and convert the widget.
138
 
139
  = 1.6.5 (Feb 21, 2022) =