WooLentor – Elementor WooCommerce Builder Addons, Variation Swatches Addons, Gutenberg WooCommerce Product block, grid, slider, templates, widgets, Quick View, Wishlist, Products Compare, Product Filter – All in One Solution - Version 2.1.3

Version Description

Download this release

Release Info

Developer devitemsllc
Plugin Icon 128x128 WooLentor – Elementor WooCommerce Builder Addons, Variation Swatches Addons, Gutenberg WooCommerce Product block, grid, slider, templates, widgets, Quick View, Wishlist, Products Compare, Product Filter – All in One Solution
Version 2.1.3
Comparing to
See all releases

Code changes from version 2.1.2 to 2.1.3

assets/css/woolentor-widgets.css CHANGED
@@ -364,6 +364,10 @@
364
  .woocommerce div.product.mb-30 {
365
  margin-bottom: 30px;
366
  }
 
 
 
 
367
 
368
  /*Product Wrap*/
369
  .ht-products {
@@ -1917,6 +1921,9 @@
1917
  color: red;
1918
  background: transparent;
1919
  }
 
 
 
1920
  #htwlquick-viewmodal .htwl-modal-dialog {
1921
  max-width: 960px;
1922
  padding: 35px;
364
  .woocommerce div.product.mb-30 {
365
  margin-bottom: 30px;
366
  }
367
+ li.woolentor-cart .button:before {
368
+ opacity: 1;
369
+ filter: inherit;
370
+ }
371
 
372
  /*Product Wrap*/
373
  .ht-products {
1921
  color: red;
1922
  background: transparent;
1923
  }
1924
+ .woolentor-placeholder-remove{
1925
+ display: none !important;
1926
+ }
1927
  #htwlquick-viewmodal .htwl-modal-dialog {
1928
  max-width: 960px;
1929
  padding: 35px;
classes/class.post-duplicator.php CHANGED
@@ -127,19 +127,30 @@ class WooLentor_Post_Dupicator{
127
  /*
128
  * duplicate all post meta just in two SQL queries
129
  */
130
- $post_meta_infos = $wpdb->get_results("SELECT meta_key, meta_value FROM $wpdb->postmeta WHERE post_id=$post_id");
 
 
131
  if ( is_array( $post_meta_infos ) && count( $post_meta_infos ) !=0) {
132
- $sql_query = "INSERT INTO $wpdb->postmeta (post_id, meta_key, meta_value) ";
 
 
133
  foreach ($post_meta_infos as $meta_info) {
134
- $meta_key = $meta_info->meta_key;
 
135
  if( $meta_key == '_wp_old_slug' ) continue;
136
- $meta_value = addslashes($meta_info->meta_value);
137
- $sql_query_sel[]= "SELECT $new_post_id, '$meta_key', '$meta_value'";
 
 
 
 
138
  }
139
- $sql_query.= implode(" UNION ALL ", $sql_query_sel);
140
- $wpdb->query($sql_query);
141
  }
 
142
  }
 
143
  $redirect_to = admin_url( 'post.php?action=edit&post=' . $new_post_id );
144
  wp_safe_redirect( $redirect_to );
145
 
127
  /*
128
  * duplicate all post meta just in two SQL queries
129
  */
130
+ $post_meta_infos = $wpdb->get_results(
131
+ $wpdb->prepare("SELECT meta_key, meta_value FROM $wpdb->postmeta WHERE post_id=%d",$post_id)
132
+ );
133
  if ( is_array( $post_meta_infos ) && count( $post_meta_infos ) !=0) {
134
+
135
+ $sql_query = "INSERT INTO $wpdb->postmeta (post_id, meta_key, meta_value) VALUES ";
136
+
137
  foreach ($post_meta_infos as $meta_info) {
138
+
139
+ $meta_key = esc_sql( $meta_info->meta_key );
140
  if( $meta_key == '_wp_old_slug' ) continue;
141
+ $meta_value = $meta_info->meta_value;
142
+ $sql_query_val[]= "( %d, %s, %s )";
143
+ $sql_query_sel[]= $new_post_id;
144
+ $sql_query_sel[]= $meta_key;
145
+ $sql_query_sel[]= $meta_value;
146
+
147
  }
148
+ $sql_query.= implode(",", $sql_query_val). ';';
149
+ $wpdb->query( $wpdb->prepare( $sql_query, $sql_query_sel ) );
150
  }
151
+
152
  }
153
+
154
  $redirect_to = admin_url( 'post.php?action=edit&post=' . $new_post_id );
155
  wp_safe_redirect( $redirect_to );
156
 
