Addons for Elementor - Version 6.8

Version Description

  • Fixed - Sanitized options in the editor to enforce better security policies based on research by Wordfence team
Download this release

Release Info

Developer livemesh
Plugin Icon 128x128 Addons for Elementor
Version 6.8
Comparing to
See all releases

Code changes from version 6.7.1 to 6.8

addons-for-elementor.php CHANGED
@@ -8,7 +8,7 @@
8
  * Author URI: https://livemeshelementor.com
9
  * License: GPL3
10
  * License URI: https://www.gnu.org/licenses/gpl-3.0.txt
11
- * Version: 6.7.1
12
  * Text Domain: livemesh-el-addons
13
  * Domain Path: languages
14
  * Elementor tested up to: 3.1.0
@@ -37,7 +37,7 @@ if ( !defined( 'ABSPATH' ) ) {
37
 
38
  if ( !function_exists( 'lae_fs' ) ) {
39
  // Plugin version
40
- define( 'LAE_VERSION', '6.7.1' );
41
  // Plugin Root File
42
  define( 'LAE_PLUGIN_FILE', __FILE__ );
43
  // Plugin Folder Path
8
  * Author URI: https://livemeshelementor.com
9
  * License: GPL3
10
  * License URI: https://www.gnu.org/licenses/gpl-3.0.txt
11
+ * Version: 6.8
12
  * Text Domain: livemesh-el-addons
13
  * Domain Path: languages
14
  * Elementor tested up to: 3.1.0
37
 
38
  if ( !function_exists( 'lae_fs' ) ) {
39
  // Plugin version
40
+ define( 'LAE_VERSION', '6.8' );
41
  // Plugin Root File
42
  define( 'LAE_PLUGIN_FILE', __FILE__ );
43
  // Plugin Folder Path
includes/widgets/portfolio.php CHANGED
@@ -8,6 +8,7 @@ Author URI: https://www.livemeshthemes.com
8
  */
9
  namespace LivemeshAddons\Widgets;
10
 
 
11
  use Elementor\Widget_Base ;
12
  use Elementor\Controls_Manager ;
13
  use Elementor\Group_Control_Image_Size ;
@@ -782,7 +783,7 @@ class LAE_Portfolio_Widget extends LAE_Widget_Base
782
  $header_class = ( trim( $settings['heading'] ) === '' ? ' lae-no-heading' : '' );
783
  $grid_header = '<div class="lae-portfolio-header ' . $header_class . '">';
784
  if ( !empty($settings['heading']) ) {
785
- $grid_header .= '<' . $settings['heading_tag'] . ' class="lae-heading">' . wp_kses_post( $settings['heading'] ) . '</' . $settings['heading_tag'] . '>';
786
  }
787
  if ( $settings['filterable'] == 'yes' ) {
788
  $grid_header .= lae_get_taxonomy_terms_filter( $taxonomies, $chosen_terms );
@@ -897,7 +898,7 @@ class LAE_Portfolio_Widget extends LAE_Widget_Base
897
  $image_info = '<div class="lae-image-info">';
898
  $image_info .= '<div class="lae-entry-info">';
899
  if ( $settings['display_title_on_thumbnail'] == 'yes' ) {
900
- $image_info .= '<' . $settings['title_tag'] . ' class="lae-post-title"><a href="' . get_permalink() . '" title="' . get_the_title() . '" rel="bookmark"' . $target . '>' . get_the_title() . '</a></' . $settings['title_tag'] . '>';
901
  }
902
  if ( $settings['display_taxonomy_on_thumbnail'] == 'yes' ) {
903
  $image_info .= lae_get_info_for_taxonomies( $taxonomies );
@@ -926,7 +927,7 @@ class LAE_Portfolio_Widget extends LAE_Widget_Base
926
  $entry_text = '<div class="lae-entry-text-wrap ' . (( $thumbnail_exists ? '' : ' nothumbnail' )) . '">';
927
 
928
  if ( $settings['display_title'] == 'yes' ) {
929
- $entry_title = '<' . $settings['entry_title_tag'] . ' class="entry-title"><a href="' . get_permalink() . '" title="' . get_the_title() . '" rel="bookmark"' . $target . '>' . get_the_title() . '</a></' . $settings['entry_title_tag'] . '>';
930
  $entry_text .= apply_filters(
931
  'lae_posts_grid_entry_title',
932
  $entry_title,
8
  */
9
  namespace LivemeshAddons\Widgets;
10
 
11
+ use Elementor\Utils ;
12
  use Elementor\Widget_Base ;
13
  use Elementor\Controls_Manager ;
14
  use Elementor\Group_Control_Image_Size ;
783
  $header_class = ( trim( $settings['heading'] ) === '' ? ' lae-no-heading' : '' );
784
  $grid_header = '<div class="lae-portfolio-header ' . $header_class . '">';
785
  if ( !empty($settings['heading']) ) {
786
+ $grid_header .= '<' . Utils::validate_html_tag( $settings['heading_tag'] ) . ' class="lae-heading">' . wp_kses_post( $settings['heading'] ) . '</' . Utils::validate_html_tag( $settings['heading_tag'] ) . '>';
787
  }
788
  if ( $settings['filterable'] == 'yes' ) {
789
  $grid_header .= lae_get_taxonomy_terms_filter( $taxonomies, $chosen_terms );
898
  $image_info = '<div class="lae-image-info">';
899
  $image_info .= '<div class="lae-entry-info">';
900
  if ( $settings['display_title_on_thumbnail'] == 'yes' ) {
901
+ $image_info .= '<' . Utils::validate_html_tag( $settings['title_tag'] ) . ' class="lae-post-title"><a href="' . get_permalink() . '" title="' . get_the_title() . '" rel="bookmark"' . $target . '>' . get_the_title() . '</a></' . Utils::validate_html_tag( $settings['title_tag'] ) . '>';
902
  }
903
  if ( $settings['display_taxonomy_on_thumbnail'] == 'yes' ) {
904
  $image_info .= lae_get_info_for_taxonomies( $taxonomies );
927
  $entry_text = '<div class="lae-entry-text-wrap ' . (( $thumbnail_exists ? '' : ' nothumbnail' )) . '">';
928
 
929
  if ( $settings['display_title'] == 'yes' ) {
930
+ $entry_title = '<' . Utils::validate_html_tag( $settings['entry_title_tag'] ) . ' class="entry-title"><a href="' . get_permalink() . '" title="' . get_the_title() . '" rel="bookmark"' . $target . '>' . get_the_title() . '</a></' . Utils::validate_html_tag( $settings['entry_title_tag'] ) . '>';
931
  $entry_text .= apply_filters(
932
  'lae_posts_grid_entry_title',
933
  $entry_title,
plugin.php CHANGED
@@ -45,7 +45,7 @@ if ( !class_exists( 'Livemesh_Elementor_Addons' ) ) {
45
  public function __clone()
46
  {
47
  // Cloning instances of the class is forbidden
48
- _doing_it_wrong( __FUNCTION__, __( 'Cheatin&#8217; huh?', 'livemesh-el-addons' ), '6.7.1' );
49
  }
50
 
51
  /**
@@ -55,7 +55,7 @@ if ( !class_exists( 'Livemesh_Elementor_Addons' ) ) {
55
  public function __wakeup()
56
  {
57
  // Unserializing instances of the class is forbidden
58
- _doing_it_wrong( __FUNCTION__, __( 'Cheatin&#8217; huh?', 'livemesh-el-addons' ), '6.7.1' );
59
  }
60
 
61
  private function setup_debug_constants()
45
  public function __clone()
46
  {
47
  // Cloning instances of the class is forbidden
48
+ _doing_it_wrong( __FUNCTION__, __( 'Cheatin&#8217; huh?', 'livemesh-el-addons' ), '6.8' );
49
  }
50
 
51
  /**
55
  public function __wakeup()
56
  {
57
  // Unserializing instances of the class is forbidden
58
+ _doing_it_wrong( __FUNCTION__, __( 'Cheatin&#8217; huh?', 'livemesh-el-addons' ), '6.8' );
59
  }
60
 
61
  private function setup_debug_constants()
readme.txt CHANGED
@@ -7,7 +7,7 @@ Tags: elementor, elementor addons, elementor extensions, elementor widgets, page
7
  Requires at least: 4.5
8
  Tested up to: 5.7
9
  Requires PHP: 5.6
10
- Stable Tag: 6.7.1
11
  License: GPLv3
12
  License URI: https://opensource.org/licenses/GPL-3.0
13
 
@@ -258,6 +258,9 @@ Email us at support[at]livemeshthemes.com and we will be happy to assist you.
258
 
259
 
260
 
 
 
 
261
  = 6.7.1 =
262
  * Added – Upgrade notice on the addons
263
 
7
  Requires at least: 4.5
8
  Tested up to: 5.7
9
  Requires PHP: 5.6
10
+ Stable Tag: 6.8
11
  License: GPLv3
12
  License URI: https://opensource.org/licenses/GPL-3.0
13
 
258
 
259
 
260
 
261
+ = 6.8 =
262
+ * Fixed - Sanitized options in the editor to enforce better security policies based on research by Wordfence team
263
+
264
  = 6.7.1 =
265
  * Added – Upgrade notice on the addons
266
 
templates/addons/heading/style1.php CHANGED
@@ -6,6 +6,8 @@
6
  *
7
  */
8
 
 
 
9
  if (!defined('ABSPATH')) {
10
  exit; // Exit if accessed directly
11
  }
@@ -16,7 +18,7 @@ list($animate_class, $animation_attr) = lae_get_animation_atts($settings['widget
16
 
17
  <div class="lae-heading lae-<?php echo $settings['style']; ?> lae-align<?php echo $settings['align']; ?> <?php echo $animate_class; ?>" <?php echo $animation_attr; ?>>
18
 
19
- <<?php echo esc_html($settings['title_tag']); ?> class="lae-title"><?php echo wp_kses_post($settings['heading']); ?></<?php echo esc_html($settings['title_tag']); ?>>
20
 
21
  <?php if (!empty($settings['short_text'])): ?>
22
 
6
  *
7
  */
8
 
9
+ use Elementor\Utils;
10
+
11
  if (!defined('ABSPATH')) {
12
  exit; // Exit if accessed directly
13
  }
18
 
19
  <div class="lae-heading lae-<?php echo $settings['style']; ?> lae-align<?php echo $settings['align']; ?> <?php echo $animate_class; ?>" <?php echo $animation_attr; ?>>
20
 
21
+ <<?php echo Utils::validate_html_tag($settings['title_tag']); ?> class="lae-title"><?php echo wp_kses_post($settings['heading']); ?></<?php echo Utils::validate_html_tag($settings['title_tag']); ?>>
22
 
23
  <?php if (!empty($settings['short_text'])): ?>
24
 
templates/addons/heading/style2.php CHANGED
@@ -6,6 +6,9 @@
6
  *
7
  */
8
 
 
 
 
9
  if (!defined('ABSPATH')) {
10
  exit; // Exit if accessed directly
11
  }
@@ -22,7 +25,7 @@ list($animate_class, $animation_attr) = lae_get_animation_atts($settings['widget
22
 
23
  <?php endif; ?>
24
 
25
- <<?php echo esc_html($settings['title_tag']); ?> class="lae-title"><?php echo wp_kses_post($settings['heading']); ?></<?php echo esc_html($settings['title_tag']); ?>>
26
 
27
  <?php if (!empty($settings['short_text'])): ?>
28
 
6
  *
7
  */
8
 
9
+
10
+ use Elementor\Utils;
11
+
12
  if (!defined('ABSPATH')) {
13
  exit; // Exit if accessed directly
14
  }
25
 
26
  <?php endif; ?>
27
 
28
+ <<?php echo Utils::validate_html_tag($settings['title_tag']); ?> class="lae-title"><?php echo wp_kses_post($settings['heading']); ?></<?php echo Utils::validate_html_tag($settings['title_tag']); ?>>
29
 
30
  <?php if (!empty($settings['short_text'])): ?>
31
 
templates/addons/heading/style3.php CHANGED
@@ -6,6 +6,9 @@
6
  *
7
  */
8
 
 
 
 
9
  if (!defined('ABSPATH')) {
10
  exit; // Exit if accessed directly
11
  }
@@ -16,6 +19,6 @@ list($animate_class, $animation_attr) = lae_get_animation_atts($settings['widget
16
 
17
  <div class="lae-heading lae-<?php echo $settings['style']; ?> lae-align<?php echo $settings['align']; ?> <?php echo $animate_class; ?>" <?php echo $animation_attr; ?>>
18
 
19
- <<?php echo esc_html($settings['title_tag']); ?> class="lae-title"><?php echo wp_kses_post($settings['heading']); ?></<?php echo esc_html($settings['title_tag']); ?>>
20
 
21
  </div><!-- .lae-heading -->
6
  *
7
  */
8
 
9
+
10
+ use Elementor\Utils;
11
+
12
  if (!defined('ABSPATH')) {
13
  exit; // Exit if accessed directly
14
  }
19
 
20
  <div class="lae-heading lae-<?php echo $settings['style']; ?> lae-align<?php echo $settings['align']; ?> <?php echo $animate_class; ?>" <?php echo $animation_attr; ?>>
21
 
22
+ <<?php echo Utils::validate_html_tag($settings['title_tag']); ?> class="lae-title"><?php echo wp_kses_post($settings['heading']); ?></<?php echo Utils::validate_html_tag($settings['title_tag']); ?>>
23
 
24
  </div><!-- .lae-heading -->
templates/addons/posts-carousel/content.php CHANGED
@@ -6,6 +6,8 @@
6
  *
7
  */
8
 
 
 
9
  if (!defined('ABSPATH')) {
10
  exit; // Exit if accessed directly
11
  }
@@ -52,12 +54,12 @@ if (!defined('ABSPATH')) {
52
 
53
  <?php if ($settings['display_title_on_thumbnail'] == 'yes'): ?>
54
 
55
- <<?php echo $settings['title_tag']; ?> class="lae-post-title">
56
 
57
  <a href="<?php echo get_permalink(); ?>" title="<?php echo get_the_title(); ?>"
58
  rel="bookmark"<?php echo $target; ?>><?php echo get_the_title(); ?></a>
59
 
60
- </<?php echo $settings['title_tag']; ?>>
61
 
62
  <?php endif; ?>
63
 
@@ -83,12 +85,12 @@ if (!defined('ABSPATH')) {
83
 
84
  <?php if ($settings['display_title'] == 'yes') : ?>
85
 
86
- <<?php echo $settings['entry_title_tag']; ?> class="entry-title">
87
 
88
  <a href="<?php echo get_permalink(); ?>" title="<?php echo get_the_title(); ?>"
89
  rel="bookmark"<?php echo $target; ?>><?php echo get_the_title(); ?></a>
90
 
91
- </<?php echo $settings['entry_title_tag']; ?>>
92
 
93
  <?php endif; ?>
94
 
6
  *
7
  */
8
 
9
+ use Elementor\Utils;
10
+
11
  if (!defined('ABSPATH')) {
12
  exit; // Exit if accessed directly
13
  }
54
 
55
  <?php if ($settings['display_title_on_thumbnail'] == 'yes'): ?>
56
 
57
+ <<?php echo Utils::validate_html_tag($settings['title_tag']); ?> class="lae-post-title">
58
 
59
  <a href="<?php echo get_permalink(); ?>" title="<?php echo get_the_title(); ?>"
60
  rel="bookmark"<?php echo $target; ?>><?php echo get_the_title(); ?></a>
61
 
62
+ </<?php echo Utils::validate_html_tag($settings['title_tag']); ?>>
63
 
64
  <?php endif; ?>
65
 
85
 
86
  <?php if ($settings['display_title'] == 'yes') : ?>
87
 
88
+ <<?php echo Utils::validate_html_tag($settings['entry_title_tag']); ?> class="entry-title">
89
 
90
  <a href="<?php echo get_permalink(); ?>" title="<?php echo get_the_title(); ?>"
91
  rel="bookmark"<?php echo $target; ?>><?php echo get_the_title(); ?></a>
92
 
93
+ </<?php echo Utils::validate_html_tag($settings['entry_title_tag']); ?>>
94
 
95
  <?php endif; ?>
96
 
templates/addons/pricing-table/content.php CHANGED
@@ -6,6 +6,9 @@
6
  *
7
  */
8
 
 
 
 
9
  if (!defined('ABSPATH')) {
10
  exit; // Exit if accessed directly
11
  }
@@ -35,7 +38,7 @@ list($animate_class, $animation_attr) = lae_get_animation_atts($pricing_plan['wi
35
 
36
  <?php endif; ?>
37
 
38
- <<?php echo $settings['plan_name_tag']; ?> class="lae-plan-name lae-center"><?php echo $pricing_title; ?></<?php echo $settings['plan_name_tag']; ?>>
39
 
40
  <?php if (!empty($pricing_img)) : ?>
41
 
@@ -45,11 +48,11 @@ list($animate_class, $animation_attr) = lae_get_animation_atts($pricing_plan['wi
45
 
46
  </div>
47
 
48
- <<?php echo $settings['plan_price_tag']; ?> class="lae-plan-price lae-plan-header lae-center">
49
 
50
  <span class="lae-text"><?php echo wp_kses_post($price_tag); ?></span>
51
 
52
- </<?php echo $settings['plan_price_tag']; ?>>
53
 
54
  <div class="lae-plan-details">
55
 
6
  *
7
  */
8
 
9
+
10
+ use Elementor\Utils;
11
+
12
  if (!defined('ABSPATH')) {
13
  exit; // Exit if accessed directly
14
  }
38
 
39
  <?php endif; ?>
40
 
41
+ <<?php echo Utils::validate_html_tag($settings['plan_name_tag']); ?> class="lae-plan-name lae-center"><?php echo $pricing_title; ?></<?php echo Utils::validate_html_tag($settings['plan_name_tag']); ?>>
42
 
43
  <?php if (!empty($pricing_img)) : ?>
44
 
48
 
49
  </div>
50
 
51
+ <<?php echo Utils::validate_html_tag($settings['plan_price_tag']); ?> class="lae-plan-price lae-plan-header lae-center">
52
 
53
  <span class="lae-text"><?php echo wp_kses_post($price_tag); ?></span>
54
 
55
+ </<?php echo Utils::validate_html_tag($settings['plan_price_tag']); ?>>
56
 
57
  <div class="lae-plan-details">
58
 
templates/addons/services/content.php CHANGED
@@ -11,6 +11,7 @@ if (!defined('ABSPATH')) {
11
  }
12
 
13
  use Elementor\Icons_Manager;
 
14
 
15
  $has_link = false;
16
 
@@ -110,7 +111,7 @@ list($animate_class, $animation_attr) = lae_get_animation_atts($service['widget_
110
 
111
  <?php
112
 
113
- $title_html = '<' . $settings['title_tag'] . ' class="lae-title">' . esc_html($service['service_title']) . '</' . $settings['title_tag'] . '>';
114
 
115
  if ($has_link)
116
  $title_html = '<a class="lae-title-link" ' . $widget_instance->get_render_attribute_string($link_key) . '>' . $title_html . '</a>';
11
  }
12
 
13
  use Elementor\Icons_Manager;
14
+ use Elementor\Utils;
15
 
16
  $has_link = false;
17
 
111
 
112
  <?php
113
 
114
+ $title_html = '<' . Utils::validate_html_tag($settings['title_tag']) . ' class="lae-title">' . esc_html($service['service_title']) . '</' . Utils::validate_html_tag($settings['title_tag']) . '>';
115
 
116
  if ($has_link)
117
  $title_html = '<a class="lae-title-link" ' . $widget_instance->get_render_attribute_string($link_key) . '>' . $title_html . '</a>';
templates/addons/team-members/style1.php CHANGED
@@ -6,6 +6,8 @@
6
  *
7
  */
8
 
 
 
9
  if (!defined('ABSPATH')) {
10
  exit; // Exit if accessed directly
11
  }
@@ -64,7 +66,7 @@ if (!empty($team_member['member_link']['url'])) {
64
 
65
  <div class="lae-team-member-text">
66
 
67
- <?php $title_html = '<' . $settings['title_tag'] . ' class="lae-title">' . esc_html($team_member['member_name']) . '</' . $settings['title_tag'] . '>'; ?>
68
 
69
  <?php if ($has_link): ?>
70
 
6
  *
7
  */
8
 
9
+ use Elementor\Utils;
10
+
11
  if (!defined('ABSPATH')) {
12
  exit; // Exit if accessed directly
13
  }
66
 
67
  <div class="lae-team-member-text">
68
 
69
+ <?php $title_html = '<' . Utils::validate_html_tag($settings['title_tag']) . ' class="lae-title">' . esc_html($team_member['member_name']) . '</' . Utils::validate_html_tag($settings['title_tag']) . '>'; ?>
70
 
71
  <?php if ($has_link): ?>
72
 
templates/addons/team-members/style2.php CHANGED
@@ -6,6 +6,8 @@
6
  *
7
  */
8
 
 
 
9
  if (!defined('ABSPATH')) {
10
  exit; // Exit if accessed directly
11
  }
@@ -62,7 +64,7 @@ if (!empty($team_member['member_link']['url'])) {
62
 
63
  <div class="lae-team-member-text">
64
 
65
- <?php $title_html = '<' . $settings['title_tag'] . ' class="lae-title">' . esc_html($team_member['member_name']) . '</' . $settings['title_tag'] . '>'; ?>
66
 
67
  <?php if ($has_link): ?>
68
 
6
  *
7
  */
8
 
9
+ use Elementor\Utils;
10
+
11
  if (!defined('ABSPATH')) {
12
  exit; // Exit if accessed directly
13
  }
64
 
65
  <div class="lae-team-member-text">
66
 
67
+ <?php $title_html = '<' . Utils::validate_html_tag($settings['title_tag']) . ' class="lae-title">' . esc_html($team_member['member_name']) . '</' . Utils::validate_html_tag($settings['title_tag']) . '>'; ?>
68
 
69
  <?php if ($has_link): ?>
70
 
templates/addons/testimonials-slider/content.php CHANGED
@@ -6,6 +6,8 @@
6
  *
7
  */
8
 
 
 
9
  if (!defined('ABSPATH')) {
10
  exit; // Exit if accessed directly
11
  }
@@ -40,7 +42,7 @@ if (!defined('ABSPATH')) {
40
 
41
  <div class="lae-text">
42
 
43
- <<?php echo $settings['title_tag']; ?> class="lae-author-name"><?php echo esc_html($testimonial['client_name']); ?></<?php echo $settings['title_tag']; ?>>
44
 
45
  <div class="lae-author-credentials"><?php echo wp_kses_post($testimonial['credentials']); ?></div>
46
 
6
  *
7
  */
8
 
9
+ use Elementor\Utils;
10
+
11
  if (!defined('ABSPATH')) {
12
  exit; // Exit if accessed directly
13
  }
42
 
43
  <div class="lae-text">
44
 
45
+ <<?php echo Utils::validate_html_tag($settings['title_tag']); ?> class="lae-author-name"><?php echo esc_html($testimonial['client_name']); ?></<?php echo Utils::validate_html_tag($settings['title_tag']); ?>>
46
 
47
  <div class="lae-author-credentials"><?php echo wp_kses_post($testimonial['credentials']); ?></div>
48
 
templates/addons/testimonials/content.php CHANGED
@@ -6,6 +6,8 @@
6
  *
7
  */
8
 
 
 
9
  if (!defined('ABSPATH')) {
10
  exit; // Exit if accessed directly
11
  }
@@ -36,7 +38,7 @@ list($animate_class, $animation_attr) = lae_get_animation_atts($testimonial['wid
36
 
37
  <div class="lae-text">
38
 
39
- <<?php echo $settings['title_tag']; ?> class="lae-author-name"><?php echo esc_html($testimonial['client_name']); ?></<?php echo $settings['title_tag']; ?>>
40
 
41
  <div class="lae-author-credentials"><?php echo wp_kses_post($testimonial['credentials']); ?></div>
42
 
6
  *
7
  */
8
 
9
+ use Elementor\Utils;
10
+
11
  if (!defined('ABSPATH')) {
12
  exit; // Exit if accessed directly
13
  }
38
 
39
  <div class="lae-text">
40
 
41
+ <<?php echo Utils::validate_html_tag($settings['title_tag']); ?> class="lae-author-name"><?php echo esc_html($testimonial['client_name']); ?></<?php echo Utils::validate_html_tag($settings['title_tag']); ?>>
42
 
43
  <div class="lae-author-credentials"><?php echo wp_kses_post($testimonial['credentials']); ?></div>
44
 
templates/post-content/entry-title.php CHANGED
@@ -1,12 +1,14 @@
1
  <?php
2
 
3
 
4
- $title = the_title('<' . $title_tag . ' class="lae-post-title"><a href="' . get_permalink() . '" title="' . get_the_title() . '"
5
- rel="bookmark"' . $target .'>', '</a></h3>', false);
 
 
6
 
7
  /* If there's no post title, return a default title */
8
  if (empty($title))
9
- $title = '<' . $title_tag . ' class="lae-post-title lae-no-entry-title"><a href="' . get_permalink() . '" rel="bookmark"' . $target .'>' . esc_html__('(Untitled)',
10
- 'livemesh-el-addons') . '</a></h3>';
11
 
12
  echo wp_kses_post($title);
1
  <?php
2
 
3
 
4
+ use Elementor\Utils;
5
+
6
+ $title = the_title('<' . Utils::validate_html_tag($title_tag) . ' class="lae-post-title"><a href="' . get_permalink() . '" title="' . get_the_title() . '"
7
+ rel="bookmark"' . $target . '>', '</a></' . Utils::validate_html_tag($title_tag) . '>', false);
8
 
9
  /* If there's no post title, return a default title */
10
  if (empty($title))
11
+ $title = '<' . Utils::validate_html_tag($title_tag) . ' class="lae-post-title lae-no-entry-title"><a href="' . get_permalink() . '" rel="bookmark"' . $target . '>' . esc_html__('(Untitled)',
12
+ 'livemesh-el-addons') . '</a></' . Utils::validate_html_tag($title_tag) . '>';
13
 
14
  echo wp_kses_post($title);