Premium Addons for Elementor - Version 2.3.2

Version Description

  • Tweak: Added link option to excerpt in Premium Blog widget.
  • Fix: Network site activation redirection issue.
Download this release

Release Info

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

Code changes from version 2.3.1 to 2.3.2

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.0</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.1</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
@@ -1770,7 +1770,8 @@ button.premium-modal-box-modal-close {
1770
  }
1771
  .premium-blog-entry-title a,
1772
  .premium-blog-meta-data a,
1773
- .premium-blog-post-tags a{
 
1774
  -webkit-transition: color 0.3s ease-in-out;
1775
  -moz-transition: color 0.3s ease-in-out;
1776
  -ms-transition: color 0.3s ease-in-out;
1770
  }
1771
  .premium-blog-entry-title a,
1772
  .premium-blog-meta-data a,
1773
+ .premium-blog-post-tags a,
1774
+ .premium-blog-post-content .premium-blog-excerpt-link {
1775
  -webkit-transition: color 0.3s ease-in-out;
1776
  -moz-transition: color 0.3s ease-in-out;
1777
  -ms-transition: color 0.3s ease-in-out;
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.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.3.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.3.0');
31
 
32
 
33
  /**
@@ -82,9 +82,8 @@ define( 'PREMIUM_ADDONS_STABLE_VERSION', '2.3.0');
82
  function pa_redirection() {
83
  if (get_option('pa_activation_redirect', false)) {
84
  delete_option('pa_activation_redirect');
85
- if(!isset($_GET['activate-multi']))
86
- {
87
- wp_redirect("admin.php?page=pa-settings-page");
88
  }
89
  }
90
  };
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.2
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.3.2' );
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.1');
31
 
32
 
33
  /**
82
  function pa_redirection() {
83
  if (get_option('pa_activation_redirect', false)) {
84
  delete_option('pa_activation_redirect');
85
+ if (!is_network_admin()) {
86
+ wp_redirect("admin.php?page=pa-settings-page");
 
87
  }
88
  }
89
  };
queries.php CHANGED
@@ -24,11 +24,11 @@ function premium_blog_get_post_settings($settings){
24
  return $post_args;
25
  }
26
 
27
- function premium_addons_get_excerpt_by_id($post_id,$excerpt_length){
28
  $the_post = get_post($post_id); //Gets post ID
29
 
30
  $the_excerpt = null;
31
- if ($the_post)
32
  {
33
  $the_excerpt = $the_post->post_excerpt ? $the_post->post_excerpt : $the_post->post_content;
34
  }
@@ -38,7 +38,12 @@ function premium_addons_get_excerpt_by_id($post_id,$excerpt_length){
38
 
39
  if(count($words) > $excerpt_length) :
40
  array_pop($words);
41
- array_push($words, '');
 
 
 
 
 
42
  $the_excerpt = implode(' ', $words);
43
  endif;
44
 
@@ -58,4 +63,4 @@ function premium_addons_post_type_categories(){
58
  }
59
 
60
  return $options;
61
- }
24
  return $post_args;
25
  }
26
 
27
+ function premium_addons_get_excerpt_by_id($post_id,$excerpt_length,$excerpt_type,$exceprt_text){
28
  $the_post = get_post($post_id); //Gets post ID
29
 
30
  $the_excerpt = null;
31
+ if ($the_post) //If
32
  {
33
  $the_excerpt = $the_post->post_excerpt ? $the_post->post_excerpt : $the_post->post_content;
34
  }
38
 
39
  if(count($words) > $excerpt_length) :
40
  array_pop($words);
41
+ if( 'dots' == $excerpt_type){
42
+ array_push($words, '…');
43
+ } else {
44
+ array_push($words, ' <a href="' . get_permalink($post_id) .'" class="premium-blog-excerpt-link">' . $exceprt_text . '</a>');
45
+ }
46
+
47
  $the_excerpt = implode(' ', $words);
48
  endif;
49
 
63
  }
64
 
65
  return $options;
66
+ }
readme.txt CHANGED
@@ -5,14 +5,14 @@ Donate link: http://premiumaddons.com
5
  Requires at least: 4.5
6
  Tested up to: 4.9.6
7
  Requires PHP: 5.4
8
- Stable tag: 2.3.1
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.
16
 
17
  Premium Addons for elementor plugin’s widgets & addons are cross browser compatible and also fully responsive, Your website will rock on all browsers as well as tables and mobile devices.
18
 
@@ -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. [Grid Elementor Widget](https://www.premiumaddons.com/grid-widget-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://www.premiumaddons.com/carousel-widget-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://www.premiumaddons.com/banner-widget-for-elementor-page-builder/) Animated and interactive banner widget with multiple styles.
36
- 4. [Google Maps Elementor Widget](https://www.premiumaddons.com/google-maps-widget-for-elementor-page-builder/) Advanced Google Maps widget with multiple markers, custom styling and much more options.
37
- 5. [Pricing Table Elementor Widget](https://www.premiumaddons.com/pricing-table-widget-for-elementor-page-builder/) The most customizable Elementor Pricing Table Widget with tons of customization options.
38
- 6. [Image Separator Elementor Widget](https://www.premiumaddons.com/image-separator-widget-elementor-page-builder/) This element adds image separator between sections.
39
- 7. [Fancy Text Elementor Widget](https://www.premiumaddons.com/fancy-text-widget-for-elementor-page-builder/) Animated fancy text with many animation styles.
40
- 8. [Heading Elementor Widget](https://www.premiumaddons.com/heading-widget-for-elementor-page-builder/) This widget has many customizable ready made styles for headings.
41
- 9. [Dual Header Elementor Widget](https://www.premiumaddons.com/dual-header-widget-for-elementor-page-builder/) Create a header with 2 styles with numerous customization options.
42
- 10. [Testimonials Elementor Widget](https://www.premiumaddons.com/testimonials-widget-for-elementor-page-builder/) Modern testimonials widget with many customization options.
43
- 11. [Persons Elementor Widget](https://www.premiumaddons.com/persons-widget-for-elementor-page-builder/) Very good element for listing team members.
44
- 12. [Countdown Elementor Widget](https://www.premiumaddons.com/countdown-widget-for-elementor-page-builder/) Advanced countdown addon for elementor.
45
- 13. [Blog Elementor Widget](https://www.premiumaddons.com/blog-widget-for-elementor-page-builder/) Blog posts widget with modern style.
46
- 14. [Counter Elementor Widget](https://www.premiumaddons.com/counter-widget-for-elementor-page-builder/) Advanced counter elements with lots of options.
47
- 15. [Video Box Elementor Widget](https://www.premiumaddons.com/video-box-widget-for-elementor-page-builder/) Video box element with many customization features.
48
- 16. [Modal Box Elementor Widget](https://www.premiumaddons.com/modal-box-widget-for-elementor-page-builder/) All purpose Elementor modal box with many options.
49
- 17. [Progress Bar Elementor Widget](https://www.premiumaddons.com/progress-bar-widget-for-elementor-page-builder/) The most advanced progress bar available for Elementor.
50
- 19. [Button Elementor Widget](https://www.premiumaddons.com/button-widget-for-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://www.premiumaddons.com/contact-form-7-widget-for-elementor-page-builder/) Elementor contact form 7 add-on with 2 readymade styles.
52
- 20. [Image Button Elementor Widget](https://www.premiumaddons.com/image-button-widget-for-elementor-page-builder/) A unique element that can be used for innovative call to action ideas.
53
 
54
 
55
  == Installation ==
@@ -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.1 =
103
 
104
  - Tweak: Added support for dynamic fields to all widgets.
5
  Requires at least: 4.5
6
  Tested up to: 4.9.6
7
  Requires PHP: 5.4
8
+ Stable tag: 2.3.2
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://premiumaddons.com/) to check addon elements’ demos.
16
 
17
  Premium Addons for elementor plugin’s widgets & addons are cross browser compatible and also fully responsive, Your website will rock on all browsers as well as tables and mobile devices.
18
 
30
 
31
  ### Available Elements
32
 
33
+ 1. [Grid Elementor Widget](https://premiumaddons.com/grid-widget-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/carousel-widget-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/banner-widget-for-elementor-page-builder/) Animated and interactive banner widget with multiple styles.
36
+ 4. [Google Maps Elementor Widget](https://premiumaddons.com/google-maps-widget-for-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/pricing-table-widget-for-elementor-page-builder/) The most customizable Elementor Pricing Table Widget with tons of customization options.
38
+ 6. [Image Separator Elementor Widget](https://premiumaddons.com/image-separator-widget-elementor-page-builder/) This element adds image separator between sections.
39
+ 7. [Fancy Text Elementor Widget](https://premiumaddons.com/fancy-text-widget-for-elementor-page-builder/) Animated fancy text with many animation styles.
40
+ 8. [Heading Elementor Widget](https://premiumaddons.com/heading-widget-for-elementor-page-builder/) This widget has many customizable ready made styles for headings.
41
+ 9. [Dual Header Elementor Widget](https://premiumaddons.com/dual-header-widget-for-elementor-page-builder/) Create a header with 2 styles with numerous customization options.
42
+ 10. [Testimonials Elementor Widget](https://premiumaddons.com/testimonials-widget-for-elementor-page-builder/) Modern testimonials widget with many customization options.
43
+ 11. [Persons Elementor Widget](https://premiumaddons.com/persons-widget-for-elementor-page-builder/) Very good element for listing team members.
44
+ 12. [Countdown Elementor Widget](https://premiumaddons.com/countdown-widget-for-elementor-page-builder/) Advanced countdown addon for elementor.
45
+ 13. [Blog Elementor Widget](https://premiumaddons.com/blog-widget-for-elementor-page-builder/) Blog posts widget with modern style.
46
+ 14. [Counter Elementor Widget](https://premiumaddons.com/counter-widget-for-elementor-page-builder/) Advanced counter elements with lots of options.
47
+ 15. [Video Box Elementor Widget](https://premiumaddons.com/video-box-widget-for-elementor-page-builder/) Video box element with many customization features.
48
+ 16. [Modal Box Elementor Widget](https://premiumaddons.com/modal-box-widget-for-elementor-page-builder/) All purpose Elementor modal box with many options.
49
+ 17. [Progress Bar Elementor Widget](https://premiumaddons.com/progress-bar-widget-for-elementor-page-builder/) The most advanced progress bar available for Elementor.
50
+ 19. [Button Elementor Widget](https://premiumaddons.com/button-widget-for-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/contact-form-7-widget-for-elementor-page-builder/) Elementor contact form 7 add-on with 2 readymade styles.
52
+ 20. [Image Button Elementor Widget](https://premiumaddons.com/image-button-widget-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.3.2 =
103
+
104
+ - Tweak: Added link option to excerpt in Premium Blog widget.
105
+ - Fix: Network site activation redirection issue.
106
+
107
  = 2.3.1 =
108
 
109
  - Tweak: Added support for dynamic fields to all widgets.
widgets/premium-blog.php CHANGED
@@ -145,6 +145,33 @@ class Premium_Blog_Widget extends Widget_Base
145
  ]
146
  );
147
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
148
  /*Author Meta*/
149
  $this->add_control('premium_blog_author_meta',
150
  [
@@ -406,7 +433,7 @@ class Premium_Blog_Widget extends Widget_Base
406
  'value' => Scheme_Color::COLOR_2,
407
  ],
408
  'selectors' => [
409
- '{{WRAPPER}} .premium-blog-entry-meta, {{WRAPPER}} .premium-blog-entry-meta a' => 'color: {{VALUE}};',
410
  ]
411
  ]
412
  );