classes/class.quickview_manage.php CHANGED
@@ -22,7 +22,7 @@ class Quick_View_Manager{
22
 
23
  // Quick View Markup
24
  public function quick_view_html(){
25
- echo '<div class="woocommerce" id="htwlquick-viewmodal"><div class="htwl-modal-dialog product"><div class="htwl-modal-content"><button type="button" class="htcloseqv"><span class="sli sli-close"></span></button><div class="htwl-modal-body"></div></div></div></div>';
26
  }
27
 
28
  // Open Quick view Ajax Callback
22
 
23
  // Quick View Markup
24
  public function quick_view_html(){
25
+ echo '<div class="woocommerce" id="htwlquick-viewmodal"><div class="htwl-modal-dialog product"><div class="htwl-modal-content"><button type="button" class="htcloseqv"><span class="sli sli-close"><span class="woolentor-placeholder-remove">'.esc_html__('X','woolentor').'</span></span></button><div class="htwl-modal-body"></div></div></div></div>';
26
  }
27
 
28
  // Open Quick view Ajax Callback
includes/admin/include/admin_field-manager.php CHANGED
@@ -304,6 +304,7 @@ class Woolentor_Admin_Fields_Manager {
304
  <?php
305
  foreach( $args['fields'] as $field ){
306
  $field['option_id'] = '['.$args['id'].'][]['.$field['name'].']';
 
307
  $this->add_field( $field, $args['section'] );
308
  }
309
  ?>
304
  <?php
305
  foreach( $args['fields'] as $field ){
306
  $field['option_id'] = '['.$args['id'].'][]['.$field['name'].']';
307
+ $field['field_class'] = 'woolentor-hidden';
308
  $this->add_field( $field, $args['section'] );
309
  }
310
  ?>
includes/admin/include/template-library.php CHANGED
@@ -28,7 +28,7 @@ class Woolentor_Template_Library{
28
  add_action( 'wp_ajax_woolentor_ajax_theme_activation', [ $this, 'ajax_theme_activation' ] );
29
  }
30
 
31
- add_action( 'admin_enqueue_scripts', [ $this, 'scripts' ] );
32
 
33
  }
34
 
@@ -125,6 +125,9 @@ class Woolentor_Template_Library{
125
 
126
  if( 'woolentor_page_woolentor_templates' == $hook ){
127
 
 
 
 
128
  // CSS
129
  wp_enqueue_style( 'woolentor-selectric' );
130
  wp_enqueue_style( 'woolentor-temlibray-style' );
28
  add_action( 'wp_ajax_woolentor_ajax_theme_activation', [ $this, 'ajax_theme_activation' ] );
29
  }
30
 
31
+ add_action( 'admin_enqueue_scripts', [ $this, 'scripts' ], 999 );
32
 
33
  }
34
 
125
 
126
  if( 'woolentor_page_woolentor_templates' == $hook ){
127
 
128
+ wp_dequeue_style( 'uap_jquery-ui.min.css' );
129
+ wp_dequeue_style( 'jquery-ui' );
130
+
131
  // CSS
132
  wp_enqueue_style( 'woolentor-selectric' );
133
  wp_enqueue_style( 'woolentor-temlibray-style' );
includes/modules/shopify-like-checkout/templates/form-checkout.php CHANGED
@@ -46,7 +46,7 @@ if( !empty( $get_custom_menu_id ) ){
46
  </div>
47
  <ul class="woolentor-checkout__breadcrumb">
48
  <li class="woolentor-checkout__breadcrumb-item">
49
- <a class="woolentor-checkout__breadcrumb-link" href="<?php echo esc_url(wc_get_cart_url()) ?>">Cart</a>
50
  </li>
51
  <li class="woolentor-checkout__breadcrumb-item active" data-step="step--info">
52
  <span class="woolentor-checkout__breadcrumb-text"><?php echo esc_html__('Informations', 'woolentor') ?></span>
46
  </div>
47
  <ul class="woolentor-checkout__breadcrumb">
48
  <li class="woolentor-checkout__breadcrumb-item">
49
+ <a class="woolentor-checkout__breadcrumb-link" href="<?php echo esc_url(wc_get_cart_url()) ?>"><?php echo esc_html__('Cart','woolentor');?></a>
50
  </li>
51
  <li class="woolentor-checkout__breadcrumb-item active" data-step="step--info">
52
  <span class="woolentor-checkout__breadcrumb-text"><?php echo esc_html__('Informations', 'woolentor') ?></span>
includes/wl_woo_shop.php CHANGED
@@ -26,7 +26,7 @@ class Woolentor_Woo_Custom_Template_Layout{
26
 
27
  // Product details page
28
  add_filter( 'wc_get_template_part', array( $this, 'wl_get_product_page_template' ), 99, 3 );
29
- add_filter( 'template_include', array( $this, 'wl_get_product_elementor_template' ), 100 );
30
  add_action( 'woolentor_woocommerce_product_content', array( $this, 'wl_get_product_content_elementor' ), 5 );
31
  add_action( 'woolentor_woocommerce_product_content', array( $this, 'wl_get_default_product_data' ), 10 );
32
 
26
 
27
  // Product details page
28
  add_filter( 'wc_get_template_part', array( $this, 'wl_get_product_page_template' ), 99, 3 );
29
+ add_filter( 'template_include', array( $this, 'wl_get_product_elementor_template' ), 999 );
30
  add_action( 'woolentor_woocommerce_product_content', array( $this, 'wl_get_product_content_elementor' ), 5 );
31
  add_action( 'woolentor_woocommerce_product_content', array( $this, 'wl_get_default_product_data' ), 10 );
32
 
readme.txt CHANGED
@@ -3,7 +3,7 @@ Contributors: hasthemes, htplugins, devitemsllc, tarekht
3
  Tags: Elementor, WooCommerce, WooCommerce Elementor, WooCommerce Builder, WooCommerce Product
4
  Requires at least: 4.7
5
  Tested up to: 5.8.2
6
- Stable tag: 2.1.2
7
  License: GPLv2 or later
8
  License URI: http://www.gnu.org/licenses/gpl-2.0.html
9
 
@@ -325,6 +325,11 @@ Elementor Pro is not required. But you can use wooLentor with Elementor free & P
325
 
326
  == Changelog ==
327
 
 
 
 
 
 
328
  = Version: 2.1.2 - Date: 2021-12-07 =
329
  * Added : Product box same height option in Universal product layout
330
  * Improved : Elelementor Widget register.
3
  Tags: Elementor, WooCommerce, WooCommerce Elementor, WooCommerce Builder, WooCommerce Product
4
  Requires at least: 4.7
5
  Tested up to: 5.8.2
6
+ Stable tag: 2.1.3
7
  License: GPLv2 or later
8
  License URI: http://www.gnu.org/licenses/gpl-2.0.html
9
 
325
 
326
  == Changelog ==
327
 
328
+ = Version: 2.1.3 - Date: 2021-12-21 =
329
+ * Solved : Post Duplicator security issue.
330
+ * Solved : Template library pop style issue.
331
+ * Solved : WAVE Tool empty content error issue.
332
+
333
  = Version: 2.1.2 - Date: 2021-12-07 =
334
  * Added : Product box same height option in Universal product layout
335
  * Improved : Elelementor Widget register.
woolentor_addons_elementor.php CHANGED
@@ -3,21 +3,21 @@
3
  * Plugin Name: WooLentor - WooCommerce Elementor Addons + Builder
4
  * Description: The WooCommerce elements library for Elementor page builder plugin for WordPress.
5
  * Plugin URI: https://woolentor.com/
6
- * Version: 2.1.2
7
  * Author: HasThemes
8
  * Author URI: https://hasthemes.com/plugins/woolentor-pro/
9
  * License: GPL-2.0+
10
  * License URI: http://www.gnu.org/licenses/gpl-2.0.txt
11
  * Text Domain: woolentor
12
  * Domain Path: /languages
13
- * WC tested up to: 5.9.0
14
- * Elementor tested up to: 3.4.8
15
  * Elementor Pro tested up to: 3.5.1
16
  */
17
 
18
  if ( ! defined( 'ABSPATH' ) ) exit; // Exit if accessed directly
19
 
20
- define( 'WOOLENTOR_VERSION', '2.1.2' );
21
  define( 'WOOLENTOR_ADDONS_PL_ROOT', __FILE__ );
22
  define( 'WOOLENTOR_ADDONS_PL_URL', plugins_url( '/', WOOLENTOR_ADDONS_PL_ROOT ) );
23
  define( 'WOOLENTOR_ADDONS_PL_PATH', plugin_dir_path( WOOLENTOR_ADDONS_PL_ROOT ) );
3
  * Plugin Name: WooLentor - WooCommerce Elementor Addons + Builder
4
  * Description: The WooCommerce elements library for Elementor page builder plugin for WordPress.
5
  * Plugin URI: https://woolentor.com/
6
+ * Version: 2.1.3
7
  * Author: HasThemes
8
  * Author URI: https://hasthemes.com/plugins/woolentor-pro/
9
  * License: GPL-2.0+
10
  * License URI: http://www.gnu.org/licenses/gpl-2.0.txt
11
  * Text Domain: woolentor
12
  * Domain Path: /languages
13
+ * WC tested up to: 6.0.0
14
+ * Elementor tested up to: 3.5.1
15
  * Elementor Pro tested up to: 3.5.1
16
  */
17
 
18
  if ( ! defined( 'ABSPATH' ) ) exit; // Exit if accessed directly
19
 
20
+ define( 'WOOLENTOR_VERSION', '2.1.3' );
21
  define( 'WOOLENTOR_ADDONS_PL_ROOT', __FILE__ );
22
  define( 'WOOLENTOR_ADDONS_PL_URL', plugins_url( '/', WOOLENTOR_ADDONS_PL_ROOT ) );
23
  define( 'WOOLENTOR_ADDONS_PL_PATH', plugin_dir_path( WOOLENTOR_ADDONS_PL_ROOT ) );