Version Description
- Tweak: Added open links in new tab option in Premium Blog widget.
- Tweak: Enhanced files loading speed.
- Fix: Special characters bug in Premium Fancy Text Widget.
Download this release
Release Info
Developer | leap13 |
Plugin | Premium Addons for Elementor |
Version | 2.1.9 |
Comparing to | |
See all releases |
Code changes from version 2.1.8 to 2.1.9
- admin/settings-page.php +1 -1
- assets/js/premium-addons.js +25 -4
- premium-addons-for-elementor.php +13 -76
- readme.txt +28 -22
- widgets/premium-blog.php +22 -8
- widgets/{premium-imageseparator.php → premium-image-separator.php} +0 -0
admin/settings-page.php
CHANGED
@@ -356,7 +356,7 @@ class PA_admin_settings {
|
|
356 |
|
357 |
<tr class="pa-roll-row">
|
358 |
<th>Rollback Version</th>
|
359 |
-
<td><div><?php echo sprintf( '<a target="_blank" href="%s" class="button pa-btn pa-rollback-button elementor-button-spinner">Reinstall Version 2.1.
|
360 |
</tr>
|
361 |
<tr>
|
362 |
<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>
|
356 |
|
357 |
<tr class="pa-roll-row">
|
358 |
<th>Rollback Version</th>
|
359 |
+
<td><div><?php echo sprintf( '<a target="_blank" href="%s" class="button pa-btn pa-rollback-button elementor-button-spinner">Reinstall Version 2.1.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>
|
360 |
</tr>
|
361 |
<tr>
|
362 |
<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/js/premium-addons.js
CHANGED
@@ -1,4 +1,5 @@
|
|
1 |
(function($){
|
|
|
2 |
//Premium Progress Bar Handler
|
3 |
var PremiumProgressBarWidgetHandler = function ($scope,$){
|
4 |
var progressbarElement = $scope.find('.premium-progressbar-progress-bar').each(function(){
|
@@ -10,6 +11,7 @@
|
|
10 |
$(this).animate({width: length + '%'} , length * 25);
|
11 |
});
|
12 |
};
|
|
|
13 |
//Premium Progress Bar on Scroll Handler
|
14 |
var PremiumProgressBarScrollWidgetHandler = function ($scope,$){
|
15 |
$scope.waypoint(function (direction) {
|
@@ -19,6 +21,7 @@
|
|
19 |
triggerOnce: true
|
20 |
});
|
21 |
};
|
|
|
22 |
//Premium Video Box Handler
|
23 |
var PremiumVideoBoxWidgetHandler = function($scope,$){
|
24 |
var videoBoxElement = $scope.find('.premium-video-box-container');
|
@@ -33,6 +36,7 @@
|
|
33 |
},600);
|
34 |
});
|
35 |
};
|
|
|
36 |
//Premium Grid Handler
|
37 |
var PremiumGridWidgetHandler = function($scope,$){
|
38 |
if ($().isotope === undefined) {
|
@@ -95,6 +99,7 @@
|
|
95 |
social_tools: ''
|
96 |
});
|
97 |
};
|
|
|
98 |
//Premium Counter Handler
|
99 |
var PremiumCounterHandler = function($scope,$){
|
100 |
var counterElement = $scope.find('.premium-counter').each(function(){
|
@@ -152,13 +157,26 @@
|
|
152 |
});
|
153 |
});
|
154 |
};
|
155 |
-
|
|
|
156 |
var PremiumFancyTextHandler = function($scope,$){
|
157 |
var fancyTextElement = $scope.find('.premium-fancy-text-wrapper');
|
158 |
var fancyTextSettings = fancyTextElement.data('settings');
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
159 |
if(fancyTextSettings['effect'] === 'typing'){
|
160 |
fancyTextElement.find('.premium-fancy-text').typed( {
|
161 |
-
strings:
|
162 |
typeSpeed: fancyTextSettings['typeSpeed'],
|
163 |
backSpeed: fancyTextSettings['backSpeed'],
|
164 |
startDelay:fancyTextSettings['startDelay'],
|
@@ -176,8 +194,8 @@
|
|
176 |
direction: "up"
|
177 |
});
|
178 |
}
|
179 |
-
};
|
180 |
-
|
181 |
var PremiumCountDownHandler = function ($scope,$){
|
182 |
var countDownElement = $scope.find('.premium-countdown').each(function(){
|
183 |
var countDownSettings = $(this).data('settings');
|
@@ -227,6 +245,7 @@
|
|
227 |
}
|
228 |
});
|
229 |
};
|
|
|
230 |
//Premium Carousel Handler
|
231 |
var PremiumCarouselHandler = function ($scope,$){
|
232 |
var carouselElement = $scope.find('.premium-carousel-wrapper').each(function(){
|
@@ -333,6 +352,7 @@
|
|
333 |
marginFix.setWidth('horizontal');
|
334 |
});
|
335 |
};
|
|
|
336 |
//Premium Banner Handler
|
337 |
var PremiumBannerHandler = function ($scope,$){
|
338 |
var bannerElement = $scope.find('.premium_banner');
|
@@ -344,6 +364,7 @@
|
|
344 |
$(this).find('.premium_addons-banner-ib-img').removeClass('active');
|
345 |
});
|
346 |
};
|
|
|
347 |
//Premium Modal Box Handler
|
348 |
var PremiumModalBoxHandler = function ($scope,$){
|
349 |
var modalBoxElement = $scope.find('.premium-modal-box-container');
|
1 |
(function($){
|
2 |
+
|
3 |
//Premium Progress Bar Handler
|
4 |
var PremiumProgressBarWidgetHandler = function ($scope,$){
|
5 |
var progressbarElement = $scope.find('.premium-progressbar-progress-bar').each(function(){
|
11 |
$(this).animate({width: length + '%'} , length * 25);
|
12 |
});
|
13 |
};
|
14 |
+
|
15 |
//Premium Progress Bar on Scroll Handler
|
16 |
var PremiumProgressBarScrollWidgetHandler = function ($scope,$){
|
17 |
$scope.waypoint(function (direction) {
|
21 |
triggerOnce: true
|
22 |
});
|
23 |
};
|
24 |
+
|
25 |
//Premium Video Box Handler
|
26 |
var PremiumVideoBoxWidgetHandler = function($scope,$){
|
27 |
var videoBoxElement = $scope.find('.premium-video-box-container');
|
36 |
},600);
|
37 |
});
|
38 |
};
|
39 |
+
|
40 |
//Premium Grid Handler
|
41 |
var PremiumGridWidgetHandler = function($scope,$){
|
42 |
if ($().isotope === undefined) {
|
99 |
social_tools: ''
|
100 |
});
|
101 |
};
|
102 |
+
|
103 |
//Premium Counter Handler
|
104 |
var PremiumCounterHandler = function($scope,$){
|
105 |
var counterElement = $scope.find('.premium-counter').each(function(){
|
157 |
});
|
158 |
});
|
159 |
};
|
160 |
+
|
161 |
+
//Premium Fancy Text Handler
|
162 |
var PremiumFancyTextHandler = function($scope,$){
|
163 |
var fancyTextElement = $scope.find('.premium-fancy-text-wrapper');
|
164 |
var fancyTextSettings = fancyTextElement.data('settings');
|
165 |
+
var fancyStrings = [];
|
166 |
+
fancyTextSettings['strings'].forEach(function(item){
|
167 |
+
fancyStrings.push(escapeHtml(item));
|
168 |
+
});
|
169 |
+
function escapeHtml(unsafe) {
|
170 |
+
return unsafe
|
171 |
+
.replace(/&/g, "&")
|
172 |
+
.replace(/</g, "<")
|
173 |
+
.replace(/>/g, ">")
|
174 |
+
.replace(/"/g, """)
|
175 |
+
.replace(/'/g, "'");
|
176 |
+
}
|
177 |
if(fancyTextSettings['effect'] === 'typing'){
|
178 |
fancyTextElement.find('.premium-fancy-text').typed( {
|
179 |
+
strings: fancyStrings,
|
180 |
typeSpeed: fancyTextSettings['typeSpeed'],
|
181 |
backSpeed: fancyTextSettings['backSpeed'],
|
182 |
startDelay:fancyTextSettings['startDelay'],
|
194 |
direction: "up"
|
195 |
});
|
196 |
}
|
197 |
+
};
|
198 |
+
//Premium Countdown Handler
|
199 |
var PremiumCountDownHandler = function ($scope,$){
|
200 |
var countDownElement = $scope.find('.premium-countdown').each(function(){
|
201 |
var countDownSettings = $(this).data('settings');
|
245 |
}
|
246 |
});
|
247 |
};
|
248 |
+
|
249 |
//Premium Carousel Handler
|
250 |
var PremiumCarouselHandler = function ($scope,$){
|
251 |
var carouselElement = $scope.find('.premium-carousel-wrapper').each(function(){
|
352 |
marginFix.setWidth('horizontal');
|
353 |
});
|
354 |
};
|
355 |
+
|
356 |
//Premium Banner Handler
|
357 |
var PremiumBannerHandler = function ($scope,$){
|
358 |
var bannerElement = $scope.find('.premium_banner');
|
364 |
$(this).find('.premium_addons-banner-ib-img').removeClass('active');
|
365 |
});
|
366 |
};
|
367 |
+
|
368 |
//Premium Modal Box Handler
|
369 |
var PremiumModalBoxHandler = function ($scope,$){
|
370 |
var modalBoxElement = $scope.find('.premium-modal-box-container');
|
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.1.
|
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.1.
|
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.1.
|
31 |
|
32 |
|
33 |
/**
|
@@ -185,80 +185,17 @@ define( 'PREMIUM_ADDONS_STABLE_VERSION', '2.1.7');
|
|
185 |
|
186 |
$check_component_active = get_option( 'pa_save_settings', $pa_default_settings );
|
187 |
|
188 |
-
|
189 |
-
|
190 |
-
|
191 |
-
|
192 |
-
|
193 |
-
|
194 |
-
|
195 |
-
|
196 |
-
|
197 |
-
}
|
198 |
-
|
199 |
-
if( $check_component_active['premium-counter'] ) {
|
200 |
-
require_once( PREMIUM_ADDONS_PATH. 'widgets/premium-counter.php' );
|
201 |
-
}
|
202 |
-
|
203 |
-
if( $check_component_active['premium-image-separator'] ) {
|
204 |
-
require_once( PREMIUM_ADDONS_PATH. 'widgets/premium-imageseparator.php' );
|
205 |
-
}
|
206 |
-
|
207 |
-
if( $check_component_active['premium-modalbox'] ) {
|
208 |
-
require_once( PREMIUM_ADDONS_PATH. 'widgets/premium-modalbox.php' );
|
209 |
-
}
|
210 |
-
if( $check_component_active['premium-progressbar'] ) {
|
211 |
-
require_once( PREMIUM_ADDONS_PATH. 'widgets/premium-progressbar.php' );
|
212 |
-
}
|
213 |
-
|
214 |
-
if( $check_component_active['premium-testimonials'] ) {
|
215 |
-
require_once( PREMIUM_ADDONS_PATH. 'widgets/premium-testimonials.php' );
|
216 |
-
}
|
217 |
-
|
218 |
-
if( $check_component_active['premium-title'] ) {
|
219 |
-
require_once( PREMIUM_ADDONS_PATH. 'widgets/premium-title.php' );
|
220 |
-
}
|
221 |
-
|
222 |
-
if( $check_component_active['premium-fancytext'] ) {
|
223 |
-
require_once( PREMIUM_ADDONS_PATH. 'widgets/premium-fancytext.php' );
|
224 |
-
}
|
225 |
-
|
226 |
-
if( $check_component_active['premium-videobox'] ) {
|
227 |
-
require_once( PREMIUM_ADDONS_PATH. 'widgets/premium-videobox.php' );
|
228 |
-
}
|
229 |
-
|
230 |
-
if( $check_component_active['premium-pricing-table'] ) {
|
231 |
-
require_once( PREMIUM_ADDONS_PATH. 'widgets/premium-pricing-table.php' );
|
232 |
-
}
|
233 |
-
|
234 |
-
if( $check_component_active['premium-blog'] ) {
|
235 |
-
require_once( PREMIUM_ADDONS_PATH.'queries.php' );
|
236 |
-
require_once( PREMIUM_ADDONS_PATH. 'widgets/premium-blog.php' );
|
237 |
-
}
|
238 |
-
|
239 |
-
if( $check_component_active['premium-person'] ) {
|
240 |
-
require_once( PREMIUM_ADDONS_PATH. 'widgets/premium-person.php' );
|
241 |
-
}
|
242 |
-
|
243 |
-
if( $check_component_active['premium-maps'] ) {
|
244 |
-
require_once( PREMIUM_ADDONS_PATH. 'widgets/premium-maps.php' );
|
245 |
-
}
|
246 |
-
|
247 |
-
if( $check_component_active['premium-dual-header'] ) {
|
248 |
-
require_once( PREMIUM_ADDONS_PATH. 'widgets/premium-dual-header.php' );
|
249 |
-
}
|
250 |
-
if( $check_component_active['premium-button'] ) {
|
251 |
-
require_once( PREMIUM_ADDONS_PATH. 'widgets/premium-button.php' );
|
252 |
-
}
|
253 |
-
if( function_exists('wpcf7') && $check_component_active['premium-contactform'] ) {
|
254 |
-
require_once( PREMIUM_ADDONS_PATH. 'widgets/premium-contactform.php' );
|
255 |
-
}
|
256 |
-
if( $check_component_active['premium-image-button'] ) {
|
257 |
-
require_once( PREMIUM_ADDONS_PATH. 'widgets/premium-image-button.php' );
|
258 |
-
}
|
259 |
-
if( $check_component_active['premium-grid'] ) {
|
260 |
-
require_once( PREMIUM_ADDONS_PATH. 'widgets/premium-grid.php' );
|
261 |
}
|
|
|
262 |
}
|
263 |
|
264 |
public function initiate_elementor_addons() {
|
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.1.9
|
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.1.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.1.8');
|
31 |
|
32 |
|
33 |
/**
|
185 |
|
186 |
$check_component_active = get_option( 'pa_save_settings', $pa_default_settings );
|
187 |
|
188 |
+
foreach($check_component_active as $element_name => $element_active){
|
189 |
+
if($element_active && $element_name != 'premium-contactform' && $element_name != 'premium-map-api' && $element_name != 'premium-map-disable-api' && $element_name != 'is-beta-tester' ){
|
190 |
+
if($element_name == 'premium-blog'){
|
191 |
+
require_once (PREMIUM_ADDONS_PATH . 'queries.php');
|
192 |
+
}
|
193 |
+
require_once (PREMIUM_ADDONS_PATH . 'widgets/' . $element_name . '.php');
|
194 |
+
} elseif ($element_active && $element_name == 'premium-contactform' && function_exists('wpcf7')){
|
195 |
+
require_once (PREMIUM_ADDONS_PATH . 'widgets/' . $element_name . '.php');
|
196 |
+
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
197 |
}
|
198 |
+
|
199 |
}
|
200 |
|
201 |
public function initiate_elementor_addons() {
|
readme.txt
CHANGED
@@ -5,11 +5,11 @@ Donate link: http://premiumaddons.com
|
|
5 |
Requires at least: 4.5
|
6 |
Tested up to: 4.9.5
|
7 |
Requires PHP: 5.4
|
8 |
-
Stable tag: 2.1.
|
9 |
License: GPL v3.0
|
10 |
License URI: https://opensource.org/licenses/GPL-3.0
|
11 |
|
12 |
-
20
|
13 |
|
14 |
== Description ==
|
15 |
20 Premium Elementor addons & widgets with numerous customization options that extends Elementor Page Builder capabilities to help you build impressive websites with no coding required. Click [Here](https://www.premiumaddons.com/) to check addon elements’ demos.
|
@@ -30,26 +30,26 @@ Premium Addons for Elementor can be used only as a complement of Elementor page
|
|
30 |
|
31 |
### Available Elements
|
32 |
|
33 |
-
1. [
|
34 |
-
2. [
|
35 |
-
3. [
|
36 |
-
4. [
|
37 |
-
5. [
|
38 |
-
6. [
|
39 |
-
7. [
|
40 |
-
8. [
|
41 |
-
9. [
|
42 |
-
10. [
|
43 |
-
11. [
|
44 |
-
12. [
|
45 |
-
13. [
|
46 |
-
14. [
|
47 |
-
15. [
|
48 |
-
16. [
|
49 |
-
17. [
|
50 |
-
19. [
|
51 |
-
19. [
|
52 |
-
20. [
|
53 |
|
54 |
|
55 |
== Installation ==
|
@@ -99,6 +99,12 @@ Premium Addons for Elementor is light weight and we also gave you the control to
|
|
99 |
|
100 |
== Changelog ==
|
101 |
|
|
|
|
|
|
|
|
|
|
|
|
|
102 |
= 2.1.8 =
|
103 |
|
104 |
- Tweak: Added Ripple effect option for navigation dots in Premium Carousel widget.
|
5 |
Requires at least: 4.5
|
6 |
Tested up to: 4.9.5
|
7 |
Requires PHP: 5.4
|
8 |
+
Stable tag: 2.1.9
|
9 |
License: GPL v3.0
|
10 |
License URI: https://opensource.org/licenses/GPL-3.0
|
11 |
|
12 |
+
20 Elementor Widgets and Addons like Grid, Modal Box, Carousel, Google Maps, Pricing Tables, Countdown, Testimonials, Blog, and much more.
|
13 |
|
14 |
== Description ==
|
15 |
20 Premium Elementor addons & widgets with numerous customization options that extends Elementor Page Builder capabilities to help you build impressive websites with no coding required. Click [Here](https://www.premiumaddons.com/) to check addon elements’ demos.
|
30 |
|
31 |
### Available Elements
|
32 |
|
33 |
+
1. [Grid Elementor Widget](https://www.premiumaddons.com/premium-grid-element-for-elementor-page-builder/) Highly customizable grid widget that can be used for creating attractive looking image galleries and portfolios.
|
34 |
+
2. [Carousel Elementor Widget](https://premiumaddons.com/premium-carousel-element-for-elementor-page-builder/) The best all purpose carousel widget for Elementor, It can be used to create testimonials carousel, client logos carousel, or any kind of content.
|
35 |
+
3. [Banner Elementor Widget](https://premiumaddons.com/premium-banner-element-for-elementor-page-builder/) Animated and interactive banner widget with multiple styles.
|
36 |
+
4. [Google Maps Elementor Widget](https://premiumaddons.com/premium-google-maps-element-elementor-page-builder/) Advanced Google Maps widget with multiple markers, custom styling and much more options.
|
37 |
+
5. [Pricing Table Elementor Widget](https://premiumaddons.com/premium-pricing-table-element-elementor-page-builder/) The most customizable Elementor Pricing Table Widget with tons of customization options.
|
38 |
+
6. [Image Separator Elementor Widget](https://premiumaddons.com/premium-image-separator-element-elementor-page-builder/) This element adds image separator between sections.
|
39 |
+
7. [Fancy Text Elementor Widget](https://premiumaddons.com/premium-fancy-text-element-elementor-page-builder/) Animated fancy text with many animation styles.
|
40 |
+
8. [Heading Elementor Widget](https://premiumaddons.com/premium-heading-element-elementor-page-builder/) This widget has many customizable ready made styles for headings.
|
41 |
+
9. [Dual Header Elementor Widget](https://premiumaddons.com/premium-dual-header-element-elementor-page-builder/) Create a header with 2 styles with numerous customization options.
|
42 |
+
10. [Testimonials Elementor Widget](https://premiumaddons.com/premium-testimonials-element-elementor-page-builder/) Modern testimonials widget with many customization options.
|
43 |
+
11. [Persons Elementor Widget](https://premiumaddons.com/premium-persons-element-elementor-page-builder/) Very good element for listing team members.
|
44 |
+
12. [Countdown Elementor Widget](https://premiumaddons.com/premium-countdown-element-elementor-page-builder/) Advanced countdown addon for elementor.
|
45 |
+
13. [Blog Elementor Widget](https://premiumaddons.com/premium-blog-element-elementor-page-builder/) Blog posts widget with modern style.
|
46 |
+
14. [Counter Elementor Widget](https://premiumaddons.com/premium-counter-element-elementor-page-builder/) Advanced counter elements with lots of options.
|
47 |
+
15. [Video Box Elementor Widget](https://premiumaddons.com/premium-video-box-element-elementor-page-builder/) Video box element with many customization features.
|
48 |
+
16. [Modal Box Elementor Widget](https://premiumaddons.com/premium-modal-box-element-elementor-page-builder/) All purpose Elementor modal box with many options.
|
49 |
+
17. [Progress Bar Elementor Widget](https://premiumaddons.com/premium-progress-bar-element-elementor-page-builder/) The most advanced progress bar available for Elementor.
|
50 |
+
19. [Button Elementor Widget](https://premiumaddons.com/premium-button-element-elementor-page-builder/) Advanced button with lots of interactive animation and styling options and onClick event option.
|
51 |
+
19. [Contact Form 7 Elementor Widget](https://premiumaddons.com/premium-contact-form-7-element-elementor-page-builder/) Elementor contact form 7 add-on with 2 readymade styles.
|
52 |
+
20. [Image Button Elementor Widget](https://premiumaddons.com/premium-image-button-element-for-elementor-page-builder/) A unique element that can be used for innovative call to action ideas.
|
53 |
|
54 |
|
55 |
== Installation ==
|
99 |
|
100 |
== Changelog ==
|
101 |
|
102 |
+
= 2.1.9 =
|
103 |
+
|
104 |
+
- Tweak: Added open links in new tab option in Premium Blog widget.
|
105 |
+
- Tweak: Enhanced files loading speed.
|
106 |
+
- Fix: Special characters bug in Premium Fancy Text Widget.
|
107 |
+
|
108 |
= 2.1.8 =
|
109 |
|
110 |
- Tweak: Added Ripple effect option for navigation dots in Premium Carousel widget.
|
widgets/premium-blog.php
CHANGED
@@ -184,13 +184,21 @@ class Premium_Blog_Widget extends Widget_Base
|
|
184 |
]
|
185 |
);
|
186 |
|
187 |
-
/*
|
188 |
$this->add_control('premium_blog_paging',
|
189 |
[
|
190 |
'label' => esc_html__('Pagination', 'premium-addons-for-elementor'),
|
191 |
'type' => Controls_Manager::SWITCHER,
|
192 |
'description' => esc_html__('Pagination is the process of dividing the posts into discrete pages','premium-addons-for-elementor'),
|
193 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
194 |
]
|
195 |
);
|
196 |
|
@@ -683,6 +691,12 @@ class Premium_Blog_Widget extends Widget_Base
|
|
683 |
// get our input from the widget settings.
|
684 |
$settings = $this->get_settings();
|
685 |
|
|
|
|
|
|
|
|
|
|
|
|
|
686 |
$image_effect = $settings['premium_blog_hover_image_effect'];
|
687 |
|
688 |
$post_effect = $settings['premium_blog_hover_color_effect'];
|
@@ -708,10 +722,10 @@ if(count($posts)){
|
|
708 |
<div class="premium-blog-post-container">
|
709 |
<div class="premium-blog-thumb-effect-wrapper">
|
710 |
<div class="premium-blog-thumbnail-container <?php echo 'premium-blog-' . $image_effect . '-effect';?>">
|
711 |
-
<a href="<?php the_permalink(); ?>" target="
|
712 |
</div>
|
713 |
<div class="premium-blog-effect-container <?php echo 'premium-blog-'. $post_effect . '-effect'; ?>">
|
714 |
-
<a class="premium-blog-post-link" href="<?php the_permalink(); ?>" target="
|
715 |
<?php if( $settings['premium_blog_hover_color_effect'] === 'bordered' ) : ?>
|
716 |
<div class="premium-blog-bordered-border-container"></div>
|
717 |
<?php elseif( $settings['premium_blog_hover_color_effect'] === 'squares' ) : ?>
|
@@ -723,7 +737,7 @@ if(count($posts)){
|
|
723 |
<div class="premium-blog-inner-container">
|
724 |
<?php if( $settings['premium_blog_post_format_icon'] === 'yes' ) : ?>
|
725 |
<div class="premium-blog-format-container">
|
726 |
-
<a class="premium-blog-format-link" href="<?php the_permalink(); ?>" title="<?php if( get_post_format() === ' ') : echo 'standard' ; else : echo get_post_format(); endif; ?>" target="
|
727 |
<?php elseif ( get_post_format() === 'audio' ) : echo 'music'; ?>
|
728 |
<?php elseif ( get_post_format() === 'gallery' ) : echo 'file-image-o'; ?>
|
729 |
<?php elseif ( get_post_format() === 'image' ) : echo 'picture-o'; ?>
|
@@ -735,19 +749,19 @@ if(count($posts)){
|
|
735 |
</div>
|
736 |
<?php endif; ?>
|
737 |
<div class="premium-blog-entry-container">
|
738 |
-
<h2 class="premium-blog-entry-title"><a href="<?php the_permalink(); ?>" target="
|
739 |
<div class="premium-blog-entry-meta" style="<?php if( $settings['premium_blog_post_format_icon'] !== 'yes' ) : echo 'margin-left:0px'; endif; ?>">
|
740 |
<?php if( $settings['premium_blog_author_meta'] === 'yes' ) : ?>
|
741 |
<span class="premium-blog-post-author premium-blog-meta-data"><i class="fa fa-user fa-fw"></i><?php the_author_posts_link();?></span>
|
742 |
<?php endif; ?>
|
743 |
<?php if( $settings['premium_blog_date_meta'] === 'yes' ) : ?>
|
744 |
-
<span class="premium-blog-post-time premium-blog-meta-data"><i class="fa fa-calendar fa-fw"></i><a href="<?php the_permalink(); ?>" target="
|
745 |
<?php endif; ?>
|
746 |
<?php if( $settings['premium_blog_categories_meta'] === 'yes' ) : ?>
|
747 |
<span class="premium-blog-post-categories premium-blog-meta-data"><i class="fa fa-align-left fa-fw"></i><?php the_category(', '); ?></span>
|
748 |
<?php endif; ?>
|
749 |
<?php if( $settings['premium_blog_comments_meta'] === 'yes' ) : ?>
|
750 |
-
<span class="premium-blog-post-comments premium-blog-meta-data"><i class="fa fa-comments-o fa-fw"></i><a href="<?php the_permalink(); ?>" target="
|
751 |
<?php endif; ?>
|
752 |
<?php if( $settings['premium_blog_edit_post'] === 'yes' ) : ?>
|
753 |
<span class="premium-blog-post-edit premium-blog-meta-data"><i class="fa fa-pencil fa-fw"></i><?php edit_post_link(); ?></span>
|
184 |
]
|
185 |
);
|
186 |
|
187 |
+
/*Pagination*/
|
188 |
$this->add_control('premium_blog_paging',
|
189 |
[
|
190 |
'label' => esc_html__('Pagination', 'premium-addons-for-elementor'),
|
191 |
'type' => Controls_Manager::SWITCHER,
|
192 |
'description' => esc_html__('Pagination is the process of dividing the posts into discrete pages','premium-addons-for-elementor'),
|
193 |
+
]
|
194 |
+
);
|
195 |
+
|
196 |
+
$this->add_control('premium_blog_new_tab',
|
197 |
+
[
|
198 |
+
'label' => esc_html__('Links in New Tab', 'premium-addons-for-elementor'),
|
199 |
+
'type' => Controls_Manager::SWITCHER,
|
200 |
+
'description' => esc_html__('Enable links to be opened in a new tab','premium-addons-for-elementor'),
|
201 |
+
'default' => 'yes',
|
202 |
]
|
203 |
);
|
204 |
|
691 |
// get our input from the widget settings.
|
692 |
$settings = $this->get_settings();
|
693 |
|
694 |
+
if($settings['premium_blog_new_tab'] == 'yes'){
|
695 |
+
$target = '_blank';
|
696 |
+
} else {
|
697 |
+
$target = '_self';
|
698 |
+
}
|
699 |
+
|
700 |
$image_effect = $settings['premium_blog_hover_image_effect'];
|
701 |
|
702 |
$post_effect = $settings['premium_blog_hover_color_effect'];
|
722 |
<div class="premium-blog-post-container">
|
723 |
<div class="premium-blog-thumb-effect-wrapper">
|
724 |
<div class="premium-blog-thumbnail-container <?php echo 'premium-blog-' . $image_effect . '-effect';?>">
|
725 |
+
<a href="<?php the_permalink(); ?>" target="<?php echo esc_attr($target); ?>"><?php the_post_thumbnail('full'); ?></a>
|
726 |
</div>
|
727 |
<div class="premium-blog-effect-container <?php echo 'premium-blog-'. $post_effect . '-effect'; ?>">
|
728 |
+
<a class="premium-blog-post-link" href="<?php the_permalink(); ?>" target="<?php echo esc_attr($target); ?>"></a>
|
729 |
<?php if( $settings['premium_blog_hover_color_effect'] === 'bordered' ) : ?>
|
730 |
<div class="premium-blog-bordered-border-container"></div>
|
731 |
<?php elseif( $settings['premium_blog_hover_color_effect'] === 'squares' ) : ?>
|
737 |
<div class="premium-blog-inner-container">
|
738 |
<?php if( $settings['premium_blog_post_format_icon'] === 'yes' ) : ?>
|
739 |
<div class="premium-blog-format-container">
|
740 |
+
<a class="premium-blog-format-link" href="<?php the_permalink(); ?>" title="<?php if( get_post_format() === ' ') : echo 'standard' ; else : echo get_post_format(); endif; ?>" target="<?php echo esc_attr($target); ?>"><i class="premium-blog-format-icon fa fa-<?php if ( get_post_format() === 'aside' ) : echo 'file-text-o'; ?>
|
741 |
<?php elseif ( get_post_format() === 'audio' ) : echo 'music'; ?>
|
742 |
<?php elseif ( get_post_format() === 'gallery' ) : echo 'file-image-o'; ?>
|
743 |
<?php elseif ( get_post_format() === 'image' ) : echo 'picture-o'; ?>
|
749 |
</div>
|
750 |
<?php endif; ?>
|
751 |
<div class="premium-blog-entry-container">
|
752 |
+
<h2 class="premium-blog-entry-title"><a href="<?php the_permalink(); ?>" target="<?php echo esc_attr($target); ?>"><?php the_title(); ?></a></h2>
|
753 |
<div class="premium-blog-entry-meta" style="<?php if( $settings['premium_blog_post_format_icon'] !== 'yes' ) : echo 'margin-left:0px'; endif; ?>">
|
754 |
<?php if( $settings['premium_blog_author_meta'] === 'yes' ) : ?>
|
755 |
<span class="premium-blog-post-author premium-blog-meta-data"><i class="fa fa-user fa-fw"></i><?php the_author_posts_link();?></span>
|
756 |
<?php endif; ?>
|
757 |
<?php if( $settings['premium_blog_date_meta'] === 'yes' ) : ?>
|
758 |
+
<span class="premium-blog-post-time premium-blog-meta-data"><i class="fa fa-calendar fa-fw"></i><a href="<?php the_permalink(); ?>" target="<?php echo esc_attr($target); ?>"><?php the_time('F j, Y'); ?></a></span>
|
759 |
<?php endif; ?>
|
760 |
<?php if( $settings['premium_blog_categories_meta'] === 'yes' ) : ?>
|
761 |
<span class="premium-blog-post-categories premium-blog-meta-data"><i class="fa fa-align-left fa-fw"></i><?php the_category(', '); ?></span>
|
762 |
<?php endif; ?>
|
763 |
<?php if( $settings['premium_blog_comments_meta'] === 'yes' ) : ?>
|
764 |
+
<span class="premium-blog-post-comments premium-blog-meta-data"><i class="fa fa-comments-o fa-fw"></i><a href="<?php the_permalink(); ?>" target="<?php echo esc_attr($target); ?>"><?php comments_number('0 Comments', '1', '%'); ?> </a></span>
|
765 |
<?php endif; ?>
|
766 |
<?php if( $settings['premium_blog_edit_post'] === 'yes' ) : ?>
|
767 |
<span class="premium-blog-post-edit premium-blog-meta-data"><i class="fa fa-pencil fa-fw"></i><?php edit_post_link(); ?></span>
|
widgets/{premium-imageseparator.php → premium-image-separator.php}
RENAMED
File without changes
|