@@ -417,7 +444,7 @@ class Premium_Blog_Widget extends Widget_Base
417
  [
418
  'name' => 'premium_blog_meta_typo',
419
  'scheme' => Scheme_Typography::TYPOGRAPHY_1,
420
- 'selector' => '{{WRAPPER}} .premium-blog-entry-meta a',
421
  ]
422
  );
423
 
@@ -431,7 +458,7 @@ class Premium_Blog_Widget extends Widget_Base
431
  'value' => Scheme_Color::COLOR_1,
432
  ],
433
  'selectors' => [
434
- '{{WRAPPER}} .premium-blog-entry-meta a:hover' => 'color: {{VALUE}};',
435
  ]
436
  ]
437
  );
@@ -738,6 +765,9 @@ class Premium_Blog_Widget extends Widget_Base
738
  $post_args = premium_blog_get_post_settings($settings);
739
 
740
  $posts = premium_blog_get_post_data($post_args, $paged , $new_offset);
 
 
 
741
  ?>
742
  <?php
743
  if(count($posts)){
@@ -800,7 +830,7 @@ if(count($posts)){
800
  <div class="premium-blog-post-content" style="<?php if ( $settings['premium_blog_post_format_icon'] !== 'yes' ) : echo 'margin-left:0px;'; endif; ?>">
801
  <?php
802
  if ( $settings['premium_blog_excerpt'] === 'yes' ) :
803
- echo premium_addons_get_excerpt_by_id(get_the_ID(),$settings['premium_blog_excerpt_length']);
804
  else: the_content();
805
  endif; ?>
806
  </div>
145
  ]
146
  );
