Premium Addons for Elementor - Version 2.4.0

Version Description

  • Fix: Repeater issue in Grid and Fancy Text Premium widgets.
  • Fix: Pagination overlapping issue in Premium Blog widget.
Download this release

Release Info

Developer leap13
Plugin Icon 128x128 Premium Addons for Elementor
Version 2.4.0
Comparing to
See all releases

Code changes from version 2.3.9 to 2.4.0

admin/settings-page.php CHANGED
@@ -373,7 +373,7 @@ class PA_admin_settings {
373
374
<tr class="pa-roll-row">
375
<th>Rollback Version</th>
376
- <td><div><?php echo sprintf( '<a target="_blank" href="%s" class="button pa-btn pa-rollback-button elementor-button-spinner">Reinstall Version 2.3.8</a>', wp_nonce_url( admin_url( 'admin-post.php?action=premium_addons_rollback' ), 'premium_addons_rollback' ) ); ?> </div><p class="pa-roll-desc"><span>Warning: Please backup your database before making the rollback.</span></p></td>
377
</tr>
378
<tr>
379
<th><h4 class="pa-beta-test">Become a Beta Tester</h4><span class="pa-beta-test-span">Turn-on Beta Tester, to get notified when a new beta version of Premium Addons for Elementor. The Beta version will not install automatically. You always have the option to ignore it.</span></th>
373
374
<tr class="pa-roll-row">
375
<th>Rollback Version</th>
376
+ <td><div><?php echo sprintf( '<a target="_blank" href="%s" class="button pa-btn pa-rollback-button elementor-button-spinner">Reinstall Version 2.3.9</a>', wp_nonce_url( admin_url( 'admin-post.php?action=premium_addons_rollback' ), 'premium_addons_rollback' ) ); ?> </div><p class="pa-roll-desc"><span>Warning: Please backup your database before making the rollback.</span></p></td>
377
</tr>
378
<tr>
379
<th><h4 class="pa-beta-test">Become a Beta Tester</h4><span class="pa-beta-test-span">Turn-on Beta Tester, to get notified when a new beta version of Premium Addons for Elementor. The Beta version will not install automatically. You always have the option to ignore it.</span></th>
assets/css/premium-addons.css CHANGED
@@ -1825,6 +1825,7 @@ button.premium-modal-box-modal-close {
1825
transition: color 0.3s ease-in-out;
1826
}
1827
.premium-blog-pagination-container {
1828
margin-top: -30px;
1829
text-align: right;
1830
}
1825
transition: color 0.3s ease-in-out;
1826
}
1827
.premium-blog-pagination-container {
1828
+ padding: 15px;
1829
margin-top: -30px;
1830
text-align: right;
1831
}
premium-addons-for-elementor.php CHANGED
@@ -3,7 +3,7 @@
3
Plugin Name: Premium Addons for Elementor
4
Description: Premium Addons Plugin Includes 20 premium widgets for Elementor Page Builder.
5
Plugin URI: https://premiumaddons.com
6
- Version: 2.3.9
7
Author: Leap13
8
Author URI: http://leap13.com/
9
Text Domain: premium-addons-for-elementor
@@ -22,12 +22,12 @@ if( !function_exists('add_action') ) {
22
23
if( !defined( 'ABSPATH' ) ) exit; // No access of directly access
24
25
- define( 'PREMIUM_ADDONS_VERSION', '2.3.9' );
26
define( 'PREMIUM_ADDONS_URL', plugins_url('/', __FILE__ ) );
27
define( 'PREMIUM_ADDONS_PATH', plugin_dir_path( __FILE__ ) );
28
define( 'PREMIUM_ADDONS_FILE', __FILE__ );
29
define( 'PREMIUM_ADDONS_BASENAME', plugin_basename(__FILE__));
30
- define( 'PREMIUM_ADDONS_STABLE_VERSION', '2.3.8');
31
32
33
/**
3
Plugin Name: Premium Addons for Elementor
4
Description: Premium Addons Plugin Includes 20 premium widgets for Elementor Page Builder.
5
Plugin URI: https://premiumaddons.com
6
+ Version: 2.4.0
7
Author: Leap13
8
Author URI: http://leap13.com/
9
Text Domain: premium-addons-for-elementor
22
23
if( !defined( 'ABSPATH' ) ) exit; // No access of directly access
24
25
+ define( 'PREMIUM_ADDONS_VERSION', '2.4.0' );
26
define( 'PREMIUM_ADDONS_URL', plugins_url('/', __FILE__ ) );
27
define( 'PREMIUM_ADDONS_PATH', plugin_dir_path( __FILE__ ) );
28
define( 'PREMIUM_ADDONS_FILE', __FILE__ );
29
define( 'PREMIUM_ADDONS_BASENAME', plugin_basename(__FILE__));
30
+ define( 'PREMIUM_ADDONS_STABLE_VERSION', '2.3.9');
31
32
33
/**
readme.txt CHANGED
@@ -5,7 +5,7 @@ Donate link: http://premiumaddons.com
5
Requires at least: 4.5
6
Tested up to: 4.9.7
7
Requires PHP: 5.4
8
- Stable tag: 2.3.9
9
License: GPL v3.0
10
License URI: https://opensource.org/licenses/GPL-3.0
11
@@ -99,6 +99,11 @@ Premium Addons for Elementor is light weight and we also gave you the control to
99
100
== Changelog ==
101
102
= 2.3.9 =
103
104
- Tweak: Added Posts Spacing option for Premium Blog widget.
5
Requires at least: 4.5
6
Tested up to: 4.9.7
7
Requires PHP: 5.4
8
+ Stable tag: 2.4.0
9
License: GPL v3.0
10
License URI: https://opensource.org/licenses/GPL-3.0
11
99
100
== Changelog ==
101
102
+ = 2.4.0 =
103
+
104
+ - Fix: Repeater issue in Grid and Fancy Text Premium widgets.
105
+ - Fix: Pagination overlapping issue in Premium Blog widget.
106
+
107
= 2.3.9 =
108
109
- Tweak: Added Posts Spacing option for Premium Blog widget.
widgets/premium-blog.php CHANGED
@@ -957,6 +957,7 @@ if(count($posts)){
957
</div>
958
<?php }?>
959
<div class="premium-blog-clear-fix"></div>
960
<?php if ( $settings['premium_blog_paging'] === 'yes' ) : ?>
961
<div class="premium-blog-pagination-container">
962
<?php
@@ -982,7 +983,6 @@ if(count($posts)){
982
?>
983
</div>
984
<?php endif; ?>
985
- </div>
986
<?php
987
echo $this->get_blog_responsive_style();
988
wp_reset_postdata();
957
</div>
958
<?php }?>
959
<div class="premium-blog-clear-fix"></div>
960
+ </div>
961
<?php if ( $settings['premium_blog_paging'] === 'yes' ) : ?>
962
<div class="premium-blog-pagination-container">
963
<?php
983
?>
984
</div>
985
<?php endif; ?>
986
<?php
987
echo $this->get_blog_responsive_style();
988
wp_reset_postdata();
widgets/premium-fancytext.php CHANGED
@@ -49,6 +49,17 @@ class Premium_Fancy_Text_Widget extends Widget_Base
49
]
50
);
51
52
/*Fancy Text Strings*/
53
$this->add_control('premium_fancy_text_strings',
54
[
@@ -65,18 +76,10 @@ class Premium_Fancy_Text_Widget extends Widget_Base
65
'premium_text_strings_text_field' => esc_html__( 'Awesome', 'premium-addons-for-elementor' ),
66
],
67
],
68
- 'fields' => [
69
- [
70
- 'name' => 'premium_text_strings_text_field',
71
- 'label' => esc_html__( 'Fancy String', 'premium-addons-for-elementor' ),
72
- 'type' => Controls_Manager::TEXT,
73
- 'dynamic' => [ 'active' => true ],
74
- 'label_block' => true,
75
- ],
76
- ],
77
'title_field' => '{{{ premium_text_strings_text_field }}}',
78
- ]
79
- );
80
81
/*Prefix Text*/
82
$this->add_control('premium_fancy_suffix_text',
49
]
50
);
51
52
+ $repeater = new REPEATER();
53
+
54
+ $repeater->add_control('premium_text_strings_text_field',
55
+ [
56
+ 'label' => esc_html__( 'Fancy String', 'premium-addons-for-elementor' ),
57
+ 'dynamic' => [ 'active' => true ],
58
+ 'type' => Controls_Manager::TEXT,
59
+ 'label_block' => true,
60
+ ]
61
+ );
62
+
63
/*Fancy Text Strings*/
64
$this->add_control('premium_fancy_text_strings',
65
[
76
'premium_text_strings_text_field' => esc_html__( 'Awesome', 'premium-addons-for-elementor' ),
77
],
78
],
79
+ 'fields' => array_values( $repeater->get_controls() ),
80
'title_field' => '{{{ premium_text_strings_text_field }}}',
81
+ ]
82
+ );
83
84
/*Prefix Text*/
85
$this->add_control('premium_fancy_suffix_text',
widgets/premium-grid.php CHANGED
@@ -45,6 +45,16 @@ class Premium_Image_Gallery_Widget extends Widget_Base {
45
'label' => esc_html__('Categories','premium-addons-for-elementor'),
46
]);
47
48
$this->add_control('premium_gallery_cats_content',
49
[
50
'label' => __( 'Categories', 'premium-addons-for-elementor' ),
@@ -57,14 +67,7 @@ class Premium_Image_Gallery_Widget extends Widget_Base {
57
'premium_gallery_img_cat' => 'Category 2',
58
],
59
],
60
- 'fields' => [
61
- [
62
- 'name' => 'premium_gallery_img_cat',
63
- 'label' => esc_html__( 'Category', 'premium-addons-for-elementor' ),
64
- 'type' => Controls_Manager::TEXT,
65
- 'dynamic' => [ 'active' => true ],
66
- ],
67
- ],
68
'title_field' => '{{{ premium_gallery_img_cat }}}',
69
]
70
);
45
'label' => esc_html__('Categories','premium-addons-for-elementor'),
46
]);
47
48
+ $repeater = new REPEATER();
49
+
50
+ $repeater->add_control( 'premium_gallery_img_cat',
51
+ [
52
+ 'label' => esc_html__( 'Category', 'premium-addons-for-elementor' ),
53
+ 'type' => Controls_Manager::TEXT,
54
+ 'dynamic' => [ 'active' => true ],
55
+ ]
56
+ );
57
+
58
$this->add_control('premium_gallery_cats_content',
59
[
60
'label' => __( 'Categories', 'premium-addons-for-elementor' ),
67
'premium_gallery_img_cat' => 'Category 2',
68
],
69
],
70
+ 'fields' => array_values( $repeater->get_controls() ) ,
71
'title_field' => '{{{ premium_gallery_img_cat }}}',
72
]
73
);
widgets/premium-maps.php CHANGED
@@ -75,59 +75,71 @@ class Premium_Maps_Widget extends Widget_Base
75
76
$this->end_controls_section();
77
78
- $this->start_controls_section('premium_maps_map_pins_settings',
79
- [
80
- 'label' => esc_html__('Markers', 'premium-addons-for-elementor'),
81
- ]
82
- );
83
84
$this->add_control('premium_maps_map_pins',
85
- [
86
- 'label' => esc_html__('Map Pins', 'premium-addons-for-elementor'),
87
- 'type' => Controls_Manager::REPEATER,
88
- 'default' => [
89
- 'map_latitude' => '18.591212',
90
- 'map_longitude' => '73.741261',
91
- 'pin_title' => esc_html__('Premium Google Maps', 'premium-addons-for-elementor'),
92
- 'pin_desc' => esc_html__('Add an optional description to your map pin', 'premium-addons-for-elementor'),
93
- ],
94
- 'fields' => [
95
- [
96
- 'name' => 'map_latitude',
97
- 'label' => esc_html__('Latitude', 'premium-addons-for-elementor'),
98
- 'type' => Controls_Manager::TEXT,
99
- 'description' => 'Click <a href="https://www.latlong.net/" target="_blank">here</a> to get your location coordinates',
100
- 'label_block' => true,
101
- ],
102
- [
103
- 'name' => 'map_longitude',
104
- 'label' => esc_html__('Longitude', 'premium-addons-for-elementor'),
105
- 'type' => Controls_Manager::TEXT,
106
- 'description' => 'Click <a href="https://www.latlong.net/" target="_blank">here</a> to get your location coordinates',
107
- 'label_block' => true,
108
- ],
109
- [
110
- 'name' => 'pin_title',
111
- 'label' => esc_html__('Title', 'premium-addons-for-elementor'),
112
- 'type' => Controls_Manager::TEXT,
113
- 'dynamic' => [ 'active' => true ],
114
- 'label_block' => true,
115
- ],
116
- [
117
- 'name' => 'pin_desc',
118
- 'label' => esc_html__('Description', 'premium-addons-for-elementor'),
119
- 'type' => Controls_Manager::WYSIWYG,
120
- 'dynamic' => [ 'active' => true ],
121
- 'label_block' => true,
122
- ],
123
- [
124
- 'name' => 'pin_icon',
125
- 'label' => esc_html__('Custom Icon', 'premium-addons-for-elementor'),
126
- 'type' => Controls_Manager::MEDIA,
127
- ],
128
- ],
129
- ]
130
- );
131
132
$this->end_controls_section();
133
75
76
$this->end_controls_section();
77
78
+ $this->start_controls_section('premium_maps_map_pins_settings',
79
+ [
80
+ 'label' => esc_html__('Markers', 'premium-addons-for-elementor'),
81
+ ]
82
+ );
83
+
84
+ $repeater = new REPEATER();
85
+
86
+ $repeater->add_control('map_latitude',
87
+ [
88
+ 'label' => esc_html__('Latitude', 'premium-addons-for-elementor'),
89
+ 'type' => Controls_Manager::TEXT,
90
+ 'description' => 'Click <a href="https://www.latlong.net/" target="_blank">here</a> to get your location coordinates',
91
+ 'label_block' => true,
92
+ ]
93
+ );
94
+
95
+ $repeater->add_control('map_longitude',
96
+ [
97
+ 'name' => 'map_longitude',
98
+ 'label' => esc_html__('Longitude', 'premium-addons-for-elementor'),
99
+ 'type' => Controls_Manager::TEXT,
100
+ 'description' => 'Click <a href="https://www.latlong.net/" target="_blank">here</a> to get your location coordinates',
101
+ 'label_block' => true,
102
+ ]
103
+ );
104
+
105
+ $repeater->add_control('pin_title',
106
+ [
107
+ 'label' => esc_html__('Title', 'premium-addons-for-elementor'),
108
+ 'type' => Controls_Manager::TEXT,
109
+ 'dynamic' => [ 'active' => true ],
110
+ 'label_block' => true,
111
+ ]
112
+ );
113
+
114
+ $repeater->add_control('pin_desc',
115
+ [
116
+ 'label' => esc_html__('Description', 'premium-addons-for-elementor'),
117
+ 'type' => Controls_Manager::WYSIWYG,
118
+ 'dynamic' => [ 'active' => true ],
119
+ 'label_block' => true,
120
+ ]
121
+ );
122
+
123
+ $repeater->add_control('pin_icon',
124
+ [
125
+ 'label' => esc_html__('Custom Icon', 'premium-addons-for-elementor'),
126
+ 'type' => Controls_Manager::MEDIA,
127
+ ]
128
+ );
129
130
$this->add_control('premium_maps_map_pins',
131
+ [
132
+ 'label' => esc_html__('Map Pins', 'premium-addons-for-elementor'),
133
+ 'type' => Controls_Manager::REPEATER,
134
+ 'default' => [
135
+ 'map_latitude' => '18.591212',
136
+ 'map_longitude' => '73.741261',
137
+ 'pin_title' => esc_html__('Premium Google Maps', 'premium-addons-for-elementor'),
138
+ 'pin_desc' => esc_html__('Add an optional description to your map pin', 'premium-addons-for-elementor'),
139
+ ],
140
+ 'fields' => array_values( $repeater->get_controls() ),
141
+ ]
142
+ );
143
144
$this->end_controls_section();
145
widgets/premium-pricing-table.php CHANGED
@@ -165,6 +165,24 @@ class Premium_Pricing_Table_Widget extends Widget_Base
165
]
166
);
167
168
$this->add_control('premium_fancy_text_list_items',
169
[
170
'label' => esc_html__( 'Features', 'premium-addons-for-elementor' ),
@@ -183,20 +201,7 @@ class Premium_Pricing_Table_Widget extends Widget_Base
183
'premium_pricing_list_item_text' => esc_html__( 'List Item #3', 'premium-addons-for-elementor' ),
184
],
185
],
186
- 'fields' => [
187
- [
188
- 'name' => 'premium_pricing_list_item_text',
189
- 'label' => esc_html__( 'Text', 'premium-addons-for-elementor' ),
190
- 'type' => Controls_Manager::TEXT,
191
- 'dynamic' => [ 'active' => true ],
192
- 'label_block' => true,
193
- ],
194
- [
195
- 'name' => 'premium_pricing_list_item_icon',
196
- 'label' => esc_html__( 'Icon', 'premium-addons-for-elementor' ),
197
- 'type' => Controls_Manager::ICON,
198
- ],
199
- ],
200
]
201
);
202
165
]
166
);
167
168
+ $repeater = new REPEATER();
169
+
170
+ $repeater->add_control('premium_pricing_list_item_text',
171
+ [
172
+ 'label' => esc_html__( 'Text', 'premium-addons-for-elementor' ),
173
+ 'type' => Controls_Manager::TEXT,
174
+ 'dynamic' => [ 'active' => true ],
175
+ 'label_block' => true,
176
+ ]
177
+ );
178
+
179
+ $repeater->add_control('premium_pricing_list_item_icon',
180
+ [
181
+ 'label' => esc_html__( 'Icon', 'premium-addons-for-elementor' ),
182
+ 'type' => Controls_Manager::ICON,
183
+ ]
184
+ );
185
+
186
$this->add_control('premium_fancy_text_list_items',
187
[
188
'label' => esc_html__( 'Features', 'premium-addons-for-elementor' ),
201
'premium_pricing_list_item_text' => esc_html__( 'List Item #3', 'premium-addons-for-elementor' ),
202
],
203
],
204
+ 'fields' => array_values( $repeater->get_controls() ),
205
]
206
);
207
widgets/premium-progressbar.php CHANGED
@@ -75,39 +75,45 @@ class Premium_Progressbar_Widget extends Widget_Base
75
]
76
);
77
78
$this->add_control('premium_progressbar_multiple_label',
79
[
80
'label' => esc_html__('Label','premium-addons-for-elementor'),
81
'type' => Controls_Manager::REPEATER,
82
'default' => [
83
- [
84
- 'text' => esc_html__( 'Label','premium-addons-for-elementor' ),
85
- 'number' => esc_html__('50','premium-addons-for-elementor')
86
- ]
87
- ],
88
- 'fields' => [
89
- [
90
- 'name' => 'text',
91
- 'label' => esc_html__( 'Label','premium-addons-for-elementor' ),
92
- 'type' => Controls_Manager::TEXT,
93
- 'dynamic' => [ 'active' => true ],
94
- 'label_block' => true,
95
- 'placeholder' => esc_html__( 'label','premium-addons-for-elementor' ),
96
- 'default' => esc_html__( 'label', 'premium-addons-for-elementor' ),
97
- ],
98
- [
99
- 'name' => 'number',
100
- 'label' => __( 'Percentage', 'premium-addons-for-elementor' ),
101
- 'type' => Controls_Manager::NUMBER,
102
- 'label_block' => true,
103
- 'default' => '50',
104
- ]
105
- ],
106
'condition' =>[
107
- 'premium_progressbar_select_label' =>'more_labels'
108
- ]
109
- ]
110
- );
111
$this->add_control('premium_progress_bar_space_percentage_switcher',
112
[
113
'label' => esc_html__('Enable Percentage', 'premium-addons-for-elementor'),
75
]
76
);
77
78
+ $repeater = new REPEATER();
79
+
80
+ $repeater->add_control('text',
81
+ [
82
+ 'label' => esc_html__( 'Label','premium-addons-for-elementor' ),
83
+ 'type' => Controls_Manager::TEXT,
84
+ 'dynamic' => [ 'active' => true ],
85
+ 'label_block' => true,
86
+ 'placeholder' => esc_html__( 'label','premium-addons-for-elementor' ),
87
+ 'default' => esc_html__( 'label', 'premium-addons-for-elementor' ),
88
+ ]
89
+ );
90
+
91
+ $repeater->add_control('number',
92
+ [
93
+ 'label' => __( 'Percentage', 'premium-addons-for-elementor' ),
94
+ 'type' => Controls_Manager::NUMBER,
95
+ 'label_block' => true,
96
+ 'default' => '50',
97
+ ]
98
+ );
99
+
100
$this->add_control('premium_progressbar_multiple_label',
101
[
102
'label' => esc_html__('Label','premium-addons-for-elementor'),
103
'type' => Controls_Manager::REPEATER,
104
'default' => [
105
+ [
106
+ 'text' => esc_html__( 'Label','premium-addons-for-elementor' ),
107
+ 'number' => esc_html__('50','premium-addons-for-elementor')
108
+ ]
109
+ ],
110
+ 'fields' => array_values( $repeater->get_controls() ),
111
'condition' =>[
112
+ 'premium_progressbar_select_label' =>'more_labels'
113
+ ]
114
+ ]
115
+ );
116
+
117
$this->add_control('premium_progress_bar_space_percentage_switcher',
118
[
119
'label' => esc_html__('Enable Percentage', 'premium-addons-for-elementor'),