Elementor Custom Skin - Version 3.1.0

Version Description

  • Tweak: Ajax Pagination URL change is optional
  • Tweak: Experimental reinitilization of elementor JavaScript after an Ajax Request
  • Fixed issues with some ACF dynamic values
  • Fixed CSS issues with Ocean WP
  • Fixed Storeforent CSS issues
  • Added support for the latest Wordpress
  • Added support for the latest version of Elementor
Download this release

Release Info

Developer dudaster
Plugin Icon 128x128 Elementor Custom Skin
Version 3.1.0
Comparing to
See all releases

Code changes from version 3.0.0 to 3.1.0

assets/css/ecs-style.css CHANGED
@@ -53,7 +53,7 @@
53
  }
54
  /* fix storeforent css issues*/
55
 
56
- .elementor-editor-active #primary.content-area{
57
  float:none;
58
  }
59
 
53
  }
54
  /* fix storeforent css issues*/
55
 
56
+ .theme-storefront.elementor-editor-active #primary.content-area{
57
  float:none;
58
  }
59
 
assets/js/ecs_ajax_pagination.js CHANGED
@@ -80,6 +80,7 @@ jQuery(function($){
80
  });
81
 
82
  function EleCustomSkinChangeUrlPage(args){
 
83
  regex = /\/page\/[0-9]+\//gm;
84
  currenturl = window.location.pathname;
85
  newurl = currenturl.replace(regex, '/');
@@ -87,8 +88,15 @@ function EleCustomSkinChangeUrlPage(args){
87
  console.log(newurl);
88
  history.pushState({urlPath:newurl},"",newurl);
89
  }
 
 
 
 
 
 
90
  jQuery( document ).ready(function() {
91
 
92
  ECS_add_action("ajax", function(args){EleCustomSkinChangeUrlPage(args)});
 
93
 
94
  });
80
  });
81
 
82
  function EleCustomSkinChangeUrlPage(args){
83
+ if(!args.change_url) return;
84
  regex = /\/page\/[0-9]+\//gm;
85
  currenturl = window.location.pathname;
86
  newurl = currenturl.replace(regex, '/');
88
  console.log(newurl);
89
  history.pushState({urlPath:newurl},"",newurl);
90
  }
91
+
92
+ function EleCustomSkinReInitJs(args){
93
+ if(!args.reinit_js) return;
94
+ jQuery('.elementor-element-' + args.widget_id + ' .elementor-element').each(function() { elementorFrontend.elementsHandler.runReadyTrigger( jQuery( this ) ); });console.log(args.reinit_js);
95
+ }
96
+
97
  jQuery( document ).ready(function() {
98
 
99
  ECS_add_action("ajax", function(args){EleCustomSkinChangeUrlPage(args)});
100
+ ECS_add_action("ajax", function(args){EleCustomSkinReInitJs(args)});
101
 
102
  });
ele-custom-skin.php CHANGED
@@ -1,7 +1,7 @@
1
  <?php
2
  /*
3
  * Plugin Name: Ele Custom Skin
4
- * Version: 3.0.0
5
  * Description: Elementor Custom Skin for Posts and Archive Posts. You can create a skin as you want.
6
  * Plugin URI: https://dudaster.com
7
  * Author: Dudaster.com
@@ -10,6 +10,8 @@
10
  * Domain Path: /languages
11
  * License: GPLv3
12
  * License URI: http://www.gnu.org/licenses/gpl-3.0
 
 
13
  */
14
 
15
 
@@ -18,7 +20,7 @@ if ( ! defined( 'ABSPATH' ) ) exit; // Exit if accessed directly
18
  define( 'ELECS_DIR', plugin_dir_path( __FILE__ ));
19
  define( 'ELECS_NAME', plugin_basename( __FILE__ ));
20
  define( 'ELECS_URL', plugin_dir_url( __FILE__ ));
21
- define ('ELECS_VER','3.0.0');
22
 
23
  include_once ELECS_DIR.'includes/ecs-notices.php';
24
  include_once ELECS_DIR.'includes/ecs-dependencies.php';
1
  <?php
2
  /*
3
  * Plugin Name: Ele Custom Skin
4
+ * Version: 3.1.0
5
  * Description: Elementor Custom Skin for Posts and Archive Posts. You can create a skin as you want.
6
  * Plugin URI: https://dudaster.com
7
  * Author: Dudaster.com
10
  * Domain Path: /languages
11
  * License: GPLv3
12
  * License URI: http://www.gnu.org/licenses/gpl-3.0
13
+ * Elementor tested up to: 3.2.0
14
+ * Elementor Pro tested up to: 3.2.0
15
  */