147
 
148
+ /*Excerpt Type*/
149
+ $this->add_control('premium_blog_excerpt_type',
150
+ [
151
+ 'label' => esc_html__('Excerpt Type', 'premium-addons-for-elementor'),
152
+ 'type' => Controls_Manager::SELECT,
153
+ 'options' => [
154
+ 'dots' => esc_html__('Dots', 'premium-addons-for-elementor'),
155
+ 'link' => esc_html__('Link', 'premium-addons-for-elementor'),
156
+ ],
157
+ 'default' => 'dots',
158
+ 'label_block' => true
159
+ ]
160
+ );
161
+
162
+ /*Excerpt Text*/
163
+ $this->add_control('premium_blog_excerpt_text',
164
+ [
165
+ 'label' => esc_html__( 'Link Text', 'premium-addons-for-elementor' ),
166
+ 'type' => Controls_Manager::TEXT,
167
+ 'default' => esc_html__('continue reading','premium-addons-for-elementor'),
168
+ 'condition' => [
169
+ 'premium_blog_excerpt' => 'yes',
170
+ 'premium_blog_excerpt_type' => 'link'
171
+ ]
172
+ ]
173
+ );
174
+
175
  /*Author Meta*/
176
  $this->add_control('premium_blog_author_meta',
177
  [
433
  'value' => Scheme_Color::COLOR_2,
434
  ],
435
  'selectors' => [
436
+ '{{WRAPPER}} .premium-blog-entry-meta, {{WRAPPER}} .premium-blog-entry-meta a, {{WRAPPER}} .premium-blog-post-content .premium-blog-excerpt-link' => 'color: {{VALUE}};',
437
  ]
438
  ]