16
 
17
 
20
  define( 'ELECS_DIR', plugin_dir_path( __FILE__ ));
21
  define( 'ELECS_NAME', plugin_basename( __FILE__ ));
22
  define( 'ELECS_URL', plugin_dir_url( __FILE__ ));
23
+ define ('ELECS_VER','3.1.0');
24
 
25
  include_once ELECS_DIR.'includes/ecs-notices.php';
26
  include_once ELECS_DIR.'includes/ecs-dependencies.php';
includes/ajax-pagination.php CHANGED
@@ -204,6 +204,32 @@ class ECS_Ajax_Load {
204
  ],
205
  ]
206
  );
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
207
 
208
 
209
  }
204
  ],
205
  ]
206
  );
207
+ $element->add_control(
208
+ 'change_url',
209
+ [
210
+ 'label' => __( 'Change URL on ajax load?', 'ele-custom-skin' ),
211
+ 'type' => \Elementor\Controls_Manager::SWITCHER,
212
+ 'label_off' => __( 'No', 'ele-custom-skin' ),
213
+ 'label_on' => __( 'Yes', 'ele-custom-skin' ),
214
+ 'return_value' => true,
215
+ 'separator' => 'before',
216
+ 'default' => false,
217
+ ]
218
+ );
219
+
220
+ $element->add_control(
221
+ 'reinit_js',
222
+ [
223
+ 'label' => __( 'Reinitialize Elementor JS on Ajax Pagination?', 'ele-custom-skin' ),
224
+ 'description' => __( 'This is used for the elements loaded through AJAX Pagination. This is experimental feature and it may not work properly.', 'ele-custom-skin'),
225
+ 'type' => \Elementor\Controls_Manager::SWITCHER,
226
+ 'label_off' => __( 'No', 'ele-custom-skin' ),
227
+ 'label_on' => __( 'Yes', 'ele-custom-skin' ),
228
+ 'return_value' => true,
229
+ 'separator' => 'before',
230
+ 'default' => false,
231
+ ]
232
+ );
233
 
234
 
235
  }
readme.txt CHANGED
@@ -3,12 +3,12 @@ Contributors: dudaster
3
  Tags: page-builder, elementor, loop, archive list, post widget, skin, custom, post grid
4
  Donate link: https://www.paypal.me/dudaster
5
  Requires at least: 5.0
6
- Tested up to: 5.6.0
7
- Stable tag: 3.0.1
8
  License: GPLv2 or later
9
  License URI: http://www.gnu.org/licenses/gpl-2.0.html
10
 
11
- Create new skins for Elementor PRO 2.x page builder. Design your own skins for Post and Post Archive Widgets using Elementor Loop Templates. Free post grid for Elementor.
12
 
13
  == Description ==
14
 
@@ -18,14 +18,6 @@ You can design a loop item just like a single template and it would be used as a
18
 
19
  Working on a major release!!! A new widget will be available that would increase the flexibility of loop creation.
20
 
21
- New in version 2.2.0
22
-
23
- Go to Pagination and you'll see "Load moare" pagination. It will load the posts trough AJAX. No more boring pagination.
24
-
25
- New in version 2.0.0
26
-
27
- The biggest newest feature is the Custom Grid. No more boring grid with fixed number of columns.
28
-
29
  All you have to do is to create a Custom Grid Template and place the Post Item Widget (placeholder) in your template made with sections and columns, and why not other widgets.
30
 