439
  );
444
  [
445
  'name' => 'premium_blog_meta_typo',
446
  'scheme' => Scheme_Typography::TYPOGRAPHY_1,
447
+ 'selector' => '{{WRAPPER}} .premium-blog-entry-meta a,{{WRAPPER}} .premium-blog-post-content .premium-blog-excerpt-link',
448
  ]
449
  );
450
 
458
  'value' => Scheme_Color::COLOR_1,
459
  ],
460
  'selectors' => [
461
+ '{{WRAPPER}} .premium-blog-entry-meta a:hover, {{WRAPPER}} .premium-blog-post-content .premium-blog-excerpt-link:hover' => 'color: {{VALUE}};',
462
  ]
463
  ]
464
  );
765
  $post_args = premium_blog_get_post_settings($settings);
766
 
767
  $posts = premium_blog_get_post_data($post_args, $paged , $new_offset);
768
+
769
+ $excerpt_type = $settings['premium_blog_excerpt_type'];
770
+ $excerpt_text = $settings['premium_blog_excerpt_text'];
771
  ?>
772
  <?php
773
  if(count($posts)){
830
  <div class="premium-blog-post-content" style="<?php if ( $settings['premium_blog_post_format_icon'] !== 'yes' ) : echo 'margin-left:0px;'; endif; ?>">
831
  <?php
832
  if ( $settings['premium_blog_excerpt'] === 'yes' ) :
833
+ echo premium_addons_get_excerpt_by_id(get_the_ID(),$settings['premium_blog_excerpt_length'],$excerpt_type,$excerpt_text);
834
  else: the_content();
835
  endif; ?>
836
  </div>