31
  [youtube http://www.youtube.com/watch?v=DwLFdaZ69KU&t=94]
@@ -72,6 +64,16 @@ Add to your template a Post or Post Archive widget and from Skins select Custom
72
 
73
  == Changelog ==
74
 
 
 
 
 
 
 
 
 
 
 
75
  = 3.0.1 =
76
  * Fixed minor issues
77
 
3
  Tags: page-builder, elementor, loop, archive list, post widget, skin, custom, post grid
4
  Donate link: https://www.paypal.me/dudaster
5
  Requires at least: 5.0
6
+ Tested up to: 5.7.1
7
+ Stable tag: 3.1.0
8
  License: GPLv2 or later
9
  License URI: http://www.gnu.org/licenses/gpl-2.0.html
10
 
11
+ Create new skins for Elementor PRO 3.x page builder. Design your own skins for Post and Post Archive Widgets using Elementor Loop Templates. Free post grid for Elementor.
12
 
13
  == Description ==
14
 
18
 
19
  Working on a major release!!! A new widget will be available that would increase the flexibility of loop creation.
20
 
 
 
 
 
 
 
 
 
21
  All you have to do is to create a Custom Grid Template and place the Post Item Widget (placeholder) in your template made with sections and columns, and why not other widgets.
22
 
23
  [youtube http://www.youtube.com/watch?v=DwLFdaZ69KU&t=94]
64
 
65
  == Changelog ==
66
 
67
+
68
+ = 3.1.0 =
69
+ * Tweak: Ajax Pagination URL change is optional
70
+ * Tweak: Experimental reinitilization of elementor JavaScript after an Ajax Request
71
+ * Fixed issues with some ACF dynamic values
72
+ * Fixed CSS issues with Ocean WP
73
+ * Fixed Storeforent CSS issues
74
+ * Added support for the latest Wordpress
75
+ * Added support for the latest version of Elementor
76
+
77
  = 3.0.1 =
78
  * Fixed minor issues
79
 
skins/skin-custom.php CHANGED
@@ -5,7 +5,7 @@ use Elementor\Controls_Manager;
5
  use Elementor\Group_Control_Box_Shadow;
6
  use Elementor\Group_Control_Image_Size;
7
  use Elementor\Group_Control_Typography;
8
- use Elementor\Scheme_Color;
9
  use Elementor\Scheme_Typography;
10
  use Elementor\Widget_Base;
11
  use ElementorPro\Plugin;
@@ -348,6 +348,8 @@ class Skin_Posts_ECS extends Skin_Base {
348
  'widget_id' => $this->parent->get_id(),
349
  'post_id' => get_the_id(),
350
  'theme_id' => is_null($theme_document) ? '' : $theme_document->get_main_id(),
 
 
351
 
352
  ];
353
 
@@ -575,23 +577,27 @@ class Skin_Posts_ECS extends Skin_Base {
575
  }
576
 
577
  public function get_settings_for_display( $setting_key = null ) {
578
-
579
- if ( $setting_key ) {
580
- $settings = [
581
- $setting_key => $this->parent->get_settings( $setting_key ),
582
- ];
583
- } else {
584
- $settings = $this->parent->get_active_settings();
 
 
 
 
585
 
586
- }
587
- $controls=$this->parent->get_controls();
588
- $controls = array_intersect_key($controls,$settings);
589
- $parsed_settings = $this->parent->parse_dynamic_settings( $settings, $controls );
590
- if ( $setting_key ) {
591
- return $parsed_settings[ $setting_key ];
592
- }
593
-
594
- return $parsed_settings;
595
  }
596
 
597
  }
5
  use Elementor\Group_Control_Box_Shadow;
6
  use Elementor\Group_Control_Image_Size;
7
  use Elementor\Group_Control_Typography;
8
+ //use Elementor\Scheme_Color;
9
  use Elementor\Scheme_Typography;
10
  use Elementor\Widget_Base;
11
  use ElementorPro\Plugin;
348
  'widget_id' => $this->parent->get_id(),
349
  'post_id' => get_the_id(),
350
  'theme_id' => is_null($theme_document) ? '' : $theme_document->get_main_id(),
351
+ 'change_url' => $settings['change_url'],
352
+ 'reinit_js' => $settings['reinit_js'],
353
 
354
  ];
355
 
577
  }
578
 
579
  public function get_settings_for_display( $setting_key = null ) {
580
+ //let's position ourselfs inside the loop item
581
+ global $wp_query;
582
+ $old_query=$wp_query;
583
+ $new_query=new \WP_Query( array( 'p' => get_the_ID(), 'post_type' => get_post_type() ) );
584
+ $wp_query = $new_query;
585
+ if ( $setting_key ) {
586
+ $settings = [
587
+ $setting_key => $this->parent->get_settings( $setting_key ),
588
+ ];
589
+ } else {
590
+ $settings = $this->parent->get_active_settings();
591
 
592
+ }
593
+ $controls=$this->parent->get_controls();
594
+ $controls = array_intersect_key($controls,$settings);
595
+ $parsed_settings = $this->parent->parse_dynamic_settings( $settings, $controls );
596
+ $wp_query = $old_query;//get out of loop item
597
+ if ( $setting_key ) {
598
+ return $parsed_settings[ $setting_key ];
599
+ }
600
+ return $parsed_settings;
601
  }
602
 
603
  }