Unlimited Elements For Elementor (Free Widgets, Addons, Templates) - Version 1.4.68

Version Description

Download this release

Release Info

Developer unitecms
Plugin Icon 128x128 Unlimited Elements For Elementor (Free Widgets, Addons, Templates)
Version 1.4.68
Comparing to
See all releases

Code changes from version 1.4.67 to 1.4.68

css/admin.css CHANGED
@@ -409,6 +409,12 @@ html {
409
  box-sizing: content-box;
410
  }
411
 
 
 
 
 
 
 
412
  .unite_table_items {
413
  box-shadow: 0 1px 1px rgba(0, 0, 0, 0.04);
414
  border-left: medium none;
@@ -523,6 +529,10 @@ html {
523
  margin-bottom:30px;
524
  }
525
 
 
 
 
 
526
 
527
  .__________MAIN____________{}
528
 
409
  box-sizing: content-box;
410
  }
411
 
412
+ .unite_table_items input,
413
+ .unite_table_items select,
414
+ .unite_table_items textarea{
415
+ box-sizing:border-box;
416
+ }
417
+
418
  .unite_table_items {
419
  box-shadow: 0 1px 1px rgba(0, 0, 0, 0.04);
420
  border-left: medium none;
529
  margin-bottom:30px;
530
  }
531
 
532
+ .unite_table_items input[type='text'],
533
+ .unite_table_items select{
534
+ padding:0px 4px 0px 4px !important;
535
+ }
536
 
537
  .__________MAIN____________{}
538
 
css/unitecreator_styles.css CHANGED
@@ -554,8 +554,7 @@
554
  }
555
 
556
  .uc-has-cats .uc-attr-table-wrapper{
557
- width:calc(100% - 150px;);
558
- xbackground-color:red;
559
  }
560
 
561
  /* ------ copied section ------ */
@@ -954,6 +953,12 @@
954
  display:none;
955
  }
956
 
 
 
 
 
 
 
957
  .----------------THIRD_PARTY------------- {}
958
 
959
  .select2-dropdown{
554
  }
555
 
556
  .uc-has-cats .uc-attr-table-wrapper{
557
+ width:calc(100% - 150px);
 
558
  }
559
 
560
  /* ------ copied section ------ */
953
  display:none;
954
  }
955
 
956
+ .uc-dialog-param .uc-table-dialog-conditions td{
957
+ padding-right:15px;
958
+ padding-top:5px;
959
+ padding-bottom:5px;
960
+ }
961
+
962
  .----------------THIRD_PARTY------------- {}
963
 
964
  .select2-dropdown{
inc_php/framework/functions.class.php CHANGED
@@ -608,14 +608,14 @@ defined('UNLIMITED_ELEMENTS_INC') or die('Restricted access');
608
  /**
609
  * merge arrays with unique ids
610
  */
611
- public static function mergeArraysUnique($arr1, $arr2){
612
 
613
- if(empty($arr2))
614
  return($arr1);
615
-
616
- $arrIDs = array_merge($arr1, $arr2);
617
  $arrIDs = array_unique($arrIDs);
618
-
619
  return($arrIDs);
620
  }
621
 
608
  /**
609
  * merge arrays with unique ids
610
  */
611
+ public static function mergeArraysUnique($arr1, $arr2, $arr3 = array()){
612
 
613
+ if(empty($arr2) && empty($arr3))
614
  return($arr1);
615
+
616
+ $arrIDs = array_merge($arr1, $arr2, $arr3);
617
  $arrIDs = array_unique($arrIDs);
618
+
619
  return($arrIDs);
620
  }
621
 
inc_php/framework/instagram/helper.class.php CHANGED
@@ -107,12 +107,16 @@ class HelperInstaUC{
107
  }
108
 
109
  //add renew link
 
 
 
110
  if($expireDays < 60){
111
  $linkRenew = HelperUC::getUrlAjax("renew_instagram_access_token");
112
  $htmlLink = HelperHtmlUC::getHtmlLink($linkRenew, "renew access token");
113
  }
114
 
115
- $html .= " ".$htmlLink;
 
116
 
117
  return($html);
118
  }
107
  }
108
 
109
  //add renew link
110
+
111
+ $htmlLink = null;
112
+
113
  if($expireDays < 60){
114
  $linkRenew = HelperUC::getUrlAjax("renew_instagram_access_token");
115
  $htmlLink = HelperHtmlUC::getHtmlLink($linkRenew, "renew access token");
116
  }
117
 
118
+ if(!empty($htmlLink))
119
+ $html .= " ".$htmlLink;
120
 
121
  return($html);
122
  }
inc_php/framework/instagram/instagram_api_official.class.php CHANGED
@@ -448,7 +448,7 @@ class InstagramAPIOfficialUC{
448
  $objItems = $this->getTagData($mixed, $lastID, $userID);
449
  break;
450
  }
451
-
452
  $arrItems = $this->convertItemsToSimpleArray($objItems, $maxItems);
453
 
454
  }catch(Exception $e){
448
  $objItems = $this->getTagData($mixed, $lastID, $userID);
449
  break;
450
  }
451
+
452
  $arrItems = $this->convertItemsToSimpleArray($objItems, $maxItems);
453
 
454
  }catch(Exception $e){
inc_php/framework/instagram/obj_item.class.php CHANGED
@@ -270,15 +270,21 @@ class InstaObjItemUC{
270
  */
271
  public function getDataSimple(){
272
 
 
 
 
 
 
 
273
  $arr = array();
274
  $arr["thumb"] = $this->getImageLow();
275
  $arr["image"] = $this->getImageStandart();
276
  $arr["num_likes"] = $this->getNumLikesText();
277
  $arr["num_comments"] = $this->getNumCommentsText();
278
- $arr["time_passed"] = $this->getTimePassedText();
279
  $arr["caption"] = $this->getCaption();
280
  $arr["link"] = $this->getLink();
281
- $arr["isvideo"] = $this->isVideo();
 
282
  $arr["num_video_views"] = $this->getNumVideoViewsText();
283
 
284
  return($arr);
@@ -599,22 +605,29 @@ class InstaObjItemUC{
599
  */
600
  public function initOfficialAPI($item){
601
 
 
 
 
 
 
 
602
 
603
  $urlImage = UniteFunctionsUC::getVal($item, "media_url");
604
 
 
 
 
 
 
 
 
605
  $this->arrImages[self::IMAGE_LOW]["url"] = $urlImage;
606
  $this->arrImages[self::IMAGE_STANDARD]["url"] = $urlImage;
607
 
608
  $this->captionText = UniteFunctionsUC::getVal($item, "caption");
609
 
610
  $this->id = UniteFunctionsUC::getVal($item, "id");
611
-
612
- $mediaType = UniteFunctionsUC::getVal($item, "media_type");
613
-
614
- if($mediaType == "IMAGE")
615
- $this->type = self::TYPE_IMAGE;
616
- else
617
- $this->type = self::TYPE_VIDEO;
618
 
619
  $this->link = UniteFunctionsUC::getVal($item, "permalink");
620
 
270
  */
271
  public function getDataSimple(){
272
 
273
+ $isVideo = $this->isVideo();
274
+
275
+ $class = "";
276
+ if($isVideo == true)
277
+ $class = "uc-video-item";
278
+
279
  $arr = array();
280
  $arr["thumb"] = $this->getImageLow();
281
  $arr["image"] = $this->getImageStandart();
282
  $arr["num_likes"] = $this->getNumLikesText();
283
  $arr["num_comments"] = $this->getNumCommentsText();
 
284
  $arr["caption"] = $this->getCaption();
285
  $arr["link"] = $this->getLink();
286
+ $arr["isvideo"] = $isVideo;
287
+ $arr["video_class"] = $class;
288
  $arr["num_video_views"] = $this->getNumVideoViewsText();
289
 
290
  return($arr);
605
  */
606
  public function initOfficialAPI($item){
607
 
608
+ $mediaType = UniteFunctionsUC::getVal($item, "media_type");
609
+
610
+ if($mediaType == "IMAGE")
611
+ $this->type = self::TYPE_IMAGE;
612
+ else
613
+ $this->type = self::TYPE_VIDEO;
614
 
615
  $urlImage = UniteFunctionsUC::getVal($item, "media_url");
616
 
617
+ if($this->type == self::TYPE_VIDEO){
618
+
619
+ $url = $this->arrVideos[self::VIDEO_STANDART]["url"] = $urlImage;
620
+
621
+ $urlImage = UniteFunctionsUC::getVal($item, "thumbnail_url");
622
+ }
623
+
624
  $this->arrImages[self::IMAGE_LOW]["url"] = $urlImage;
625
  $this->arrImages[self::IMAGE_STANDARD]["url"] = $urlImage;
626
 
627
  $this->captionText = UniteFunctionsUC::getVal($item, "caption");
628
 
629
  $this->id = UniteFunctionsUC::getVal($item, "id");
630
+
 
 
 
 
 
 
631
 
632
  $this->link = UniteFunctionsUC::getVal($item, "permalink");
633
 
inc_php/layouts/unitecreator_layouts.class.php CHANGED
@@ -309,7 +309,6 @@ class UniteCreatorLayoutsWork extends UniteElementsBaseUC{
309
 
310
  $arrLayouts = $this->getArrLayouts(null, array(), $layoutType);
311
 
312
-
313
  $generated = UniteFunctionsUC::getRandomString(5);
314
  $prefix = "layout_".$generated."_";
315
 
@@ -339,7 +338,7 @@ class UniteCreatorLayoutsWork extends UniteElementsBaseUC{
339
  }
340
 
341
 
342
- private function a_OTHER_GETTERS(){}
343
 
344
 
345
  /**
309
 
310
  $arrLayouts = $this->getArrLayouts(null, array(), $layoutType);
311
 
 
312
  $generated = UniteFunctionsUC::getRandomString(5);
313
  $prefix = "layout_".$generated."_";
314
 
338
  }
339
 
340
 
341
+ private function a_______OTHER_GETTERS_________(){}
342
 
343
 
344
  /**
inc_php/unitecreator_client_text.php CHANGED
@@ -103,6 +103,9 @@ GlobalsUC::$arrClientSideText = array(
103
  "uc_datetime"=>esc_html__("Date Time","unlimited-elements-for-elementor"),
104
  "uc_textshadow"=>esc_html__("Text Shadow","unlimited-elements-for-elementor"),
105
  "uc_boxshadow"=>esc_html__("Box Shadow","unlimited-elements-for-elementor"),
 
 
 
106
 
107
  "choose_image"=>esc_html__("Choose Image","unlimited-elements-for-elementor"),
108
  "choose_audio"=>esc_html__("Choose Audio","unlimited-elements-for-elementor"),
103
  "uc_datetime"=>esc_html__("Date Time","unlimited-elements-for-elementor"),
104
  "uc_textshadow"=>esc_html__("Text Shadow","unlimited-elements-for-elementor"),
105
  "uc_boxshadow"=>esc_html__("Box Shadow","unlimited-elements-for-elementor"),
106
+ "uc_border_dimentions"=>esc_html__("Border Dimensions","unlimited-elements-for-elementor"),
107
+ "uc_css_filters"=>esc_html__("Css Filters","unlimited-elements-for-elementor"),
108
+ "uc_hover_animations"=>esc_html__("Hover Animations","unlimited-elements-for-elementor"),
109
 
110
  "choose_image"=>esc_html__("Choose Image","unlimited-elements-for-elementor"),
111
  "choose_audio"=>esc_html__("Choose Audio","unlimited-elements-for-elementor"),
inc_php/unitecreator_dialog_param.class.php CHANGED
@@ -58,6 +58,9 @@ class UniteCreatorDialogParamWork{
58
  const PARAM_TEXTSHADOW = "uc_textshadow";
59
  const PARAM_BOXSHADOW = "uc_boxshadow";
60
 
 
 
 
61
 
62
  const PARAM_VAR_GET = "uc_var_get";
63
 
@@ -75,6 +78,7 @@ class UniteCreatorDialogParamWork{
75
  protected $option_arrTexts = array();
76
  protected $option_putDecsription = true;
77
  protected $option_allowFontEditCheckbox = true;
 
78
 
79
 
80
  /**
@@ -204,6 +208,10 @@ class UniteCreatorDialogParamWork{
204
  $this->addParam(self::PARAM_SLIDER, esc_html__("Slider", "unlimited-elements-for-elementor"));
205
  $this->addParam(self::PARAM_DATETIME, esc_html__("Date Time", "unlimited-elements-for-elementor"));
206
 
 
 
 
 
207
  }
208
 
209
 
@@ -752,6 +760,7 @@ class UniteCreatorDialogParamWork{
752
  $objOutput->draw("postpicker_param_settings", false);
753
 
754
  $this->putCheckbox("use_custom_fields", __("Use Custom Fields", "unlimited-elements-for-elementor"));
 
755
  ?>
756
  <div class="vert_sap10"></div>
757
  <?php
@@ -763,6 +772,15 @@ class UniteCreatorDialogParamWork{
763
  <hr>
764
 
765
  <div class="vert_sap10"></div>
 
 
 
 
 
 
 
 
 
766
  <?php
767
  $this->putCheckbox("for_woocommerce_products", __("For WooCommerce Products", "unlimited-elements-for-elementor"));
768
  ?>
@@ -834,6 +852,23 @@ class UniteCreatorDialogParamWork{
834
  exit();
835
  }
836
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
837
 
838
  private function a___________DROPDOWN_PARAM________(){}
839
 
@@ -1070,7 +1105,7 @@ class UniteCreatorDialogParamWork{
1070
  $class = "uc-tab uc-tab-selected";
1071
  $selectHtml .= " selected='selected' ";
1072
  }
1073
-
1074
  if($this->type == self::TYPE_MAIN && isset($this->arrParamsItems[$paramType]) == false)
1075
  $selectHtml .= " class='uc-hide-when-item'";
1076
 
@@ -1198,6 +1233,9 @@ class UniteCreatorDialogParamWork{
1198
  case self::PARAM_PADDING:
1199
  $this->putDimentionsParam("padding");
1200
  break;
 
 
 
1201
  case self::PARAM_SLIDER:
1202
  $this->putSliderParam();
1203
  break;
@@ -1216,6 +1254,12 @@ class UniteCreatorDialogParamWork{
1216
  case self::PARAM_BOXSHADOW:
1217
  $this->putBoxShadowParam();
1218
  break;
 
 
 
 
 
 
1219
  case self::PARAM_VAR_GET:
1220
  $this->putGetParamFields();
1221
  break;
@@ -1299,6 +1343,53 @@ class UniteCreatorDialogParamWork{
1299
  <?php
1300
 
1301
  }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1302
 
1303
 
1304
  /**
@@ -1348,7 +1439,6 @@ class UniteCreatorDialogParamWork{
1348
 
1349
  <?php endif?>
1350
 
1351
-
1352
  <div class="unite-inputs-label">
1353
  <?php esc_html_e("Name", "unlimited-elements-for-elementor")?>:
1354
  </div>
@@ -1365,6 +1455,12 @@ class UniteCreatorDialogParamWork{
1365
 
1366
  <?php endif?>
1367
 
 
 
 
 
 
 
1368
  <?php if($this->option_putAdminLabel == true):?>
1369
  <div class='uc-dialog-param-admin-label-wrapper'>
1370
  <div class="unite-inputs-sap"></div>
@@ -1606,9 +1702,13 @@ class UniteCreatorDialogParamWork{
1606
 
1607
  $this->objSettings = new UniteCreatorSettings();
1608
  $this->objDatasets = new UniteCreatorDataset();
1609
-
1610
  switch($this->type){
1611
  case self::TYPE_MAIN:
 
 
 
 
1612
  $this->initMainParams();
1613
  $this->initItemParams();
1614
  break;
58
  const PARAM_TEXTSHADOW = "uc_textshadow";
59
  const PARAM_BOXSHADOW = "uc_boxshadow";
60
 
61
+ const PARAM_BORDER_DIMENTIONS = "uc_border_dimentions";
62
+ const PARAM_CSS_FILTERS = "uc_css_filters";
63
+ const PARAM_HOVER_ANIMATIONS = "uc_hover_animations";
64
 
65
  const PARAM_VAR_GET = "uc_var_get";
66
 
78
  protected $option_arrTexts = array();
79
  protected $option_putDecsription = true;
80
  protected $option_allowFontEditCheckbox = true;
81
+ protected $option_putCondition = false;
82
 
83
 
84
  /**
208
  $this->addParam(self::PARAM_SLIDER, esc_html__("Slider", "unlimited-elements-for-elementor"));
209
  $this->addParam(self::PARAM_DATETIME, esc_html__("Date Time", "unlimited-elements-for-elementor"));
210
 
211
+ $this->addParam(self::PARAM_BORDER_DIMENTIONS, esc_html__("Border Dimensions", "unlimited-elements-for-elementor"));
212
+ $this->addParam(self::PARAM_CSS_FILTERS, esc_html__("Css Filters", "unlimited-elements-for-elementor"));
213
+ $this->addParam(self::PARAM_HOVER_ANIMATIONS, esc_html__("Hover Animations", "unlimited-elements-for-elementor"));
214
+
215
  }
216
 
217
 
760
  $objOutput->draw("postpicker_param_settings", false);
761
 
762
  $this->putCheckbox("use_custom_fields", __("Use Custom Fields", "unlimited-elements-for-elementor"));
763
+
764
  ?>
765
  <div class="vert_sap10"></div>
766
  <?php
772
  <hr>
773
 
774
  <div class="vert_sap10"></div>
775
+
776
+ <label class="unite-inputs-label">
777
+ <?php _e("Default Max Posts", "unlimited-elements-for-elementor")?>:
778
+ </label>
779
+
780
+ <input type="text" name="default_max_posts" value="" class="unite-input-number" placeholder="10">
781
+
782
+ <div class="vert_sap10"></div>
783
+
784
  <?php
785
  $this->putCheckbox("for_woocommerce_products", __("For WooCommerce Products", "unlimited-elements-for-elementor"));
786
  ?>
852
  exit();
853
  }
854
 
855
+
856
+ /**
857
+ * function for override
858
+ */
859
+ protected function putCssFiltersParam(){
860
+ dmp("putCssFiltersParam: function for override");
861
+ exit();
862
+ }
863
+
864
+ /**
865
+ * function for override
866
+ */
867
+ protected function putHoverAnimations(){
868
+ dmp("putHoverAnimations: function for override");
869
+ exit();
870
+ }
871
+
872
 
873
  private function a___________DROPDOWN_PARAM________(){}
874
 
1105
  $class = "uc-tab uc-tab-selected";
1106
  $selectHtml .= " selected='selected' ";
1107
  }
1108
+
1109
  if($this->type == self::TYPE_MAIN && isset($this->arrParamsItems[$paramType]) == false)
1110
  $selectHtml .= " class='uc-hide-when-item'";
1111
 
1233
  case self::PARAM_PADDING:
1234
  $this->putDimentionsParam("padding");
1235
  break;
1236
+ case self::PARAM_BORDER_DIMENTIONS:
1237
+ $this->putDimentionsParam("border");
1238
+ break;
1239
  case self::PARAM_SLIDER:
1240
  $this->putSliderParam();
1241
  break;
1254
  case self::PARAM_BOXSHADOW:
1255
  $this->putBoxShadowParam();
1256
  break;
1257
+ case self::PARAM_CSS_FILTERS:
1258
+ $this->putCssFiltersParam();
1259
+ break;
1260
+ case self::PARAM_HOVER_ANIMATIONS:
1261
+ $this->putHoverAnimations();
1262
+ break;
1263
  case self::PARAM_VAR_GET:
1264
  $this->putGetParamFields();
1265
  break;
1343
  <?php
1344
 
1345
  }
1346
+
1347
+ /**
1348
+ * put condition
1349
+ */
1350
+ private function putHtmlConditionLeft(){
1351
+
1352
+ $checkboxID = "uc_dialog_left_condition_".$this->type;
1353
+ $tableID = "uc_dialog_left_condition_table".$this->type;
1354
+
1355
+ ?>
1356
+ <div class="unite-inputs-sap"></div>
1357
+
1358
+ <label for="<?php echo $checkboxID?>" class="unite-inputs-label-inline-free">
1359
+ <?php esc_html_e("Enable Condition", "unlimited-elements-for-elementor")?>:
1360
+ </label>
1361
+ <input id="<?php echo $checkboxID?>" type="checkbox" name="enable_condition" class="uc-control" data-controlled-selector=".uc-table-dialog-conditions">
1362
+
1363
+ <div class="unite-inputs-sap"></div>
1364
+
1365
+ <label class="unite-inputs-label">
1366
+ <?php _e("Show When", "unlimited-elements-for-elementor")?>:
1367
+ </label>
1368
+
1369
+ <table class="uc-table-dialog-conditions" style="display:none">
1370
+ <tr>
1371
+ <td>
1372
+ <select class="uc-dialog-condition-attribute" name="condition_attribute">
1373
+ <option>default</option>
1374
+ </select>
1375
+
1376
+ </td>
1377
+ <td>
1378
+ <select class="uc-dialog-condition-operator" name="condition_operator">
1379
+ <option value="equal"><?php _e("Equal","unlimited-elements-for-elementor")?></option>
1380
+ <option value="not_equal"><?php _e("Not Equal","unlimited-elements-for-elementor")?></option>
1381
+ </select>
1382
+ </td>
1383
+ <td>
1384
+ <select class="uc-dialog-condition-value" name="condition_value">
1385
+ <option>default</option>
1386
+ </select>
1387
+ </td>
1388
+ </tr>
1389
+ </table>
1390
+
1391
+ <?php
1392
+ }
1393
 
1394
 
1395
  /**
1439
 
1440
  <?php endif?>
1441
 
 
1442
  <div class="unite-inputs-label">
1443
  <?php esc_html_e("Name", "unlimited-elements-for-elementor")?>:
1444
  </div>
1455
 
1456
  <?php endif?>
1457
 
1458
+ <?php if($this->option_putCondition == true):
1459
+ $this->putHtmlConditionLeft();
1460
+ ?>
1461
+
1462
+ <?php endif?>
1463
+
1464
  <?php if($this->option_putAdminLabel == true):?>
1465
  <div class='uc-dialog-param-admin-label-wrapper'>
1466
  <div class="unite-inputs-sap"></div>
1702
 
1703
  $this->objSettings = new UniteCreatorSettings();
1704
  $this->objDatasets = new UniteCreatorDataset();
1705
+
1706
  switch($this->type){
1707
  case self::TYPE_MAIN:
1708
+
1709
+ if(GlobalsUC::$inDev == true)
1710
+ $this->option_putCondition = true;
1711
+
1712
  $this->initMainParams();
1713
  $this->initItemParams();
1714
  break;
inc_php/unitecreator_filters_process.class.php CHANGED
@@ -11,6 +11,16 @@ class UniteCreatorFiltersProcess{
11
 
12
  private static $filters = null;
13
 
 
 
 
 
 
 
 
 
 
 
14
  /**
15
  * get request array
16
  */
@@ -76,9 +86,9 @@ class UniteCreatorFiltersProcess{
76
  * get fitler url from the given slugs
77
  */
78
  private function getUrlFilter_term($term, $taxonomyName){
79
-
80
  $key = "filter-term";
81
-
82
  $taxPrefix = $taxonomyName."--";
83
 
84
  if($taxonomyName == "category"){
@@ -91,11 +101,9 @@ class UniteCreatorFiltersProcess{
91
  $value = $taxPrefix.$slug;
92
 
93
  $urlAddition = "{$key}=".urlencode($value);
94
-
95
  $urlCurrent = GlobalsUC::$current_page_url;
96
-
97
- $urlCurrent = UniteFunctionsUC::removePathEndingSlash($urlCurrent);
98
-
99
  $url = UniteFunctionsUC::addUrlParams($urlCurrent, $urlAddition);
100
 
101
  return($url);
@@ -128,6 +136,107 @@ class UniteCreatorFiltersProcess{
128
  return(false);
129
  }
130
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
131
  /**
132
  * put filters by tabs
133
  */
@@ -138,7 +247,9 @@ class UniteCreatorFiltersProcess{
138
  $taxonomy = "category";
139
 
140
  $terms = get_terms($taxonomy);
141
-
 
 
142
  ?>
143
 
144
  <style>
@@ -179,24 +290,39 @@ class UniteCreatorFiltersProcess{
179
 
180
  $urlFilter = $this->getUrlFilter_term($term, $taxonomy);
181
 
 
 
 
 
 
182
  if($isTermActive == true)
183
  $classActive = " active";
184
 
185
  $isFirst = false;
186
  ?>
187
  <li class="<?php echo $classActive?>">
188
- <a href="<?php echo $urlFilter?>"><?php echo $name?></a>
189
  </li>
190
-
191
 
192
  <?php endforeach?>
193
  </ul>
194
 
195
-
196
  <?php
 
 
 
197
 
198
  }
199
 
200
-
 
 
 
 
 
 
 
 
 
201
 
202
  }
11
 
12
  private static $filters = null;
13
 
14
+ /**
15
+ * put current widget data
16
+ */
17
+ public function putCurrentWidgetData(){
18
+
19
+ //UniteFunctionsUC::showTrace();
20
+ //dmp("put widget data");
21
+
22
+ }
23
+
24
  /**
25
  * get request array
26
  */
86
  * get fitler url from the given slugs
87
  */
88
  private function getUrlFilter_term($term, $taxonomyName){
89
+
90
  $key = "filter-term";
91
+
92
  $taxPrefix = $taxonomyName."--";
93
 
94
  if($taxonomyName == "category"){
101
  $value = $taxPrefix.$slug;
102
 
103
  $urlAddition = "{$key}=".urlencode($value);
104
+
105
  $urlCurrent = GlobalsUC::$current_page_url;
106
+
 
 
107
  $url = UniteFunctionsUC::addUrlParams($urlCurrent, $urlAddition);
108
 
109
  return($url);
136
  return(false);
137
  }
138
 
139
+ /**
140
+ * put ajax scripts
141
+ */
142
+ private function putScriptsAjax(){
143
+
144
+ ?>
145
+
146
+ <script>
147
+
148
+ /**
149
+ * parse response html - get the body
150
+ */
151
+ function parseResponseHtml(html){
152
+
153
+ var objParsed = jQuery.parseHTML(html);
154
+
155
+ var objBody = [];
156
+
157
+ jQuery.each(objParsed, function(index){
158
+
159
+ var item = objParsed[index];
160
+ var type = typeof item;
161
+
162
+ var tagName = item.tagName;
163
+ if(!tagName)
164
+ return(true);
165
+
166
+ tagName = tagName.toLowerCase();
167
+
168
+ switch(tagName){
169
+ case "header":
170
+ case "main":
171
+ case "footer":
172
+ break;
173
+ default:
174
+ return(true);
175
+ break;
176
+ }
177
+
178
+ objBody.push(jQuery(item));
179
+ });
180
+
181
+ return(objBody);
182
+ }
183
+
184
+ /**
185
+ * operate html response from ajax
186
+ */
187
+ function operateHTMLResponse(html){
188
+
189
+ var objBody = parseResponseHtml(html);
190
+
191
+ var objPostList = jQuery(".uc_post_list");
192
+
193
+ var objNewPostList = objBody[1].find(".uc_post_list");
194
+
195
+ objPostList.html(objNewPostList.html());
196
+
197
+ //var objBody = objDom.find("body");
198
+ //trace(objDom);
199
+ //trace(objBody);
200
+
201
+ }
202
+
203
+ /**
204
+ * on ajax filter click
205
+ */
206
+ function onFilterAjaxClick(event){
207
+
208
+ event.preventDefault();
209
+
210
+ var objFilter = jQuery(this);
211
+
212
+ var link = objFilter.prop("href");
213
+
214
+ var ajaxSettings = {
215
+ dataType:"html",
216
+ complete:function(response){
217
+ var responseText = response.responseText;
218
+ if(responseText)
219
+ operateHTMLResponse(responseText);
220
+ }
221
+ };
222
+
223
+ jQuery.ajax(link, ajaxSettings);
224
+
225
+ }
226
+
227
+ jQuery(document).ready(function(){
228
+
229
+ var objFilters = jQuery(".uc-filters .uc-filter-ajax");
230
+
231
+ objFilters.click(onFilterAjaxClick);
232
+
233
+ });
234
+
235
+ </script>
236
+
237
+ <?php
238
+ }
239
+
240
  /**
241
  * put filters by tabs
242
  */
247
  $taxonomy = "category";
248
 
249
  $terms = get_terms($taxonomy);
250
+
251
+ $isAjax = true;
252
+
253
  ?>
254
 
255
  <style>
290
 
291
  $urlFilter = $this->getUrlFilter_term($term, $taxonomy);
292
 
293
+ $htmlAttribAddition = "";
294
+ if($isAjax == true){
295
+ $htmlAttribAddition = 'class="uc-filter-ajax"';
296
+ }
297
+
298
  if($isTermActive == true)
299
  $classActive = " active";
300
 
301
  $isFirst = false;
302
  ?>
303
  <li class="<?php echo $classActive?>">
304
+ <a href="<?php echo $urlFilter?>" <?php echo $htmlAttribAddition?>><?php echo $name?></a>
305
  </li>
 
306
 
307
  <?php endforeach?>
308
  </ul>
309
 
 
310
  <?php
311
+
312
+ if($isAjax == true)
313
+ $this->putScriptsAjax();
314
 
315
  }
316
 
317
+ /**
318
+ * init elementor ajax
319
+ */
320
+ public function initElementorAjaxActions(){
321
+
322
+
323
+ dmp("init ajax");
324
+ exit();
325
+
326
+ }
327
 
328
  }
inc_php/unitecreator_output.class.php CHANGED
@@ -931,6 +931,9 @@ class UniteCreatorOutputWork extends HtmlOutputBaseUC{
931
  case UniteCreatorDialogParam::PARAM_MARGINS:
932
  $style = $this->processParamCSSSelector_dimentions($param, $selector, "margin");
933
  break;
 
 
 
934
  case UniteCreatorDialogParam::PARAM_BACKGROUND:
935
  $style = $this->processParamCSSSelector_background($param, $selector);
936
  break;
931
  case UniteCreatorDialogParam::PARAM_MARGINS:
932
  $style = $this->processParamCSSSelector_dimentions($param, $selector, "margin");
933
  break;
934
+ case UniteCreatorDialogParam::PARAM_BORDER_DIMENTIONS:
935
+ $style = $this->processParamCSSSelector_dimentions($param, $selector, "border-width");
936
+ break;
937
  case UniteCreatorDialogParam::PARAM_BACKGROUND:
938
  $style = $this->processParamCSSSelector_background($param, $selector);
939
  break;
inc_php/unitecreator_settings.class.php CHANGED
@@ -691,6 +691,7 @@ class UniteCreatorSettingsWork extends UniteSettingsAdvancedUC{
691
  case UniteCreatorDialogParam::PARAM_POSTS_LIST:
692
 
693
  $extra["for_woocommerce_products"] = UniteFunctionsUC::getVal($param, "for_woocommerce_products");
 
694
 
695
  $this->addPostsListPicker($name,$value,$title,$extra);
696
  break;
@@ -724,6 +725,7 @@ class UniteCreatorSettingsWork extends UniteSettingsAdvancedUC{
724
  break;
725
  case UniteCreatorDialogParam::PARAM_PADDING:
726
  case UniteCreatorDialogParam::PARAM_MARGINS:
 
727
 
728
  $prefix = "desktop_";
729
 
@@ -800,6 +802,16 @@ class UniteCreatorSettingsWork extends UniteSettingsAdvancedUC{
800
 
801
  $this->addVisibleInElementorOnlySetting("Box Shadow");
802
 
 
 
 
 
 
 
 
 
 
 
803
  break;
804
  case UniteCreatorDialogParam::PARAM_DATETIME:
805
 
691
  case UniteCreatorDialogParam::PARAM_POSTS_LIST:
692
 
693
  $extra["for_woocommerce_products"] = UniteFunctionsUC::getVal($param, "for_woocommerce_products");
694
+ $extra["default_max_posts"] = UniteFunctionsUC::getVal($param, "default_max_posts");
695
 
696
  $this->addPostsListPicker($name,$value,$title,$extra);
697
  break;
725
  break;
726
  case UniteCreatorDialogParam::PARAM_PADDING:
727
  case UniteCreatorDialogParam::PARAM_MARGINS:
728
+ case UniteCreatorDialogParam::PARAM_BORDER_DIMENTIONS:
729
 
730
  $prefix = "desktop_";
731
 
802
 
803
  $this->addVisibleInElementorOnlySetting("Box Shadow");
804
 
805
+ break;
806
+ case UniteCreatorDialogParam::PARAM_CSS_FILTERS:
807
+
808
+ $this->addVisibleInElementorOnlySetting("Css Filters");
809
+
810
+ break;
811
+ case UniteCreatorDialogParam::PARAM_HOVER_ANIMATIONS:
812
+
813
+ $this->addVisibleInElementorOnlySetting("Hover Animations");
814
+
815
  break;
816
  case UniteCreatorDialogParam::PARAM_DATETIME:
817
 
inc_php/unitecreator_template_engine.class.php CHANGED
@@ -35,7 +35,7 @@ class UniteCreatorTemplateEngineWork{
35
  * output some item
36
  */
37
  private function outputItem($index, $itemParams, $templateName, $sap, $newLine = true){
38
-
39
  $params = array_merge($this->arrParams, $itemParams);
40
 
41
  $htmlItem = $this->twig->render($templateName, $params);
@@ -689,20 +689,28 @@ class UniteCreatorTemplateEngineWork{
689
  exit();
690
  }
691
 
692
-
693
  dmp($arrPost);
694
- exit();
695
 
696
  }
697
 
698
  /**
699
  * put test html
700
  */
701
- public function putTestHTML(){
702
 
703
  $objFilters = new UniteCreatorFiltersProcess();
704
 
705
- $objFilters->putFiltersTabs();
 
 
 
 
 
 
 
 
706
  }
707
 
708
 
35
  * output some item
36
  */
37
  private function outputItem($index, $itemParams, $templateName, $sap, $newLine = true){
38
+
39
  $params = array_merge($this->arrParams, $itemParams);
40
 
41
  $htmlItem = $this->twig->render($templateName, $params);
689
  exit();
690
  }
691
 
692
+ dmp("image placeholders");
693
  dmp($arrPost);
694
+ //exit();
695
 
696
  }
697
 
698
  /**
699
  * put test html
700
  */
701
+ public function putTestHTML($type = null){
702
 
703
  $objFilters = new UniteCreatorFiltersProcess();
704
 
705
+ switch($type){
706
+ case "widget_data":
707
+ $objFilters->putCurrentWidgetData();
708
+ break;
709
+ default:
710
+ $objFilters->putFiltersTabs();
711
+ break;
712
+ }
713
+
714
  }
715
 
716
 
includes.php CHANGED
@@ -12,7 +12,7 @@ if(!defined('UNLIMITED_ELEMENTS_INC'))
12
  defined('UNLIMITED_ELEMENTS_INC') or die('Restricted access');
13
 
14
  if(!defined("UNLIMITED_ELEMENTS_VERSION"))
15
- define("UNLIMITED_ELEMENTS_VERSION", "1.4.67");
16
 
17
  $currentFile = __FILE__;
18
  $currentFolder = dirname($currentFile);
12
  defined('UNLIMITED_ELEMENTS_INC') or die('Restricted access');
13
 
14
  if(!defined("UNLIMITED_ELEMENTS_VERSION"))
15
+ define("UNLIMITED_ELEMENTS_VERSION", "1.4.68");
16
 
17
  $currentFile = __FILE__;
18
  $currentFolder = dirname($currentFile);
js/unitecreator_params_dialog.js CHANGED
@@ -5,7 +5,7 @@ function UniteCreatorParamsDialog(){
5
  var t = this;
6
  var g_objWrapper, g_objSelectType, g_objTabContentWrapper, g_objLeftArea, g_objRightArea;
7
  var g_objError, g_objParamTitle, g_objParamName;
8
- var g_objTexts, g_objParent, g_objData, g_objSettings;
9
 
10
  var g_arrSpecialInputs = {}; //array of special inputs
11
 
@@ -404,7 +404,7 @@ function UniteCreatorParamsDialog(){
404
  * paramType - main / items
405
  */
406
  this.open = function(objData, rowIndex, onActionFunc, dialogType){
407
-
408
  var isEdit = false;
409
  if(objData)
410
  isEdit = true;
@@ -413,6 +413,8 @@ function UniteCreatorParamsDialog(){
413
  var dialogTitle = g_objTexts.add_title;
414
  var paramType = null;
415
 
 
 
416
  if(isEdit == true){
417
  actionTitle = g_objTexts.update_button;
418
 
@@ -1304,7 +1306,7 @@ function UniteCreatorParamsDialog(){
1304
 
1305
  var arrParams = g_objParent.getControlParams("main");
1306
  var arrParamsItems = g_objParent.getControlParams("item");
1307
-
1308
  objSelectParams.each(function(index, select){
1309
  var objSelect = jQuery(select);
1310
  objSelect.html("");
@@ -1339,7 +1341,37 @@ function UniteCreatorParamsDialog(){
1339
 
1340
  }
1341
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1342
 
 
 
 
 
 
 
 
 
 
 
 
 
1343
 
1344
  function ____________EVENTS____________(){};
1345
 
@@ -1645,13 +1677,15 @@ function UniteCreatorParamsDialog(){
1645
  function initControls(){
1646
 
1647
  var objControls = g_objWrapper.find(".uc-control");
1648
-
1649
  objControls.change(function(){
1650
 
1651
  var objInput = jQuery(this);
1652
  var type = getInputType(objInput);
1653
 
1654
  var objContent = objInput.parents(".uc-tab-content");
 
 
1655
 
1656
  switch(type){
1657
  case "checkbox":
@@ -1778,6 +1812,8 @@ function UniteCreatorParamsDialog(){
1778
 
1779
  initRightContentSettings();
1780
 
 
 
1781
  //for all the special params that run on init
1782
  triggerEvent(events.INIT);
1783
 
@@ -1807,7 +1843,7 @@ function UniteCreatorParamsDialog(){
1807
  * init the params dialog
1808
  */
1809
  this.init = function(objWrapper, objParent){
1810
-
1811
  g_objWrapper = objWrapper;
1812
 
1813
  if(objParent)
5
  var t = this;
6
  var g_objWrapper, g_objSelectType, g_objTabContentWrapper, g_objLeftArea, g_objRightArea;
7
  var g_objError, g_objParamTitle, g_objParamName;
8
+ var g_objTexts, g_objParent, g_objData, g_objSettings, g_currentOpenedType;
9
 
10
  var g_arrSpecialInputs = {}; //array of special inputs
11
 
404
  * paramType - main / items
405
  */
406
  this.open = function(objData, rowIndex, onActionFunc, dialogType){
407
+
408
  var isEdit = false;
409
  if(objData)
410
  isEdit = true;
413
  var dialogTitle = g_objTexts.add_title;
414
  var paramType = null;
415
 
416
+ g_currentOpenedType = dialogType;
417
+
418
  if(isEdit == true){
419
  actionTitle = g_objTexts.update_button;
420
 
1306
 
1307
  var arrParams = g_objParent.getControlParams("main");
1308
  var arrParamsItems = g_objParent.getControlParams("item");
1309
+
1310
  objSelectParams.each(function(index, select){
1311
  var objSelect = jQuery(select);
1312
  objSelect.html("");
1341
 
1342
  }
1343
 
1344
+ function ____________CONDITIONS____________(){};
1345
+
1346
+ /**
1347
+ * fill conditions select
1348
+ */
1349
+ function fillConditionSelects(){
1350
+
1351
+ var objSelects = g_objWrapper.find(".uc-dialog-condition-attribute");
1352
+
1353
+ if(objSelects.length == 0)
1354
+ return(false);
1355
+
1356
+ var arrParams = g_objParent.getControlParams(g_currentOpenedType);
1357
+
1358
+ trace("get current field name");
1359
+
1360
+ }
1361
+
1362
 
1363
+ /**
1364
+ * init the dialog conditions
1365
+ */
1366
+ function initConditions(){
1367
+
1368
+ var objTableConditions = g_objWrapper.find(".uc-table-dialog-conditions");
1369
+
1370
+ if(objTableConditions.length == 0)
1371
+ return(false);
1372
+
1373
+ onEvent(events.OPEN, fillConditionSelects);
1374
+ }
1375
 
1376
  function ____________EVENTS____________(){};
1377
 
1677
  function initControls(){
1678
 
1679
  var objControls = g_objWrapper.find(".uc-control");
1680
+
1681
  objControls.change(function(){
1682
 
1683
  var objInput = jQuery(this);
1684
  var type = getInputType(objInput);
1685
 
1686
  var objContent = objInput.parents(".uc-tab-content");
1687
+ if(objContent.length == 0)
1688
+ objContent = g_objWrapper;
1689
 
1690
  switch(type){
1691
  case "checkbox":
1812
 
1813
  initRightContentSettings();
1814
 
1815
+ initConditions();
1816
+
1817
  //for all the special params that run on init
1818
  triggerEvent(events.INIT);
1819
 
1843
  * init the params dialog
1844
  */
1845
  this.init = function(objWrapper, objParent){
1846
+
1847
  g_objWrapper = objWrapper;
1848
 
1849
  if(objParent)
provider/core/plugins/unlimited_elements/dialog_param_elementor.class.php CHANGED
@@ -782,7 +782,7 @@ class UniteCreatorDialogParamElementor extends UniteCreatorDialogParam{
782
  }
783
 
784
  /**
785
- * function for override
786
  */
787
  protected function putBoxShadowParam(){
788
 
@@ -790,6 +790,38 @@ class UniteCreatorDialogParamElementor extends UniteCreatorDialogParam{
790
 
791
  }
792
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
793
  /**
794
  * put color picker default value
795
  */
@@ -922,6 +954,9 @@ class UniteCreatorDialogParamElementor extends UniteCreatorDialogParam{
922
  $title = __("Margins","unlimited-elements-for-elementor");
923
  if($type == "padding")
924
  $title = "Padding";
 
 
 
925
 
926
  $extra = array();
927
  $extra["output_names"] = true;
782
  }
783
 
784
  /**
785
+ * put box shadow param
786
  */
787
  protected function putBoxShadowParam(){
788
 
790
 
791
  }
792
 
793
+
794
+ /**
795
+ * put css filter param
796
+ */
797
+ protected function putCssFiltersParam(){
798
+
799
+ $this->addHtmlSelector();
800
+
801
+ }
802
+
803
+
804
+ /**
805
+ * put hover animations param
806
+ */
807
+ protected function putHoverAnimations(){
808
+
809
+ esc_html_e("Default Value", "unlimited-elements-for-elementor");
810
+
811
+ ?>
812
+ <div class="vert_sap5"></div>
813
+ <input type="text" name="default_value">
814
+
815
+ <div class="vert_sap10"></div>
816
+
817
+ <p>
818
+ <?php _e("Add the value of this attribute to the class list of your html element","unlimited-elements-for-elementor")?>
819
+ </p>
820
+ <?php
821
+
822
+ }
823
+
824
+
825
  /**
826
  * put color picker default value
827
  */
954
  $title = __("Margins","unlimited-elements-for-elementor");
955
  if($type == "padding")
956
  $title = "Padding";
957
+
958
+ if($type == "border")
959
+ $title = "Border Width";
960
 
961
  $extra = array();
962
  $extra["output_names"] = true;
provider/core/plugins/unlimited_elements/elementor/assets/uc_editor_admin.css CHANGED
@@ -15,9 +15,6 @@
15
  min-width:135px !important;
16
  }
17
 
18
- .select2-search__field{
19
- min-width:150px !important;
20
- }
21
 
22
  /* --- tooltip --- */
23
 
15
  min-width:135px !important;
16
  }
17
 
 
 
 
18
 
19
  /* --- tooltip --- */
20
 
provider/core/plugins/unlimited_elements/elementor/elementor_widget.class.php CHANGED
@@ -10,6 +10,7 @@ use Elementor\Group_Control_Border;
10
  use Elementor\Group_Control_Background;
11
  use Elementor\Group_Control_Text_Shadow;
12
  use Elementor\Group_Control_Box_Shadow;
 
13
  use Elementor\Scheme_Typography;
14
  use Elementor\Core\Schemes;
15
  use Elementor\Repeater;
@@ -731,6 +732,7 @@ class UniteCreatorElementorWidget extends Widget_Base {
731
  break;
732
  case UniteCreatorDialogParam::PARAM_MARGINS:
733
  case UniteCreatorDialogParam::PARAM_PADDING:
 
734
  $controlType = Controls_Manager::DIMENSIONS;
735
  break;
736
  case UniteCreatorDialogParam::PARAM_BACKGROUND:
@@ -751,6 +753,12 @@ class UniteCreatorElementorWidget extends Widget_Base {
751
  case UniteCreatorDialogParam::PARAM_BOXSHADOW:
752
  $controlType = Group_Control_Box_Shadow::get_type();
753
  break;
 
 
 
 
 
 
754
 
755
  default:
756
 
@@ -817,6 +825,7 @@ class UniteCreatorElementorWidget extends Widget_Base {
817
  break;
818
  case UniteCreatorDialogParam::PARAM_PADDING:
819
  case UniteCreatorDialogParam::PARAM_MARGINS:
 
820
 
821
  $arrControl["size_units"] = array("px","%");
822
 
@@ -865,8 +874,14 @@ class UniteCreatorElementorWidget extends Widget_Base {
865
  $selector = UniteFunctionsUC::getVal($param, "selector");
866
 
867
  $attribute = "margin";
868
- if($type == UniteCreatorDialogParam::PARAM_PADDING)
869
- $attribute = "padding";
 
 
 
 
 
 
870
 
871
  if(!empty($selector)){
872
  $selector = $this->addWrapperToSelector($selector);
@@ -922,7 +937,6 @@ class UniteCreatorElementorWidget extends Widget_Base {
922
  $arrWidthMobile["left"] = UniteFunctionsUC::getVal($param, "width_mobile_left");
923
  $arrWidthMobile["right"] = UniteFunctionsUC::getVal($param, "width_mobile_right");
924
 
925
-
926
  $arrDefaults["width"] = array(
927
  "label"=>$title." ".__("Width","unlimited-elements-for-elementor"),
928
  "desktop_default"=>$arrWidthDesktop,
@@ -1155,6 +1169,13 @@ class UniteCreatorElementorWidget extends Widget_Base {
1155
  $arrControl["fields_options"] = $arrDefaults;
1156
 
1157
  break;
 
 
 
 
 
 
 
1158
  case UniteCreatorDialogParam::PARAM_ICON_LIBRARY:
1159
 
1160
  $enableSVG = UniteFunctionsUC::getVal($param, "enable_svg");
@@ -1191,6 +1212,8 @@ class UniteCreatorElementorWidget extends Widget_Base {
1191
  case UniteCreatorDialogParam::PARAM_BOXSHADOW:
1192
  case UniteCreatorDialogParam::PARAM_BORDER:
1193
  case UniteCreatorDialogParam::PARAM_BACKGROUND:
 
 
1194
 
1195
  $selector = UniteFunctionsUC::getVal($param, "selector");
1196
  if(!empty($selector)){
@@ -1425,11 +1448,12 @@ class UniteCreatorElementorWidget extends Widget_Base {
1425
  case UniteCreatorDialogParam::PARAM_BORDER:
1426
  case UniteCreatorDialogParam::PARAM_TEXTSHADOW:
1427
  case UniteCreatorDialogParam::PARAM_BOXSHADOW:
 
1428
 
1429
  $groupType = $arrControl["type"];
1430
-
1431
  $values = $this->objControls->add_group_control($groupType, $arrControl);
1432
-
1433
  break;
1434
  default:
1435
 
@@ -1451,6 +1475,8 @@ class UniteCreatorElementorWidget extends Widget_Base {
1451
  break;
1452
  }
1453
 
 
 
1454
  }
1455
 
1456
  /**
10
  use Elementor\Group_Control_Background;
11
  use Elementor\Group_Control_Text_Shadow;
12
  use Elementor\Group_Control_Box_Shadow;
13
+ use Elementor\Group_Control_Css_Filter;
14
  use Elementor\Scheme_Typography;
15
  use Elementor\Core\Schemes;
16
  use Elementor\Repeater;
732
  break;
733
  case UniteCreatorDialogParam::PARAM_MARGINS:
734
  case UniteCreatorDialogParam::PARAM_PADDING:
735
+ case UniteCreatorDialogParam::PARAM_BORDER_DIMENTIONS:
736
  $controlType = Controls_Manager::DIMENSIONS;
737
  break;
738
  case UniteCreatorDialogParam::PARAM_BACKGROUND:
753
  case UniteCreatorDialogParam::PARAM_BOXSHADOW:
754
  $controlType = Group_Control_Box_Shadow::get_type();
755
  break;
756
+ case UniteCreatorDialogParam::PARAM_CSS_FILTERS:
757
+ $controlType = Group_Control_Css_Filter::get_type();
758
+ break;
759
+ case UniteCreatorDialogParam::PARAM_HOVER_ANIMATIONS:
760
+ $controlType = Controls_Manager::HOVER_ANIMATION;
761
+ break;
762
 
763
  default:
764
 
825
  break;
826
  case UniteCreatorDialogParam::PARAM_PADDING:
827
  case UniteCreatorDialogParam::PARAM_MARGINS:
828
+ case UniteCreatorDialogParam::PARAM_BORDER_DIMENTIONS:
829
 
830
  $arrControl["size_units"] = array("px","%");
831
 
874
  $selector = UniteFunctionsUC::getVal($param, "selector");
875
 
876
  $attribute = "margin";
877
+ switch($type){
878
+ case UniteCreatorDialogParam::PARAM_PADDING:
879
+ $attribute = "padding";
880
+ break;
881
+ case UniteCreatorDialogParam::PARAM_BORDER_DIMENTIONS:
882
+ $attribute = "border-width";
883
+ break;
884
+ }
885
 
886
  if(!empty($selector)){
887
  $selector = $this->addWrapperToSelector($selector);
937
  $arrWidthMobile["left"] = UniteFunctionsUC::getVal($param, "width_mobile_left");
938
  $arrWidthMobile["right"] = UniteFunctionsUC::getVal($param, "width_mobile_right");
939
 
 
940
  $arrDefaults["width"] = array(
941
  "label"=>$title." ".__("Width","unlimited-elements-for-elementor"),
942
  "desktop_default"=>$arrWidthDesktop,
1169
  $arrControl["fields_options"] = $arrDefaults;
1170
 
1171
  break;
1172
+ case UniteCreatorDialogParam::PARAM_CSS_FILTERS:
1173
+ $arrControl["name"] = $name;
1174
+ break;
1175
+ case UniteCreatorDialogParam::PARAM_HOVER_ANIMATIONS:
1176
+ $arrControl["name"] = $name;
1177
+ $arrControl["prefix_class"] = "elementor-animation-";
1178
+ break;
1179
  case UniteCreatorDialogParam::PARAM_ICON_LIBRARY:
1180
 
1181
  $enableSVG = UniteFunctionsUC::getVal($param, "enable_svg");
1212
  case UniteCreatorDialogParam::PARAM_BOXSHADOW:
1213
  case UniteCreatorDialogParam::PARAM_BORDER:
1214
  case UniteCreatorDialogParam::PARAM_BACKGROUND:
1215
+ case UniteCreatorDialogParam::PARAM_HOVER_ANIMATIONS:
1216
+ case UniteCreatorDialogParam::PARAM_CSS_FILTERS:
1217
 
1218
  $selector = UniteFunctionsUC::getVal($param, "selector");
1219
  if(!empty($selector)){
1448
  case UniteCreatorDialogParam::PARAM_BORDER:
1449
  case UniteCreatorDialogParam::PARAM_TEXTSHADOW:
1450
  case UniteCreatorDialogParam::PARAM_BOXSHADOW:
1451
+ case UniteCreatorDialogParam::PARAM_CSS_FILTERS:
1452
 
1453
  $groupType = $arrControl["type"];
1454
+
1455
  $values = $this->objControls->add_group_control($groupType, $arrControl);
1456
+
1457
  break;
1458
  default:
1459
 
1475
  break;
1476
  }
1477
 
1478
+
1479
+
1480
  }
1481
 
1482
  /**
provider/core/plugins/unlimited_elements/elementor/pagination.class.php CHANGED
@@ -300,8 +300,12 @@ class UniteCreatorElementorPagination{
300
  //$options["total"] = 10;
301
  //$options["current"] = 3;
302
 
303
- if($isArchivePage == true)
 
 
 
304
  $pagination = get_the_posts_pagination($options);
 
305
  else{
306
 
307
  $options = $this->getSinglePageOptions($options);
@@ -317,6 +321,22 @@ class UniteCreatorElementorPagination{
317
  return($html);
318
  }
319
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
320
 
321
  /**
322
  * get single page options
@@ -423,9 +443,12 @@ class UniteCreatorElementorPagination{
423
  //$options["current"] = 3;
424
 
425
  //-------- put pagination html
426
-
427
  $isArchivePage = is_archive();
428
  if($isArchivePage == true){
 
 
 
429
  $pagination = get_the_posts_pagination($options);
430
  }else{
431
 
300
  //$options["total"] = 10;
301
  //$options["current"] = 3;
302
 
303
+ if($isArchivePage == true){
304
+
305
+ $options = $this->getArchivePageOptions($options);
306
+
307
  $pagination = get_the_posts_pagination($options);
308
+ }
309
  else{
310
 
311
  $options = $this->getSinglePageOptions($options);
321
  return($html);
322
  }
323
 
324
+ /**
325
+ * get archive options
326
+ */
327
+ private function getArchivePageOptions($options){
328
+
329
+ //output demo pagination
330
+ $isEditMode = UniteCreatorElementorIntegrate::$isEditMode;
331
+ if($isEditMode == true){
332
+ $options["total"] = 5;
333
+ $options["current"] = 2;
334
+ return($options);
335
+ }
336
+
337
+ return($options);
338
+ }
339
+
340
 
341
  /**
342
  * get single page options
443
  //$options["current"] = 3;
444
 
445
  //-------- put pagination html
446
+
447
  $isArchivePage = is_archive();
448
  if($isArchivePage == true){
449
+
450
+ $options = $this->getArchivePageOptions($options);
451
+
452
  $pagination = get_the_posts_pagination($options);
453
  }else{
454
 
provider/core/plugins/unlimited_elements/helper_provider_core.class.php CHANGED
@@ -268,7 +268,7 @@ class HelperProviderCoreUC_EL{
268
 
269
  return(self::$arrWidgetNames);
270
  }
271
-
272
  /**
273
  * global init
274
  */
268
 
269
  return(self::$arrWidgetNames);
270
  }
271
+
272
  /**
273
  * global init
274
  */
provider/functions_wordpress.class.php CHANGED
@@ -1342,6 +1342,7 @@ defined('UNLIMITED_ELEMENTS_INC') or die('Restricted access');
1342
  add_filter( 'posts_where', array("UniteFunctionsWPUC", "getPosts_whereFilter"), 10, 2 );
1343
  }
1344
 
 
1345
  $arrPosts = get_posts($query);
1346
 
1347
  if(!empty($titleFilter))
1342
  add_filter( 'posts_where', array("UniteFunctionsWPUC", "getPosts_whereFilter"), 10, 2 );
1343
  }
1344
 
1345
+
1346
  $arrPosts = get_posts($query);
1347
 
1348
  if(!empty($titleFilter))
provider/provider_dialog_param.class.php CHANGED
@@ -52,6 +52,9 @@ class UniteCreatorDialogParam extends UniteCreatorDialogParamWork{
52
  $this->arrParams[] = self::PARAM_BOXSHADOW;
53
  $this->arrParams[] = self::PARAM_TEXTSHADOW;
54
  $this->arrParams[] = self::PARAM_DATETIME;
 
 
 
55
 
56
  $this->arrParams = $this->filterMainParams($this->arrParams);
57
  }
52
  $this->arrParams[] = self::PARAM_BOXSHADOW;
53
  $this->arrParams[] = self::PARAM_TEXTSHADOW;
54
  $this->arrParams[] = self::PARAM_DATETIME;
55
+ $this->arrParams[] = self::PARAM_BORDER_DIMENTIONS;
56
+ $this->arrParams[] = self::PARAM_CSS_FILTERS;
57
+ $this->arrParams[] = self::PARAM_HOVER_ANIMATIONS;
58
 
59
  $this->arrParams = $this->filterMainParams($this->arrParams);
60
  }
provider/provider_layouts.class.php CHANGED
@@ -138,8 +138,7 @@ class UniteCreatorLayouts extends UniteCreatorLayoutsWork{
138
 
139
  $objLayoutType = UniteCreatorAddonType::getAddonTypeObject($layoutType, true);
140
 
141
- $arrLayouts = $this->getCatLayouts(null, $objLayoutType);
142
-
143
 
144
  return($arrLayouts);
145
  }
@@ -149,9 +148,7 @@ class UniteCreatorLayouts extends UniteCreatorLayoutsWork{
149
  * get category layouts. category id can be null, all number or 0 (uncategorized)
150
  */
151
  public function getCatLayouts($catID = null, $objLayoutType=null, $onlyRecords = false, $options = array()){
152
-
153
- //UniteFunctionsUC::showTrace();dmp("get layouts");dmp($options);
154
-
155
  $postType = null;
156
 
157
  $sortBY = UniteFunctionsWPUC::SORTBY_MENU_ORDER;
@@ -205,7 +202,7 @@ class UniteCreatorLayouts extends UniteCreatorLayoutsWork{
205
  //if parent id is 'all' - get all the layouts of the category
206
  if($parentID !== "all")
207
  $arrParams["post_parent"] = $parentID;
208
-
209
  //add search
210
  $filterSearch = UniteFunctionsUC::getVal($options, "filter_search");
211
 
@@ -213,8 +210,7 @@ class UniteCreatorLayouts extends UniteCreatorLayoutsWork{
213
  $arrParams["title_filter"] = $filterSearch;
214
 
215
  $arrPosts = UniteFunctionsWPUC::getPostsByType($postType, $sortBY, $arrParams, true);
216
-
217
-
218
  //dmp("get cat layouts");dmp($arrPosts);exit();
219
 
220
  //don't add the parent post as well
138
 
139
  $objLayoutType = UniteCreatorAddonType::getAddonTypeObject($layoutType, true);
140
 
141
+ $arrLayouts = $this->getCatLayouts("all", $objLayoutType);
 
142
 
143
  return($arrLayouts);
144
  }
148
  * get category layouts. category id can be null, all number or 0 (uncategorized)
149
  */
150
  public function getCatLayouts($catID = null, $objLayoutType=null, $onlyRecords = false, $options = array()){
151
+
 
 
152
  $postType = null;
153
 
154
  $sortBY = UniteFunctionsWPUC::SORTBY_MENU_ORDER;
202
  //if parent id is 'all' - get all the layouts of the category
203
  if($parentID !== "all")
204
  $arrParams["post_parent"] = $parentID;
205
+
206
  //add search
207
  $filterSearch = UniteFunctionsUC::getVal($options, "filter_search");
208
 
210
  $arrParams["title_filter"] = $filterSearch;
211
 
212
  $arrPosts = UniteFunctionsWPUC::getPostsByType($postType, $sortBY, $arrParams, true);
213
+
 
214
  //dmp("get cat layouts");dmp($arrPosts);exit();
215
 
216
  //don't add the parent post as well
provider/provider_params_processor.class.php CHANGED
@@ -206,9 +206,11 @@ class UniteCreatorParamsProcessor extends UniteCreatorParamsProcessorWork{
206
  $item["class_selected"] = " uc-selected";
207
 
208
  if(isset($arrTerm["count"])){
209
-
210
- if($isWooCat == true)
 
211
  $item["num_products"] = $arrTerm["count"];
 
212
  else
213
  $item["num_posts"] = $arrTerm["count"];
214
 
@@ -823,7 +825,8 @@ class UniteCreatorParamsProcessor extends UniteCreatorParamsProcessorWork{
823
 
824
  $filters = $this->getPostListData_addOrderBy($filters, $value, $name);
825
 
826
- //$filters = $this->getPostListData_getPostGetFilters_filters($filters);
 
827
 
828
  //add debug for further use
829
  HelperUC::addDebug("Post Filters", $filters);
@@ -878,6 +881,7 @@ class UniteCreatorParamsProcessor extends UniteCreatorParamsProcessorWork{
878
  $arrProductsUpSells = array();
879
  $arrProductsCrossSells = array();
880
  $arrIDsOnSale = array();
 
881
 
882
  foreach($arrIncludeBy as $includeby){
883
 
@@ -958,13 +962,23 @@ class UniteCreatorParamsProcessor extends UniteCreatorParamsProcessorWork{
958
  $args["post_parent"] = $parent;
959
  }
960
  break;
 
 
 
 
 
 
 
 
 
 
961
  }
962
 
963
  }
964
 
965
  //include id's
966
- $arrPostInIDs = UniteFunctionsUC::mergeArraysUnique($arrProductsCrossSells, $arrProductsUpSells);
967
-
968
  if(!empty($arrIDsOnSale)){
969
 
970
  if(!empty($arrPostInIDs)) //intersect with previous id's
@@ -1041,7 +1055,7 @@ class UniteCreatorParamsProcessor extends UniteCreatorParamsProcessorWork{
1041
  }
1042
 
1043
  $args = $this->getPostListData_getPostGetFilters_pagination($args, $value, $name, $data);
1044
-
1045
  $args = $this->getPostListData_getCustomQueryFilters($args, $value, $name, $data);
1046
 
1047
  HelperUC::addDebug("Posts Query", $args);
@@ -1127,10 +1141,7 @@ class UniteCreatorParamsProcessor extends UniteCreatorParamsProcessorWork{
1127
 
1128
  //add debug for further use
1129
  HelperUC::addDebug("Getting Current Posts");
1130
-
1131
- $maxPosts = UniteFunctionsUC::getVal($value, $name."_maxitems_current");
1132
- $maxPosts = (int)$maxPosts;
1133
-
1134
  $orderBy = UniteFunctionsUC::getVal($value, $name."_orderby");
1135
  $orderDir = UniteFunctionsUC::getVal($value, $name."_orderdir1");
1136
  $orderByMetaKey = UniteFunctionsUC::getVal($value, $name."_orderby_meta_key1");
@@ -1148,9 +1159,6 @@ class UniteCreatorParamsProcessor extends UniteCreatorParamsProcessorWork{
1148
 
1149
  //--- set posts per page ---
1150
 
1151
- if(!empty($maxPosts))
1152
- $currentQueryVars["posts_per_page"] = $maxPosts;
1153
-
1154
  //--- set order ---
1155
  if(!empty($orderBy))
1156
  $currentQueryVars["orderby"] = $orderBy;
@@ -1164,7 +1172,7 @@ class UniteCreatorParamsProcessor extends UniteCreatorParamsProcessorWork{
1164
  $currentQueryVars = apply_filters( 'elementor/theme/posts_archive/query_posts/query_vars', $currentQueryVars);
1165
 
1166
  $currentQueryVars = $this->getPostListData_getCustomQueryFilters($currentQueryVars, $value, $name, $data);
1167
-
1168
  $showDebugQuery = UniteFunctionsUC::getVal($value, "{$name}_show_query_debug");
1169
  $showDebugQuery = UniteFunctionsUC::strToBool($showDebugQuery);
1170
 
@@ -1184,6 +1192,9 @@ class UniteCreatorParamsProcessor extends UniteCreatorParamsProcessorWork{
1184
 
1185
  HelperUC::addDebug("Query Vars", $currentQueryVars);
1186
 
 
 
 
1187
  $arrPosts = $query->posts;
1188
 
1189
  if(empty($arrPosts))
@@ -1324,13 +1335,14 @@ class UniteCreatorParamsProcessor extends UniteCreatorParamsProcessorWork{
1324
 
1325
  protected function z_______________FILTERS____________(){}
1326
 
 
1327
  /**
1328
  * get custom filters
1329
  */
1330
  private function getPostListData_getPostGetFilters_filters($filters){
1331
 
1332
  if(GlobalsUC::$inDev == false)
1333
- return($args);
1334
 
1335
  $objFiltersProcess = new UniteCreatorFiltersProcess();
1336
  $requestFilters = $objFiltersProcess->getRequestFilters();
@@ -1350,7 +1362,6 @@ class UniteCreatorParamsProcessor extends UniteCreatorParamsProcessorWork{
1350
  */
1351
  protected function getWooCatsData($value, $name, $processType, $param){
1352
 
1353
-
1354
  $selectionType = UniteFunctionsUC::getVal($value, $name."_type");
1355
 
1356
  //add params
@@ -1711,7 +1722,7 @@ class UniteCreatorParamsProcessor extends UniteCreatorParamsProcessorWork{
1711
  dmp("The terms query is:");
1712
  dmp($args);
1713
  }
1714
-
1715
  $arrTermsObjects = get_terms($args);
1716
 
1717
  if(!empty($arrExcludeSlugs)){
@@ -1725,7 +1736,7 @@ class UniteCreatorParamsProcessor extends UniteCreatorParamsProcessorWork{
1725
  $arrTerms = UniteFunctionsWPUC::getTermsObjectsData($arrTermsObjects, $taxonomy);
1726
 
1727
  $arrTerms = $this->modifyArrTermsForOutput($arrTerms, $taxonomy, $useCustomFields);
1728
-
1729
  return($arrTerms);
1730
  }
1731
 
206
  $item["class_selected"] = " uc-selected";
207
 
208
  if(isset($arrTerm["count"])){
209
+
210
+ if($isWooCat == true){
211
+ $item["num_posts"] = $arrTerm["count"];
212
  $item["num_products"] = $arrTerm["count"];
213
+ }
214
  else
215
  $item["num_posts"] = $arrTerm["count"];
216
 
825
 
826
  $filters = $this->getPostListData_addOrderBy($filters, $value, $name);
827
 
828
+ if(GlobalsUC::$inDev == true)
829
+ $filters = $this->getPostListData_getPostGetFilters_filters($filters);
830
 
831
  //add debug for further use
832
  HelperUC::addDebug("Post Filters", $filters);
881
  $arrProductsUpSells = array();
882
  $arrProductsCrossSells = array();
883
  $arrIDsOnSale = array();
884
+ $arrRecentProducts = array();
885
 
886
  foreach($arrIncludeBy as $includeby){
887
 
962
  $args["post_parent"] = $parent;
963
  }
964
  break;
965
+ case "recent":
966
+
967
+ if(isset($_COOKIE["woocommerce_recently_viewed"])){
968
+
969
+ $strRecentProducts = $_COOKIE["woocommerce_recently_viewed"];
970
+ $strRecentProducts = trim($strRecentProducts);
971
+ $arrRecentProducts = explode("|", $strRecentProducts);
972
+ }
973
+
974
+ break;
975
  }
976
 
977
  }
978
 
979
  //include id's
980
+ $arrPostInIDs = UniteFunctionsUC::mergeArraysUnique($arrProductsCrossSells, $arrProductsUpSells, $arrRecentProducts);
981
+
982
  if(!empty($arrIDsOnSale)){
983
 
984
  if(!empty($arrPostInIDs)) //intersect with previous id's
1055
  }
1056
 
1057
  $args = $this->getPostListData_getPostGetFilters_pagination($args, $value, $name, $data);
1058
+
1059
  $args = $this->getPostListData_getCustomQueryFilters($args, $value, $name, $data);
1060
 
1061
  HelperUC::addDebug("Posts Query", $args);
1141
 
1142
  //add debug for further use
1143
  HelperUC::addDebug("Getting Current Posts");
1144
+
 
 
 
1145
  $orderBy = UniteFunctionsUC::getVal($value, $name."_orderby");
1146
  $orderDir = UniteFunctionsUC::getVal($value, $name."_orderdir1");
1147
  $orderByMetaKey = UniteFunctionsUC::getVal($value, $name."_orderby_meta_key1");
1159
 
1160
  //--- set posts per page ---
1161
 
 
 
 
1162
  //--- set order ---
1163
  if(!empty($orderBy))
1164
  $currentQueryVars["orderby"] = $orderBy;
1172
  $currentQueryVars = apply_filters( 'elementor/theme/posts_archive/query_posts/query_vars', $currentQueryVars);
1173
 
1174
  $currentQueryVars = $this->getPostListData_getCustomQueryFilters($currentQueryVars, $value, $name, $data);
1175
+
1176
  $showDebugQuery = UniteFunctionsUC::getVal($value, "{$name}_show_query_debug");
1177
  $showDebugQuery = UniteFunctionsUC::strToBool($showDebugQuery);
1178
 
1192
 
1193
  HelperUC::addDebug("Query Vars", $currentQueryVars);
1194
 
1195
+ //save last query
1196
+ GlobalsProviderUC::$lastPostQuery = $query;
1197
+
1198
  $arrPosts = $query->posts;
1199
 
1200
  if(empty($arrPosts))
1335
 
1336
  protected function z_______________FILTERS____________(){}
1337
 
1338
+
1339
  /**
1340
  * get custom filters
1341
  */
1342
  private function getPostListData_getPostGetFilters_filters($filters){
1343
 
1344
  if(GlobalsUC::$inDev == false)
1345
+ return($filters);
1346
 
1347
  $objFiltersProcess = new UniteCreatorFiltersProcess();
1348
  $requestFilters = $objFiltersProcess->getRequestFilters();
1362
  */
1363
  protected function getWooCatsData($value, $name, $processType, $param){
1364
 
 
1365
  $selectionType = UniteFunctionsUC::getVal($value, $name."_type");
1366
 
1367
  //add params
1722
  dmp("The terms query is:");
1723
  dmp($args);
1724
  }
1725
+
1726
  $arrTermsObjects = get_terms($args);
1727
 
1728
  if(!empty($arrExcludeSlugs)){
1736
  $arrTerms = UniteFunctionsWPUC::getTermsObjectsData($arrTermsObjects, $taxonomy);
1737
 
1738
  $arrTerms = $this->modifyArrTermsForOutput($arrTerms, $taxonomy, $useCustomFields);
1739
+
1740
  return($arrTerms);
1741
  }
1742
 
provider/provider_settings.class.php CHANGED
@@ -920,9 +920,11 @@ class UniteCreatorSettings extends UniteCreatorSettingsWork{
920
 
921
  }
922
 
 
 
 
923
  /**
924
  * add post ID select
925
- * Enter description here ...
926
  */
927
  protected function addPostIDSelect($settingName, $text = null, $elementorCondition = null, $isForWoo = false, $addAttribOpt = "", $params = array()){
928
 
@@ -1026,6 +1028,9 @@ class UniteCreatorSettings extends UniteCreatorSettingsWork{
1026
  $addCurrentPosts = UniteFunctionsUC::getVal($extra, "add_current_posts");
1027
  $addCurrentPosts = UniteFunctionsUC::strToBool($addCurrentPosts);
1028
 
 
 
 
1029
  $arrPostTypes = UniteFunctionsWPUC::getPostTypesWithCats(GlobalsProviderUC::$arrFilterPostTypes);
1030
 
1031
  $isWpmlExists = UniteCreatorWpmlIntegrate::isWpmlExists();
@@ -1141,8 +1146,10 @@ class UniteCreatorSettings extends UniteCreatorSettingsWork{
1141
  $params["description"] = esc_html__("Choose the source of the posts list", "unlimited-elements-for-elementor");
1142
  $params["elementor_condition"] = $arrCurrentElementorCondition;
1143
 
1144
- $this->addStaticText("The current posts are being used in archive pages", $name."_currenttext", $params);
1145
-
 
 
1146
  //-------- add static text - related --------
1147
 
1148
  $params = array();
@@ -1228,10 +1235,11 @@ class UniteCreatorSettings extends UniteCreatorSettingsWork{
1228
  }
1229
 
1230
  if($isForWooProducts == true){
1231
- $arrIncludeBy["products_on_sale"] = __("Products On Sale Only","unlimited-elements-for-elementor");
1232
- $arrIncludeBy["up_sells"] = __("Up Sells Products","unlimited-elements-for-elementor");
1233
- $arrIncludeBy["cross_sells"] = __("Cross Sells Products","unlimited-elements-for-elementor");
1234
- $arrIncludeBy["out_of_stock"] = __("Out Of Stock Products Only", "unlimited-elements-for-elementor");
 
1235
  }
1236
 
1237
  $addPostsText = sprintf(__("Add Specific %s", "unlimited-elements-for-elementor"), $textPosts);
@@ -1318,11 +1326,24 @@ class UniteCreatorSettings extends UniteCreatorSettingsWork{
1318
  $this->addHr("hr_after_date",$params);
1319
 
1320
  //---- Include By Post Parent -----
 
1321
  $arrConditionIncludeParents = $arrConditionIncludeBy;
1322
  $arrConditionIncludeParents[$name."_includeby"] = "parent";
1323
 
1324
  $this->addPostIDSelect($name."_includeby_parent", sprintf(__("Select %s Parents"), $textPosts), $arrConditionIncludeParents, $isForWooProducts);
1325
 
 
 
 
 
 
 
 
 
 
 
 
 
1326
  //----- add categories -------
1327
 
1328
  $arrCats = array();
@@ -1425,7 +1446,7 @@ class UniteCreatorSettings extends UniteCreatorSettingsWork{
1425
  $params["origtype"] = UniteCreatorDialogParam::PARAM_DROPDOWN;
1426
  $params["is_multiple"] = true;
1427
 
1428
- $conditionExcludeBy = $arrNotManualElementorCondition;
1429
 
1430
  $params["elementor_condition"] = $conditionExcludeBy;
1431
 
@@ -1516,25 +1537,15 @@ class UniteCreatorSettings extends UniteCreatorSettingsWork{
1516
 
1517
  $this->addMultiSelect($name."_status", $arrStatuses, __("Post Status", "unlimited-elements-for-elementor"), array("publish"), $params);
1518
 
1519
- //------- max items - current only--------
1520
-
1521
- $maxPostsPerPage = get_option("posts_per_page");
1522
 
1523
  $params = array("unit"=>"posts");
1524
- $maxItems = UniteFunctionsUC::getVal($value, $name."_maxitems_current");
1525
- $params["origtype"] = UniteCreatorDialogParam::PARAM_TEXTFIELD;
1526
- $params["placeholder"] = __("$maxPostsPerPage posts if empty","unlimited-elements-for-elementor");
1527
- $params["elementor_condition"] = $arrCurrentElementorCondition;
1528
- $params["add_dynamic"] = true;
1529
-
1530
- $this->addTextBox($name."_maxitems_current", $maxItems, sprintf(esc_html__("Max %s", "unlimited-elements-for-elementor"),$textPosts), $params);
1531
 
 
 
1532
 
 
1533
 
1534
- //------- max items --------
1535
-
1536
- $params = array("unit"=>"posts");
1537
- $maxItems = UniteFunctionsUC::getVal($value, $name."_maxitems", 10);
1538
  $params["origtype"] = UniteCreatorDialogParam::PARAM_TEXTFIELD;
1539
  $params["placeholder"] = __("100 posts if empty","unlimited-elements-for-elementor");
1540
 
920
 
921
  }
922
 
923
+ private function __________POSTS_______(){}
924
+
925
+
926
  /**
927
  * add post ID select
 
928
  */
929
  protected function addPostIDSelect($settingName, $text = null, $elementorCondition = null, $isForWoo = false, $addAttribOpt = "", $params = array()){
930
 
1028
  $addCurrentPosts = UniteFunctionsUC::getVal($extra, "add_current_posts");
1029
  $addCurrentPosts = UniteFunctionsUC::strToBool($addCurrentPosts);
1030
 
1031
+ $defaultMaxPosts = UniteFunctionsUC::getVal($extra, "default_max_posts");
1032
+ $defaultMaxPosts = (int)($defaultMaxPosts);
1033
+
1034
  $arrPostTypes = UniteFunctionsWPUC::getPostTypesWithCats(GlobalsProviderUC::$arrFilterPostTypes);
1035
 
1036
  $isWpmlExists = UniteCreatorWpmlIntegrate::isWpmlExists();
1146
  $params["description"] = esc_html__("Choose the source of the posts list", "unlimited-elements-for-elementor");
1147
  $params["elementor_condition"] = $arrCurrentElementorCondition;
1148
 
1149
+ $maxPostsPerPage = get_option("posts_per_page");
1150
+
1151
+ $this->addStaticText("The current posts are being used in archive pages. Posts per page: {$maxPostsPerPage}. Set this option in Settings -> Reading ", $name."_currenttext", $params);
1152
+
1153
  //-------- add static text - related --------
1154
 
1155
  $params = array();
1235
  }
1236
 
1237
  if($isForWooProducts == true){
1238
+ $arrIncludeBy["products_on_sale"] = __("Products On Sale Only (woo)","unlimited-elements-for-elementor");
1239
+ $arrIncludeBy["up_sells"] = __("Up Sells Products (woo)","unlimited-elements-for-elementor");
1240
+ $arrIncludeBy["cross_sells"] = __("Cross Sells Products (woo)","unlimited-elements-for-elementor");
1241
+ $arrIncludeBy["out_of_stock"] = __("Out Of Stock Products Only (woo)", "unlimited-elements-for-elementor");
1242
+ $arrIncludeBy["recent"] = __("Recently Viewed Produts (woo)", "unlimited-elements-for-elementor");
1243
  }
1244
 
1245
  $addPostsText = sprintf(__("Add Specific %s", "unlimited-elements-for-elementor"), $textPosts);
1326
  $this->addHr("hr_after_date",$params);
1327
 
1328
  //---- Include By Post Parent -----
1329
+
1330
  $arrConditionIncludeParents = $arrConditionIncludeBy;
1331
  $arrConditionIncludeParents[$name."_includeby"] = "parent";
1332
 
1333
  $this->addPostIDSelect($name."_includeby_parent", sprintf(__("Select %s Parents"), $textPosts), $arrConditionIncludeParents, $isForWooProducts);
1334
 
1335
+ //-------- include by recently viewed --------
1336
+
1337
+ $params = array();
1338
+ $params["origtype"] = UniteCreatorDialogParam::PARAM_STATIC_TEXT;
1339
+ $arrConditionIncludeRecent = $arrConditionIncludeBy;
1340
+ $arrConditionIncludeRecent[$name."_includeby"] = "recent";
1341
+
1342
+ $params["elementor_condition"] = $arrConditionIncludeRecent;
1343
+
1344
+ $this->addStaticText("Recently viewed by the current site visitor, taken from cookie: woocommerce_recently_viewed. Works only if active wordpress widget: \"Recently Viewed Products\" ", $name."_includeby_recenttext", $params);
1345
+
1346
+
1347
  //----- add categories -------
1348
 
1349
  $arrCats = array();
1446
  $params["origtype"] = UniteCreatorDialogParam::PARAM_DROPDOWN;
1447
  $params["is_multiple"] = true;
1448
 
1449
+ $conditionExcludeBy = $arrCustomAndRelatedElementorCondition;
1450
 
1451
  $params["elementor_condition"] = $conditionExcludeBy;
1452
 
1537
 
1538
  $this->addMultiSelect($name."_status", $arrStatuses, __("Post Status", "unlimited-elements-for-elementor"), array("publish"), $params);
1539
 
1540
+ //------- max items --------
 
 
1541
 
1542
  $params = array("unit"=>"posts");
 
 
 
 
 
 
 
1543
 
1544
+ if(empty($defaultMaxPosts))
1545
+ $defaultMaxPosts = 10;
1546
 
1547
+ $maxItems = UniteFunctionsUC::getVal($value, $name."_maxitems", $defaultMaxPosts);
1548
 
 
 
 
 
1549
  $params["origtype"] = UniteCreatorDialogParam::PARAM_TEXTFIELD;
1550
  $params["placeholder"] = __("100 posts if empty","unlimited-elements-for-elementor");
1551
 
readme.txt CHANGED
@@ -19,6 +19,91 @@ Take your Elementor page building experience to the next level with Unlimited El
19
  Use any of are free widgets or upgrade to our pro version and enjoy +200 more unique widgets for Elementor. Each element comes with a bunch of options to control every possible setting. In case you are missing something you can easily add it using our unique Widget Creator Framework.
20
 
21
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
22
  <h3>Content Boxes for Elementor</h3>
23
  <ol>
24
  <li><a href="https://unlimited-elements.com/image-zoom-content-box-widget-for-elementor/">Image Zoom Content Box for Elementor (Free)</li>
@@ -27,13 +112,44 @@ Use any of are free widgets or upgrade to our pro version and enjoy +200 more un
27
  <li><a href="https://unlimited-elements.com/icon-image-content-box-widget-for-elementor">Icon Image Content Box for Elementor (Free)</li>
28
  <li><a href="https://unlimited-elements.com/icon-content-box-widget-for-elementor">Icon Content Box for Elementor (Free)</li>
29
  <li><a href="https://unlimited-elements.com/diagonal-content-box-widget-for-elementor">Diagonal Content Box for Elementor (Free)</li>
 
30
  <li><a href="https://unlimited-elements.com/subtle-overlay-content-box-widget-for-elementor/">Subtle Overlay Content Box for Elementor (Pro)</li>
31
  <li><a href="https://unlimited-elements.com/border-hover-overlay-content-box-widget-for-elementor">Border Hover Overlay Content Box for Elementor (Pro)</li>
 
32
  <li><a href="https://unlimited-elements.com/image-card-content-box-widget-for-elementor/">Overlay Content Box for Elementor (Pro)</li>
33
  <li><a href="https://unlimited-elements.com/shrink-content-box-widget-for-elementor/">Shrink Content Box for Elementor (Pro)</li>
34
  <li><a href="https://unlimited-elements.com/sliding-content-box-widget-for-elementor/">Sliding Content Box for Elementor (Pro)</li>
35
- <li><a href="https://unlimited-elements.com/animated-border-content-box-widget-for-elementor">Animated Border Content Box for Elementor (Pro)</li>
36
- <li><a href="https://unlimited-elements.com/zoom-caption-reveal-content-box-widget-for-elementor">Zoom Caption Reveal Content Box for Elementor (Pro)</li>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
37
  </ol>
38
 
39
  <h3>Image Galleries for Elementor</h3>
@@ -41,41 +157,20 @@ Use any of are free widgets or upgrade to our pro version and enjoy +200 more un
41
  <li><a href="https://unlimited-elements.com/minimalistic-image-gallery-for-elementor/">Minimalistic Image Gallery for Elementor (Free)</li>
42
  <li><a href="https://unlimited-elements.com/tile-grid-image-gallery-for-elementor/">Tile Grid Image Gallery for Elementor (Free)</li>
43
  <li><a href="https://unlimited-elements.com/slider-image-gallery-for-elementor/">Slider Image Gallery for Elementor (Free)</li>
44
- <li><a href="https://unlimited-elements.com/video-and-image-gallery-grid-panel-widget-for-elementor/">Video and Image Gallery Grid Panel for Elementor (Pro)</li>
45
  <li><a href="https://unlimited-elements.com/carousel-slider-image-gallery-widget-for-elementor/">Carousel Slider Image Gallery for Elementor (Pro)</li>
 
46
  <li><a href="https://unlimited-elements.com/carousel-image-gallery-for-elementor">Carousel Image Gallery for Elementor (Pro)</li>
47
- <li><a href="https://unlimited-elements.com/justified-columns-image-gallery-for-elementor">Justified Columns Image Gallery for Elementor (Pro)</li>
48
  <li><a href="https://unlimited-elements.com/grid-panel-image-gallery-for-elementor">Grid Panel Image Gallery for Elementor (Pro)</li>
49
  <li><a href="https://unlimited-elements.com/basic-image-gallery-for-elementor/">Basic Image Gallery for Elementor (Pro)</li>
50
  </ol>
51
 
52
- <h3>Event Widgets for Elementor</h3>
53
- <ol>
54
- <li><a href="https://unlimited-elements.com/date-event-box-widget-for-elementor">Date Event Box for Elementor (Free)</li>
55
- <li><a href="https://unlimited-elements.com/event-box-widget-for-elementor">Event Box for Elementor (Free)</li>
56
- <li><a href="https://unlimited-elements.com/row-event-widget-for-elementor">Row Event for Elementor (Free)</li>
57
- <li><a href="https://unlimited-elements.com/diagonal-event-box-widget-for-elementor">Diagonal Event Box for Elementor (Pro)</li>
58
- <li><a href="https://unlimited-elements.com/material-event-box-widget-for-elementor/">Material Event Box for Elementor (Pro)</li>
59
- <li><a href="https://unlimited-elements.com/event-list-widget-for-elementor/">Event List for Elementor (Pro)</li>
60
- <li><a href="https://unlimited-elements.com/date-event-list-widget-for-elementor">Date Event List for Elementor (Pro)</li>
61
- <li><a href="https://unlimited-elements.com/cta-row-event-widget-for-elementor/">CTA Row Event for Elementor (Pro)</li>
62
- </ol>
63
-
64
- <h3>Menu Widgets for Elementor</h3>
65
- <ol>
66
- <li><a href="https://unlimited-elements.com/simple-fullscreen-navigation-menu-widget-for-elementor/">Fullscreen Navigation Menu for Elementor (Free)</li>
67
- <li><a href="https://unlimited-elements.com/simple-list-menu-widget-for-elementor">Simple List Menu for Elementor (Free)</li>
68
- <li><a href="https://unlimited-elements.com/bullet-one-page-scroll-navigation-widget-for-elementor">Bullet One Page Scroll Navigation for Elementor (Pro)</li>
69
- <li><a href="https://unlimited-elements.com/icon-one-page-scroll-navigation-widget-for-elementor/">Icon One Page Scroll Navigation for Elementor (Pro)</li>
70
- <li><a href="https://unlimited-elements.com/liquid-fullscreen-menu-widget-for-elementor">Liquid Full Screen Menu for Elementor (Pro)</li>
71
- </ol>
72
-
73
  <h3>Hero Widgets for Elementor</h3>
74
  <ol>
75
  <li><a href="https://unlimited-elements.com/title-hero-widget-for-elementor">Title Hero for Elementor (Free)</li>
 
76
  <li><a href="https://unlimited-elements.com/split-hero-widget-for-elementor">Split Hero for Elementor (Free)</li>
77
  <li><a href="https://unlimited-elements.com/transparent-split-hero-widget-for-elementor">Transparent Split Hero for Elementor (Free)</li>
78
- <li><a href="https://unlimited-elements.com/box-hero-widget-for-elementor/">Box Hero for Elementor (Free)</li>
79
  <li><a href="https://unlimited-elements.com/border-hero-widget-for-elementor">Border Hero for Elementor (Free)</li>
80
  <li><a href="https://unlimited-elements.com/video-hero-widget-for-elementor/">Video Hero for Elementor (Pro)</li>
81
  <li><a href="https://unlimited-elements.com/split-video-hero-widget-for-elementor">Split Video Hero for Elementor (Pro)</li>
@@ -86,92 +181,72 @@ Use any of are free widgets or upgrade to our pro version and enjoy +200 more un
86
  <li><a href="https://unlimited-elements.com/solid-color-hero-widget-for-elementor">Solid Color Hero for Elementor (Pro)</li>
87
  </ol>
88
 
89
- <h3>Flip Boxes for Elementor</h3>
90
- <ol>
91
- <li><a href="https://unlimited-elements.com/material-flip-box-for-elementor/">Material Flip Box for Elementor (Free)</li>
92
- <li><a href="https://unlimited-elements.com/flat-flip-box-widget-for-elementor">Flat Flip Box for Elementor (Free)</li>
93
- <li><a href="https://unlimited-elements.com/icon-flip-box-widget-for-elementor">Icon Flip Box for Elementor (Free)</li>
94
- <li><a href="https://unlimited-elements.com/image-icon-flip-box-widget-for-elementor">Image Icon Flip Box for Elementor (Pro)</li>
95
- <li><a href="https://unlimited-elements.com/product-flip-box-widget-for-elementor/">Product Flip Box for Elementor (Pro)</li>
96
- <li><a href="https://unlimited-elements.com/pricing-flip-box-widget-for-elementor/">Pricing Flip Box for Elementor (Pro)</li>
97
- <li><a href="https://unlimited-elements.com/gradient-flip-box-widget-for-elementor">Gradient Flip Box for Elementor (Pro)</li>
98
- <li><a href="https://unlimited-elements.com/image-product-flipbox-widget-for-elementor/">Image Product Flipbox for Elementor (Pro)</li>
99
- </ol>
100
-
101
  <h3>Instagram Widgets for Elementor</h3>
102
  <ol>
103
- <li><a href="https://unlimited-elements.com/grid-instagram-widget-for-elementor">Grid Instagram Widget for Elementor (Free)</li>
104
  <li><a href="https://unlimited-elements.com/latest-instagram-image-widget-for-elementor">Latest Instagram Image for Elementor (Free)</li>
 
105
  <li><a href="https://unlimited-elements.com/instagram-card-widget-for-elementor/">Instagram Card Widget for Elementor (Pro)</li>
106
  <li><a href="https://unlimited-elements.com/metro-instagram-widget-for-elementor">Metro Instagram Widget for Elementor (Pro)</li>
107
  <li><a href="https://unlimited-elements.com/instagram-teaser-box-for-elementor/">Instagram Teaser Box for Elementor (Pro)</li>
108
  </ol>
109
 
110
- <h3>Pricing Widgets for Elementor</h3>
111
  <ol>
112
- <li><a href="https://unlimited-elements.com/material-pricing-table-widget-for-elementor/">Material Pricing Table for Elementor (Free)</li>
113
- <li><a href="https://unlimited-elements.com/box-pricing-table-widget-for-elementor">Box Pricing Table for Elementor (Free)</li>
114
- <li><a href="https://unlimited-elements.com/icon-pricing-table-widget-for-elementor/">Icon Pricing Table for Elementor (Free)</li>
115
- <li><a href="https://unlimited-elements.com/gradient-pricing-table-widget-for-elementor">Gradient Pricing Table for Elementor (Free)</li>
116
- <li><a href="https://unlimited-elements.com/border-pricing-table-widget-for-elementor/">Border Pricing Box for Elementor (Free)</li>
117
- <li><a href="https://unlimited-elements.com/wave-pricing-table-widget-for-elementor">Wave Pricing Table for Elementor (Pro)</li>
118
- <li><a href="https://unlimited-elements.com/round-animated-pricing-table-widget-for-elementor">Round Animated Pricing Table for Elementor (Pro)</li>
119
- <li><a href="https://unlimited-elements.com/diagonal-pricing-table-widget-for-elementor">Diagonal Pricing Table for Elementor (Pro)</li>
120
- <li><a href="https://unlimited-elements.com/alternating-pricing-table-widget-for-elementor">Alternating Pricing Table for Elementor (Pro)</li>
121
- <li><a href="https://unlimited-elements.com/solid-color-pricing-table-widget-for-elementor">Solid Color Pricing Table for Elementor (Pro)</li>
122
- <li><a href="https://unlimited-elements.com/mini-pricing-box-widget-for-elementor">Mini Pricing Box for Elementor (Pro)</li>
123
- <li><a href="https://unlimited-elements.com/price-list-box-widget-for-elementor">Price List Box for Elementor (Pro)</li>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
124
  </ol>
125
 
126
  <h3>Icon Boxes for Elementor</h3>
127
  <ol>
128
  <li><a href="https://unlimited-elements.com/square-icon-box-widget-for-elementor">Square Icon Box for Elementor (Free)</li>
129
- <li><a href="https://unlimited-elements.com/border-hover-icon-box-widget-for-elementor">Border Hover Icon Box for Elementor (Free)</li>
130
  <li><a href="https://unlimited-elements.com/twist-hover-icon-box-widget-for-elementor/">Twist Hover Icon Box for Elementor (Free)</li>
131
- <li><a href="https://unlimited-elements.com/solid-color-icon-box-widget-for-elementor">Solid Color Icon Box for Elementor (Free)</li>
132
  <li><a href="https://unlimited-elements.com/material-card-icon-box-widget-for-elementor/">Material Card Icon Box for Elementor (Free)</li>
 
133
  <li><a href="https://unlimited-elements.com/circle-icon-box-widget-for-elementor">Circle Icon Box for Elementor (Free)</li>
134
- <li><a href="https://unlimited-elements.com/gradient-icon-box-widget-for-elementor">Gradient Icon Box for Elementor (Free)</li>
135
  <li><a href="https://unlimited-elements.com/icon-button-number-box-widget-for-elementor">Icon Button Number Box for Elementor (Free)</li>
136
- <li><a href="https://unlimited-elements.com/content-reveal-icon-box-widget-for-elementor/">Content Reveal Icon Box for Elementor (Pro)</li>
137
- <li><a href="https://unlimited-elements.com/animated-line-icon-box-widget-for-elementor/">Animated Line Icon Box for Elementor (Pro)</li>
138
- <li><a href="https://unlimited-elements.com/subtle-border-hover-icon-box-widget-for-elementor/">Subtle Border Hover Icon Box for Elementor (Pro)</li>
139
- <li><a href="https://unlimited-elements.com/subtle-hover-icon-box-widget-for-elementor/">Subtle Hover Icon Box for Elementor (Pro)</li>
140
- <li><a href="https://unlimited-elements.com/diamond-icon-box-widget-for-elementor/">Diamond Icon Box for Elementor (Pro)</li>
141
  <li><a href="https://unlimited-elements.com/icon-box-hover-effect-widget-for-elementor/">Icon Box Hover Effect for Elementor (Pro)</li>
 
142
  <li><a href="https://unlimited-elements.com/square-solid-hover-icon-box-widget-for-elementor/">Square Solid Hover Icon Box for Elementor (Pro)</li>
 
143
  <li><a href="https://unlimited-elements.com/square-border-icon-box-widget-for-elementor">Square Border Icon Box for Elementor (Pro)</li>
144
- <li><a href="https://unlimited-elements.com/animated-icon-box-widget-for-elementor/">Animated Icon Box for Elementor (Pro)</li>
145
- <li><a href="https://unlimited-elements.com/animated-border-icon-box-widget-for-elementor/">Animated Border Icon Box for Elementor (Pro)</li>
 
 
146
  <li><a href="https://unlimited-elements.com/solid-color-overlay-icon-box-widget-for-elementor">Solid Color Overlay Icon Box for Elementor (Pro)</li>
147
  </ol>
148
 
149
- <h3>Post Widgets for Elementor</h3>
150
- <ol>
151
- <li><a href="https://unlimited-elements.com/squeeze-post-grid-widget-for-elementor">Squeeze Post Grid for Elementor (Free)</li>
152
- <li><a href="https://unlimited-elements.com/post-tabs-for-elementor/">Post Tabs for Elementor (Free)</li>
153
- <li><a href="https://unlimited-elements.com/square-post-grid-widget-for-elementor/">Square Post Grid Image Overlay for Elementor (Free)</li>
154
- <li><a href="https://unlimited-elements.com/post-list-widget-for-elementor">Post List for Elementor (Free)</li>
155
- <li><a href="https://unlimited-elements.com/post-accordions-for-elementor/">Post Accordion for Elementor (Free)</li>
156
- <li><a href="https://unlimited-elements.com/post-blocks-widget-for-elementor">Post Blocks for Elementor (Free)</li>
157
- <li><a href="https://unlimited-elements.com/card-post-carousel-widget-for-elementor">Card Post Carousel for Elementor (Free)</li>
158
- <li><a href="https://unlimited-elements.com/image-post-news-scroller-widget-for-elementor">Image Post News Scroller for Elementor (Pro)</li>
159
- <li><a href="https://unlimited-elements.com/portfolio-post-grid-widget-for-elementor">Portfolio Post Grid for Elementor (Pro)</li>
160
- <li><a href="https://unlimited-elements.com/post-timeline-widget-for-elementor/">Post Timeline for Elementor (Pro)</li>
161
- <li><a href="https://unlimited-elements.com/post-gallery-widget-for-elementor">Post Gallery for Elementor (Pro)</li>
162
- <li><a href="https://unlimited-elements.com/vertical-post-tabs-widget-for-elementor">Vertical Post Tabs for Elementor (Pro)</li>
163
- <li><a href="https://unlimited-elements.com/masonry-post-grid-widget-for-elementor">Masonry Post Grid for Elementor (Pro)</li>
164
- <li><a href="https://unlimited-elements.com/post-carousels-for-elementor/">Post Carousel for Elementor (Pro)</li>
165
- <li><a href="https://unlimited-elements.com/post-news-scroller-widget-for-elementor">Post News Scroller for Elementor (Pro)</li>
166
- <li><a href="https://unlimited-elements.com/news-scroller-with-thumbnail-widget-for-elementor/">News Scroller With Thumbnail for Elementor (Pro)</li>
167
- <li><a href="https://unlimited-elements.com/post-sliders/">Post Slider for Elementor (Pro)</li>
168
- <li><a href="https://unlimited-elements.com/post-tiles-widget-for-elementor">Post Tile for Elementor (Pro)</li>
169
- <li><a href="https://unlimited-elements.com/post-news-tickers-for-elementor/">Post News Ticker for Elementor (Pro)</li>
170
- <li><a href="https://unlimited-elements.com/post-grid">Post Grid for Elementor (Pro)</li>
171
- <li><a href="https://unlimited-elements.com/alternating-post-grid-widget-for-elementor">Alternating Post Grid for Elementor (Pro)</li>
172
- <li><a href="https://unlimited-elements.com/metro-post-grid-widget-for-elementor/">Metro Post Grid for Elementor (Pro)</li>
173
- </ol>
174
-
175
  <h3>Social Network Icons for Elementor</h3>
176
  <ol>
177
  <li><a href="https://unlimited-elements.com/glare-social-icons-widget-for-elementor/">Social Icons Glare Effect for Elementor (Free)</li>
@@ -179,49 +254,20 @@ Use any of are free widgets or upgrade to our pro version and enjoy +200 more un
179
  <li><a href="https://unlimited-elements.com/square-to-circle-social-icon-button-widgets-for-elementor">Square to Circle Social Icons for Elementor (Free)</li>
180
  <li><a href="https://unlimited-elements.com/rotating-social-icon-button-widgets-for-elementor">Rotating Social Icons for Elementor (Free)</li>
181
  <li><a href="https://unlimited-elements.com/label-social-icon-button-widgets-for-elementor">Social Icons With Label for Elementor (Free)</li>
182
- <li><a href="https://unlimited-elements.com/circle-fill-social-icon-button-widgets-for-elementor">Social Icons With Circle Fill Effect for Elementor (Pro)</li>
183
  <li><a href="https://unlimited-elements.com/shape-social-icon-button-widgets-for-elementor">Shape Social Icons for Elementor (Pro)</li>
 
184
  </ol>
185
 
186
- <h3>Button Widgets for Elementor</h3>
187
- <ol>
188
- <li><a href="https://unlimited-elements.com/toggle-text-button-widget-for-elementor/">Toggle Text Button for Elementor (Free)</li>
189
- <li><a href="https://unlimited-elements.com/gradient-button-widget-for-elementor/">Gradient Button for Elementor (Free)</li>
190
- <li><a href="https://unlimited-elements.com/button-group-widget-for-elementor/">Button Group for Elementor (Free)</li>
191
- <li><a href="https://unlimited-elements.com/multi-line-button-widget-for-elementor/">Multi Line Button for Elementor (Free)</li>
192
- <li><a href="https://unlimited-elements.com/underline-animated-button-widget-for-elementor/">Underline Animated Button for Elementor (Free)</li>
193
- <li><a href="https://unlimited-elements.com/icon-pointer-button-widget-for-elementor/">Icon Pointer Button for Elementor (Free)</li>
194
- <li><a href="https://unlimited-elements.com/icon-hover-effect-button-widget-for-elementor/">Icon Hover Effect Button for Elementor (Pro)</li>
195
- <li><a href="https://unlimited-elements.com/gradient-button-widget-for-elementor/">Gradient Button Group for Elementor (Pro)</li>
196
- <li><a href="https://unlimited-elements.com/simple-artistic-button-widget-for-elementor/">Simple Artistic Button for Elementor (Pro)</li>
197
- <li><a href="https://unlimited-elements.com/border-button-effect-widget-for-elementor/">Border Button Effect for Elementor (Pro)</li>
198
- <li><a href="https://unlimited-elements.com/angled-button-with-glint-effect-for-elementor/">Angled Button With Glint Effect for Elementor (Pro)</li>
199
- <li><a href="https://unlimited-elements.com/glare-effect-button-widget-for-elementor/">Glare Effect Button for Elementor (Pro)</li>
200
- <li><a href="https://unlimited-elements.com/gradient-hover-effect-button-widget-for-elementor/">Gradient Hover Effect Button for Elementor (Pro)</li>
201
- <li><a href="https://unlimited-elements.com/neon-glowing-button-effect-widget-for-elementor/">Neon Glowing Button Effect for Elementor (Pro)</li>
202
- </ol>
203
-
204
- <h3>Google Charts for Elementor</h3>
205
- <ol>
206
- <li><a href="https://unlimited-elements.com/pie-chart-for-elementor">Pie chart for Elementor (Free)</li>
207
- <li><a href="https://unlimited-elements.com/line-chart-for-elementor">Line Chart for Elementor (Free)</li>
208
- <li><a href="https://unlimited-elements.com/donut-chart-for-elementor">Donut Chart for Elementor (Pro)</li>
209
- <li><a href="https://unlimited-elements.com/line-chart-for-elementor">Comparison Line Chart for Elementor (Pro)</li>
210
- <li><a href="https://unlimited-elements.com/area-chart-for-elementor">Area Chart for Elementor (Pro)</li>
211
- </ol>
212
-
213
- <h3>Marketing Widgets for Elementor</h3>
214
  <ol>
215
- <li><a href="https://unlimited-elements.com/timer-countdowns-for-elementor-page-builder/">Timer Countdown for Elementor (Free)</li>
216
- <li><a href="https://unlimited-elements.com/phone-button-for-elementor">Telephone Button for Elementor (Free)</li>
217
- <li><a href="https://unlimited-elements.com/email-button-for-elementor/">Email Button for Elementor (Free)</li>
218
- <li><a href="https://unlimited-elements.com/sms-button-for-elementor">SMS Button for Elementor (Free)</li>
219
- <li><a href="https://unlimited-elements.com/whatsapp-button-for-elementor">Whatsapp Button for Elementor (Pro)</li>
220
- <li><a href="https://unlimited-elements.com/facebook-messenger-button-for-elementor">Facebook Messenger Button for Elementor (Pro)</li>
221
- <li><a href="https://unlimited-elements.com/icon-mobile-menu-for-elementor">Icon Mobile Menu for Elementor (Pro)</li>
222
- <li><a href="https://unlimited-elements.com/mobile-conversion-menu-for-elementor">Mobile Conversion Menu for Elementor (Pro)</li>
223
- <li><a href="https://unlimited-elements.com/price-list-widget-for-elementor/">Price List for Elementor (Pro)</li>
224
- <li><a href="https://unlimited-elements.com/timer-countdown-banner-widget-for-elementor">Timer Countdown Banner for Elementor (Pro)</li>
225
  </ol>
226
 
227
  <h3>Team Members for Elementor</h3>
@@ -248,12 +294,8 @@ Use any of are free widgets or upgrade to our pro version and enjoy +200 more un
248
 
249
  <h3>Testimonials for Elementor</h3>
250
  <ol>
251
- <li><a href="https://unlimited-elements.com/diagonal-testimonial-widget-for-elementor/">Diagonal Testimonial for Elementor (Free)</li>
252
  <li><a href="https://unlimited-elements.com/box-testimonial-widget-for-elementor/">Box Testimonial for Elementor (Free)</li>
253
- <li><a href="https://unlimited-elements.com/testimonial-review-box-widget-for-elementor">Testimonial Review Box for Elementor (Free)</li>
254
- <li><a href="https://unlimited-elements.com/rating-card-testimonial-widget-for-elementor">Rating Card Testimonial for Elementor (Pro)</li>
255
  <li><a href="https://unlimited-elements.com/testimonial-carousel-widget-for-elementor/">Testimonial Carousel for Elementor (Pro)</li>
256
- <li><a href="https://unlimited-elements.com/card-testimonial-review-carousel-widget-for-elementor">Card Testimonial Review Carousel for Elementor (Pro)</li>
257
  <li><a href="https://unlimited-elements.com/3d-testimonial-card-carousel-widget-for-elementor">3D Testimonial Card Carousel for Elementor (Pro)</li>
258
  <li><a href="https://unlimited-elements.com/background-image-testimonial-widget-for-elementor">Background Image Testimonial for Elementor (Pro)</li>
259
  <li><a href="https://unlimited-elements.com/horizontal-box-testimonial-widget-for-elementor/">Horizontal Box Testimonial for Elementor (Pro)</li>
@@ -261,26 +303,6 @@ Use any of are free widgets or upgrade to our pro version and enjoy +200 more un
261
  <li><a href="https://unlimited-elements.com/logo-card-testimonial-widget-for-elementor">Logo Card Testimonial for Elementor (Pro)</li>
262
  </ol>
263
 
264
- <h3>Logo Widgets for Elementor</h3>
265
- <ol>
266
- <li><a href="https://unlimited-elements.com/logo-grid-widget-for-elementor/">Logo Grid for Elementor (Free)</li>
267
- <li><a href="https://unlimited-elements.com/logo-card-widget-for-elementor">Logo Card for Elementor (Free)</li>
268
- <li><a href="https://unlimited-elements.com/logo-carousel-widget-for-elementor/">Logo Carousel for Elementor (Pro)</li>
269
- <li><a href="https://unlimited-elements.com/logo-marquee-widget-for-elementor">Logo Marquee for Elementor (Pro)</li>
270
- </ol>
271
-
272
- <h3>Carousel Widgets for Elementor</h3>
273
- <ol>
274
- <li><a href="https://unlimited-elements.com/card-carousel-widget-for-elementor/">Card Carousel for Elementor (Free)</li>
275
- <li><a href="https://unlimited-elements.com/justified-image-carousel-widget-for-elementor/">Justified Image Carousel for Elementor (Pro)</li>
276
- <li><a href="https://unlimited-elements.com/icon-carousel-widget-for-elementor/">Icon Carousel for Elementor (Pro)</li>
277
- <li><a href="https://unlimited-elements.com/image-card-carousel-widget-for-elementor">Image Card Carousel for Elementor (Pro)</li>
278
- <li><a href="https://unlimited-elements.com/material-carousel-widget-for-elementor/">Material Carousel for Elementor (Pro)</li>
279
- <li><a href="https://unlimited-elements.com/overlay-carousel-widget-for-elementor">Overlay Carousel for Elementor (Pro)</li>
280
- <li><a href="https://unlimited-elements.com/swipe-css-carousel-widget-for-elementor/">Swipe Css Carousel for Elementor (Pro)</li>
281
- <li><a href="https://unlimited-elements.com/portfolio-carousel-widget-for-elementor/">Portfolio Carousel for Elementor (Pro)</li>
282
- </ol>
283
-
284
  <h3>Progress Bar for Elementor</h3>
285
  <ol>
286
  <li><a href="https://unlimited-elements.com/linear-progress-bar-widget-for-elementor">Linear Progress Bar for Elementor (Free)</li>
@@ -305,6 +327,7 @@ Use any of are free widgets or upgrade to our pro version and enjoy +200 more un
305
  <li><a href="https://unlimited-elements.com/caption-hover-effects/">Caption Hover Effects for Elementor (Pro)</li>
306
  <li><a href="https://unlimited-elements.com/border-link-hover-effects-widget-for-elementor/">Border Link Hover Effects for Elementor (Pro)</li>
307
  <li><a href="https://unlimited-elements.com/banner-hover-effect-widgets-for-elementor/">Banner Hover Effects for Elementor (Pro)</li>
 
308
  </ol>
309
 
310
  <h3>Lightbox Modal Popup for Elementor</h3>
@@ -316,81 +339,17 @@ Use any of are free widgets or upgrade to our pro version and enjoy +200 more un
316
 
317
  <h3>Bullet Lists for Elementor</h3>
318
  <ol>
319
- <li><a href="https://unlimited-elements.com/diamond-bullets-widget-for-elementor">Diamond Bullets for Elementor (Free)</li>
320
- <li><a href="https://unlimited-elements.com/timeline-bullets-widget-for-elementor/">Timeline Bullets for Elementor (Free)</li>
321
  <li><a href="https://unlimited-elements.com/material-bullets-widget-for-elementor">Material Bullets for Elementor (Free)</li>
322
- <li><a href="https://unlimited-elements.com/alternating-color-background-bullets-widget-for-elementor">Alternating Color Background Bullets for Elementor (Pro)</li>
323
  <li><a href="https://unlimited-elements.com/two-column-product-bullets-widget-for-elementor/">Two Column Product Bullets for Elementor (Pro)</li>
 
 
324
  <li><a href="https://unlimited-elements.com/alternating-timeline-bullets-widget-for-elementor">Alternating Timeline Bullets for Elementor (Pro)</li>
325
  <li><a href="https://unlimited-elements.com/rounded-icon-bullets-widget-for-elementor/">Rounded Icon Bullets for Elementor (Pro)</li>
326
  <li><a href="https://unlimited-elements.com/solid-bullets-widget-for-elementor/">Solid Bullets for Elementor (Pro)</li>
327
  <li><a href="https://unlimited-elements.com/product-bullets-widget-for-elementor">Product Bullets for Elementor (Pro)</li>
328
  </ol>
329
 
330
- <h3>Audio Player for Elementor</h3>
331
- <ol>
332
- <li><a href="https://unlimited-elements.com/minified-audio-player-widget-for-elementor">Minified Audio Player for Elementor (Free)</li>
333
- <li><a href="https://unlimited-elements.com/solid-audio-player-widget-for-elementor">Solid Audio Player for Elementor (Free)</li>
334
- <li><a href="https://unlimited-elements.com/background-image-audio-player-widget-for-elementor">Background Image Audio Player for Elementor (Pro)</li>
335
- <li><a href="https://unlimited-elements.com/album-audio-player-widget-for-elementor">Album Audio Player for Elementor (Pro)</li>
336
- <li><a href="https://unlimited-elements.com/gradient-audio-player-widget-for-elementor/">Gradient Audio Player for Elementor (Pro)</li>
337
- <li><a href="https://unlimited-elements.com/timer-audio-player-widget-for-elementor">Timer Audio Player for Elementor (Pro)</li>
338
- </ol>
339
-
340
- <h3>Audio Playlist for Elementor</h3>
341
- <ol>
342
- <li><a href="https://unlimited-elements.com/album-playlist-widget-for-elementor">Album Playlist for Elementor (Free)</li>
343
- <li><a href="https://unlimited-elements.com/background-playlist-widget-for-elementor">Background Playlist for Elementor (Pro)</li>
344
- <li><a href="https://unlimited-elements.com/minified-playlist-widget-for-elementor">Minified Playlist for Elementor (Pro)</li>
345
- </ol>
346
-
347
- <h3>Content Widgets for Elementor</h3>
348
- <ol>
349
- <li><a href="https://unlimited-elements.com/content-tabs-widget-for-elementor/">Content Tabs for Elementor (Free)</li>
350
- <li><a href="https://unlimited-elements.com/content-timeline-widget-for-elementor/">Content Timeline for Elementor (Free)</li>
351
- <li><a href="https://unlimited-elements.com/content-accordion-widget-for-elementor/">Content Accordion for Elementor (Free)</li>
352
- <li><a href="https://unlimited-elements.com/content-carousel-widget-for-elementor/">Content Carousel for Elementor (Pro)</li>
353
- <li><a href="https://unlimited-elements.com/content-grid-widget-for-elementor/">Content Grid for Elementor (Pro)</li>
354
- <li><a href="https://unlimited-elements.com/content-ticker-widget-for-elementor/">Content Ticker for Elementor (Pro)</li>
355
- <li><a href="https://unlimited-elements.com/content-slider-widget-for-elementor">Content Slider for Elementor (Pro)</li>
356
- <li><a href="https://unlimited-elements.com/content-toggle-widget-for-elementor/">Content Toggle for Elementor (Pro)</li>
357
- </ol>
358
-
359
- <h3>Typography for Elementor</h3>
360
- <ol>
361
- <li><a href="https://unlimited-elements.com/3d-text-effect-for-elementor/">3d Text for Elementor (Free)</li>
362
- <li><a href="https://unlimited-elements.com/3d-extrude-text-effect-widget-for-elementor">3D Extrude Text Effect for Elementor (Free)</li>
363
- <li><a href="https://unlimited-elements.com/gradient-underline-text-effect-widget-for-elementor/">Gradient Underline Text Effect for Elementor (Free)</li>
364
- <li><a href="https://unlimited-elements.com/dual-color-heading-widget-for-elementor/">Dual Color Heading for Elementor (Free)</li>
365
- <li><a href="https://unlimited-elements.com/text-marquee-for-elementor/">Text Marquee Effect for Elementor (Free)</li>
366
- <li><a href="https://unlimited-elements.com/gradient-text-effect-for-elementor/">Gradient Text Effect for Elementor (Free)</li>
367
- <li><a href="https://unlimited-elements.com/stroke-text-effect-widget-for-elementor/">Stroke Text Effect for Elementor (Free)</li>
368
- <li><a href="https://unlimited-elements.com/sideways-vertical-text-widget-for-elementor">Sideways Vertical Text for Elementor (Pro)</li>
369
- <li><a href="https://unlimited-elements.com/futuristic-typing-text-effect-widget-for-elementor/">Futuristic Typing Text Effect for Elementor (Pro)</li>
370
- <li><a href="https://unlimited-elements.com/text-rotator-for-elementor-page-builder/">Text Rotator for Elementor (Pro)</li>
371
- <li><a href="https://unlimited-elements.com/image-background-text-effect-widget-for-elementor/">Image Background Text Effect for Elementor (Pro)</li>
372
- <li><a href="https://unlimited-elements.com/type-writer-text-effect-for-elementor/">Typewriter Text Effect for Elementor (Pro)</li>
373
- <li><a href="https://unlimited-elements.com/scroll-reveal-text-widget-for-elementor/">Scroll Reveal Text for Elementor (Pro)</li>
374
- <li><a href="https://unlimited-elements.com/side-line-heading-widget-for-elementor/">Side Line Heading for Elementor (Pro)</li>
375
- </ol>
376
-
377
- <h3>Woocommerce for Elementor</h3>
378
- <ol>
379
- <li><a href="https://unlimited-elements.com/woocommerce-product-list-widget-for-elementor/">Woocommerce Product List for Elementor (Free)</li>
380
- <li><a href="https://unlimited-elements.com/woocommerce-product-carousel-widget-for-elementor">Woocommerce Product Carousel for Elementor (Pro)</li>
381
- <li><a href="https://unlimited-elements.com/woocommerce-product-grid-widget-for-elementor/">Woocommerce Product Grid for Elementor (Pro)</li>
382
- <li><a href="https://unlimited-elements.com/woocommerce-product-grid-widget-for-elementor/">Woocommerce Product Grid - copy for Elementor (Pro)</li>
383
- <li><a href="https://unlimited-elements.com/woocommerce-category-grid-for-elemenetor/">Woocommerce Category Grid for Elementor (Pro)</li>
384
- <li><a href="https://unlimited-elements.com/woocommerce-category-carousel-widget-for-elementor/">Woocommerce Category Carousel for Elementor (Pro)</li>
385
- </ol>
386
-
387
- <h3>Opening Hours for Elementor</h3>
388
- <ol>
389
- <li><a href="https://unlimited-elements.com/opening-hours-list-widget-for-elementor">Opening Hours List for Elementor (Free)</li>
390
- <li><a href="https://unlimited-elements.com/opening-hours-table-widget-for-elementor">Opening Hours Table for Elementor (Free)</li>
391
- <li><a href="https://unlimited-elements.com/opening-hours-box-widget-for-elementor/">Opening Hours Box for Elementor (Free)</li>
392
- </ol>
393
-
394
  <h3>Product Boxes for Elementor</h3>
395
  <ol>
396
  <li><a href="https://unlimited-elements.com/price-label-product-box-widget-for-elementor/">Price Label Product Box for Elementor (Free)</li>
@@ -399,6 +358,7 @@ Use any of are free widgets or upgrade to our pro version and enjoy +200 more un
399
  <li><a href="https://unlimited-elements.com/slide-up-product-box-widget-for-elementor">Slide Up Product Box for Elementor (Pro)</li>
400
  <li><a href="https://unlimited-elements.com/button-overlay-product-box-widget-for-elementor">Button Overlay Product Box for Elementor (Pro)</li>
401
  <li><a href="https://unlimited-elements.com/overlay-slide-product-box-widget-for-elementor">Overlay Slide Product Box for Elementor (Pro)</li>
 
402
  <li><a href="https://unlimited-elements.com/slider-product-box-widget-for-elementor/">Slider Product Box for Elementor (Pro)</li>
403
  </ol>
404
 
@@ -429,27 +389,6 @@ Use any of are free widgets or upgrade to our pro version and enjoy +200 more un
429
  <li><a href="https://unlimited-elements.com/block-quote-slider-widget-for-elementor">Block Quote Slider for Elementor (Pro)</li>
430
  </ol>
431
 
432
- <h3>Creative Widgets for Elementor</h3>
433
- <ol>
434
- <li><a href="https://unlimited-elements.com/pulsing-icon-button-widget-for-elementor/">Pulsing Icon Button for Elementor (Free)</li>
435
- <li><a href="https://unlimited-elements.com/circle-number-widget-widget-for-elementor/">Circle Number for Elementor (Free)</li>
436
- <li><a href="https://unlimited-elements.com/statistic-counters-for-elementor">Statistic Counter for Elementor (Free)</li>
437
- <li><a href="https://unlimited-elements.com/animated-mouse-scroll-icon-widget-for-elementor/">Animated Mouse Scroll Icon for Elementor (Free)</li>
438
- <li><a href="https://unlimited-elements.com/image-tooltip-widget-for-elementor/">Image Tooltip for Elementor (Free)</li>
439
- <li><a href="https://unlimited-elements.com/svg-animation-widget-for-elementor">SVG Animation for Elementor (Free)</li>
440
- <li><a href="https://unlimited-elements.com/animated-hamburger-icon-for-elementor/">Animated Hamburger Icon for Elementor (Free)</li>
441
- <li><a href="https://unlimited-elements.com/blob-shape-widget-for-elementor/">Blob Shapes for Elementor (Free)</li>
442
- <li><a href="https://unlimited-elements.com/image-accordion-widget-for-elementor/">Image Accordion for Elementor (Pro)</li>
443
- <li><a href="https://unlimited-elements.com/image-zoom-magnifier-widget-for-elementor/">Image Zoom Magnifier for Elementor (Pro)</li>
444
- <li><a href="https://unlimited-elements.com/image-reveal-on-scroll-widget-for-elementor">Image Reveal On Scroll for Elementor (Pro)</li>
445
- <li><a href="https://unlimited-elements.com/notification-widget-for-elementor">Notification for Elementor (Pro)</li>
446
- <li><a href="https://unlimited-elements.com/image-shapes-for-elementor-page-builder/">Image Shapes for Elementor (Pro)</li>
447
- <li><a href="https://unlimited-elements.com/before-after-image-comparison-widget-for-elementor/">Before After for Elementor (Pro)</li>
448
- <li><a href="https://unlimited-elements.com/hotspots-for-elementor-page-builder/">Hotspots for Elementor (Pro)</li>
449
- <li><a href="https://unlimited-elements.com/background-switcher-widget-for-elementor/">Background Switcher for Elementor (Pro)</li>
450
- <li><a href="https://unlimited-elements.com/interactive-circle-infographic-widget-for-elementor/">Interactive Circle Infographic for Elementor (Pro)</li>
451
- </ol>
452
-
453
  <h3>Timelines for Elementor</h3>
454
  <ol>
455
  <li><a href="https://unlimited-elements.com/alternating-timeline-widget-for-elementor">Alternating Timeline for Elementor (Free)</li>
@@ -463,13 +402,6 @@ Use any of are free widgets or upgrade to our pro version and enjoy +200 more un
463
  <li><a href="https://unlimited-elements.com/alternating-card-timeline-widget-for-elementor">Alternating Card Timeline for Elementor (Pro)</li>
464
  </ol>
465
 
466
- <h3>Footer for Elementor</h3>
467
- <ol>
468
- <li><a href="https://unlimited-elements.com/material-footer-card-widget-for-elementor">Material Footer Card for Elementor (Free)</li>
469
- <li><a href="https://unlimited-elements.com/icon-footer-box-widget-for-elementor">Icon Footer Box for Elementor (Pro)</li>
470
- <li><a href="https://unlimited-elements.com/horizontal-footer-box-widget-for-elementor/">Horizontal Footer Box for Elementor (Pro)</li>
471
- </ol>
472
-
473
  <h3>Food Menus for Elementor</h3>
474
  <ol>
475
  <li><a href="https://unlimited-elements.com/food-menu-border-box-widget-for-elementor">Food Menu Border Box for Elementor (Free)</li>
@@ -480,6 +412,17 @@ Use any of are free widgets or upgrade to our pro version and enjoy +200 more un
480
  <li><a href="https://unlimited-elements.com/food-menu-carousel-widget-for-elementor">Food Menu Carousel for Elementor (Pro)</li>
481
  </ol>
482
 
 
 
 
 
 
 
 
 
 
 
 
483
  <h3>Content Tabs for Elementor</h3>
484
  <ol>
485
  <li><a href="https://unlimited-elements.com/icon-bullet-tabs-widget-for-elementor">Icon Bullet Tabs for Elementor (Pro)</li>
@@ -489,15 +432,13 @@ Use any of are free widgets or upgrade to our pro version and enjoy +200 more un
489
  <li><a href="https://unlimited-elements.com/border-icon-tabs-widget-for-elementor/">Border Icon Tabs for Elementor (Pro)</li>
490
  </ol>
491
 
492
- <h3>Content Accordions for Elementor</h3>
493
  <ol>
494
- <li><a href="https://unlimited-elements.com/faq-accordion-widget-for-elementor">Faq Accordion for Elementor (Free)</li>
495
- <li><a href="https://unlimited-elements.com/border-icon-accordion-widget-for-elementor/">Border Icon Accordion for Elementor (Pro)</li>
496
- <li><a href="https://unlimited-elements.com/icon-accordion-widget-for-elementor/">Icon Accordion for Elementor (Pro)</li>
497
- <li><a href="https://unlimited-elements.com/material-icon-accordion-widget-for-elementor">Material Icon Accordion for Elementor (Pro)</li>
498
- <li><a href="https://unlimited-elements.com/material-accordion-widget-for-elementor/">Material Accordion for Elementor (Pro)</li>
499
- <li><a href="https://unlimited-elements.com/rounded-accordion-widget-for-elementor/">Rounded accordion for Elementor (Pro)</li>
500
- <li><a href="https://unlimited-elements.com/rounded-color-accordion-widget-for-elementor">Rounded Color Accordion for Elementor (Pro)</li>
501
  </ol>
502
 
503
  <h3>Video Galleries for Elementor</h3>
@@ -580,6 +521,17 @@ Note : This plugin works with Elementor. Make sure you have [Elementor](https://
580
 
581
  == Changelog ==
582
 
 
 
 
 
 
 
 
 
 
 
 
583
  version 1.4.67 = 2021-03-12
584
 
585
  * Feature: added api connectivity to troubleshooting section
19
  Use any of are free widgets or upgrade to our pro version and enjoy +200 more unique widgets for Elementor. Each element comes with a bunch of options to control every possible setting. In case you are missing something you can easily add it using our unique Widget Creator Framework.
20
 
21
 
22
+ <h3>Woocommerce for Elementor</h3>
23
+ <ol>
24
+ <li><a href="https://unlimited-elements.com/woocommerce-product-list-widget-for-elementor/">Woocommerce Product List for Elementor (Free)</li>
25
+ <li><a href="https://unlimited-elements.com/woocommerce-product-carousel-widget-for-elementor">Woocommerce Product Carousel for Elementor (Pro)</li>
26
+ <li><a href="https://unlimited-elements.com/woocommerce-product-grid-widget-for-elementor/">Woocommerce Product Grid for Elementor (Pro)</li>
27
+ <li><a href="https://unlimited-elements.com/woocommerce-category-grid-for-elemenetor/">Woocommerce Category Grid for Elementor (Pro)</li>
28
+ <li><a href="https://unlimited-elements.com/woocommerce-category-carousel-widget-for-elementor/">Woocommerce Category Carousel for Elementor (Pro)</li>
29
+ </ol>
30
+
31
+ <h3>Post Widgets for Elementor</h3>
32
+ <ol>
33
+ <li><a href="https://unlimited-elements.com/post-news-ticker-widget-for-elementor">Post Ticker for Elementor (Free)</li>
34
+ <li><a href="https://unlimited-elements.com/post-list-widget-for-elementor">Post List for Elementor (Free)</li>
35
+ <li><a href="https://unlimited-elements.com/post-blocks-widget-for-elementor">Post Blocks for Elementor (Free)</li>
36
+ <li><a href="https://unlimited-elements.com/post-tabs-for-elementor/">Post Tabs for Elementor (Free)</li>
37
+ <li><a href="https://unlimited-elements.com/card-post-carousel-widget-for-elementor">Card Post Carousel for Elementor (Free)</li>
38
+ <li><a href="https://unlimited-elements.com/post-accordions-for-elementor/">Post Accordion for Elementor (Free)</li>
39
+ <li><a href="https://unlimited-elements.com/post-grid">Post Grid for Elementor (Pro)</li>
40
+ <li><a href="https://unlimited-elements.com/elementor-author-list-widget/">Author List for Elementor (Pro)</li>
41
+ <li><a href="https://unlimited-elements.com/masonry-post-grid-widget-for-elementor">Masonry Post Grid for Elementor (Pro)</li>
42
+ <li><a href="https://unlimited-elements.com/taxonomy-terms-widget-for-elementor/">Taxonomy Terms for Elementor (Pro)</li>
43
+ <li><a href="https://unlimited-elements.com/post-tiles-widget-for-elementor">Post Tile for Elementor (Pro)</li>
44
+ <li><a href="https://unlimited-elements.com/post-timeline-widget-for-elementor/">Post Timeline for Elementor (Pro)</li>
45
+ <li><a href="https://unlimited-elements.com/post-pagination-widget-for-elementor/">Post Pagination for Elementor (Pro)</li>
46
+ <li><a href="https://unlimited-elements.com/post-carousels-for-elementor/">Post Carousel for Elementor (Pro)</li>
47
+ <li><a href="https://unlimited-elements.com/post-sliders/">Post Slider for Elementor (Pro)</li>
48
+ <li><a href="https://unlimited-elements.com/blog-card-slider-widget-for-elementor">Post Card Slider for Elementor (Pro)</li>
49
+ <li><a href="https://unlimited-elements.com/post-scroll-widget-for-elementor">Post Scroll for Elementor (Pro)</li>
50
+ <li><a href="https://unlimited-elements.com/post-gallery-widget-for-elementor">Post Gallery for Elementor (Pro)</li>
51
+ </ol>
52
+
53
+ <h3>Creative Widgets for Elementor</h3>
54
+ <ol>
55
+ <li><a href="https://unlimited-elements.com/blob-shape-widget-for-elementor/">Blob Shapes for Elementor (Free)</li>
56
+ <li><a href="https://unlimited-elements.com/animated-mouse-scroll-icon-widget-for-elementor/">Animated Mouse Scroll Icon for Elementor (Free)</li>
57
+ <li><a href="https://unlimited-elements.com/animated-hamburger-icon-for-elementor/">Animated Hamburger Icon for Elementor (Free)</li>
58
+ <li><a href="https://unlimited-elements.com/svg-animation-widget-for-elementor">SVG Animation for Elementor (Free)</li>
59
+ <li><a href="https://unlimited-elements.com/image-tooltip-widget-for-elementor/">Image Tooltip for Elementor (Free)</li>
60
+ <li><a href="https://unlimited-elements.com/circle-number-widget-widget-for-elementor/">Circle Number for Elementor (Free)</li>
61
+ <li><a href="https://unlimited-elements.com/statistic-counters-for-elementor">Statistic Counter for Elementor (Free)</li>
62
+ <li><a href="https://unlimited-elements.com/before-after-image-comparison-widget-for-elementor/">Before After for Elementor (Pro)</li>
63
+ <li><a href="https://unlimited-elements.com/hotspots-for-elementor-page-builder/">Hotspots for Elementor (Pro)</li>
64
+ <li><a href="https://unlimited-elements.com/background-switcher-widget-for-elementor/">Background Switcher for Elementor (Pro)</li>
65
+ <li><a href="https://unlimited-elements.com/audio-playlist-widget-for-elementor">Audio Playlist for Elementor (Pro)</li>
66
+ <li><a href="https://unlimited-elements.com/image-zoom-magnifier-widget-for-elementor/">Image Zoom Magnifier for Elementor (Pro)</li>
67
+ <li><a href="https://unlimited-elements.com/image-shapes-for-elementor-page-builder/">Image Shapes for Elementor (Pro)</li>
68
+ <li><a href="https://unlimited-elements.com/flip-box-widget-for-elementor/">Flip Box for Elementor (Pro)</li>
69
+ <li><a href="https://unlimited-elements.com/notification-widget-for-elementor">Notification for Elementor (Pro)</li>
70
+ <li><a href="https://unlimited-elements.com/image-accordion-widget-for-elementor/">Image Accordion for Elementor (Pro)</li>
71
+ <li><a href="https://unlimited-elements.com/image-reveal-on-scroll-widget-for-elementor">Image Reveal On Scroll for Elementor (Pro)</li>
72
+ <li><a href="https://unlimited-elements.com/interactive-circle-infographic-widget-for-elementor/">Interactive Circle Infographic for Elementor (Pro)</li>
73
+ <li><a href="https://unlimited-elements.com/audio-player-widget-for-elementor/">Audio Player for Elementor (Pro)</li>
74
+ </ol>
75
+
76
+ <h3>Menu Widgets for Elementor</h3>
77
+ <ol>
78
+ <li><a href="https://unlimited-elements.com/simple-fullscreen-navigation-menu-widget-for-elementor/">Fullscreen Navigation Menu for Elementor (Free)</li>
79
+ <li><a href="https://unlimited-elements.com/simple-list-menu-widget-for-elementor">Simple List Menu for Elementor (Free)</li>
80
+ <li><a href="https://unlimited-elements.com/liquid-fullscreen-menu-widget-for-elementor">Liquid Full Screen Menu for Elementor (Pro)</li>
81
+ <li><a href="http://unlimited-elements.com/side-menu-widget-for-elementor">Side Menu for Elementor (Pro)</li>
82
+ <li><a href="https://unlimited-elements.com/bullet-one-page-scroll-navigation-widget-for-elementor">Bullet One Page Scroll Navigation for Elementor (Pro)</li>
83
+ <li><a href="https://unlimited-elements.com/icon-one-page-scroll-navigation-widget-for-elementor/">Icon One Page Scroll Navigation for Elementor (Pro)</li>
84
+ <li><a href="https://unlimited-elements.com/accordion-menu-widget-for-elementor">Accordion Menu for Elementor (Pro)</li>
85
+ </ol>
86
+
87
+ <h3>Marketing Widgets for Elementor</h3>
88
+ <ol>
89
+ <li><a href="https://unlimited-elements.com/event-box-widget-for-elementor">Event Box for Elementor (Free)</li>
90
+ <li><a href="https://unlimited-elements.com/price-list-widget-for-elementor/">Price List for Elementor (Free)</li>
91
+ <li><a href="https://unlimited-elements.com/pricing-table-widget-for-elementor/">Pricing Table for Elementor (Free)</li>
92
+ <li><a href="https://unlimited-elements.com/timer-countdowns-for-elementor-page-builder/">Timer Countdown for Elementor (Free)</li>
93
+ <li><a href="https://unlimited-elements.com/call-to-action-button-widget-for-elementor/">Call To Action Button for Elementor (Free)</li>
94
+ <li><a href="https://unlimited-elements.com/review-box-widget-for-elementor">Review Box for Elementor (Free)</li>
95
+ <li><a href="https://unlimited-elements.com/copy-coupon-code-widget-for-elementor">Copy Coupon Code for Elementor (Pro)</li>
96
+ <li><a href="https://unlimited-elements.com/mobile-conversion-menu-for-elementor">Mobile Conversion Menu for Elementor (Pro)</li>
97
+ <li><a href="https://unlimited-elements.com/icon-mobile-menu-for-elementor">Icon Mobile Menu for Elementor (Pro)</li>
98
+ <li><a href="https://unlimited-elements.com/pricing-box-widget-for-elementor/">Price Box for Elementor (Pro)</li>
99
+ <li><a href="https://unlimited-elements.com/event-list-widget-for-elementor/">Event List for Elementor (Pro)</li>
100
+ <li><a href="https://unlimited-elements.com/pricing-flip-box-widget-for-elementor/">Pricing Table Flip Box for Elementor (Pro)</li>
101
+ <li><a href="https://unlimited-elements.com/list-marquee-widget-for-elementor/">List Marquee for Elementor (Pro)</li>
102
+ <li><a href="https://unlimited-elements.com/card-testimonial-review-carousel-widget-for-elementor">Review Carousel for Elementor (Pro)</li>
103
+ <li><a href="https://unlimited-elements.com/timer-countdown-banner-widget-for-elementor">Timer Countdown Banner for Elementor (Pro)</li>
104
+ <li><a href="https://unlimited-elements.com/business-hours-widget-for-elementor">Business Hours for Elementor (Pro)</li>
105
+ </ol>
106
+
107
  <h3>Content Boxes for Elementor</h3>
108
  <ol>
109
  <li><a href="https://unlimited-elements.com/image-zoom-content-box-widget-for-elementor/">Image Zoom Content Box for Elementor (Free)</li>
112
  <li><a href="https://unlimited-elements.com/icon-image-content-box-widget-for-elementor">Icon Image Content Box for Elementor (Free)</li>
113
  <li><a href="https://unlimited-elements.com/icon-content-box-widget-for-elementor">Icon Content Box for Elementor (Free)</li>
114
  <li><a href="https://unlimited-elements.com/diagonal-content-box-widget-for-elementor">Diagonal Content Box for Elementor (Free)</li>
115
+ <li><a href="https://unlimited-elements.com/zoom-caption-reveal-content-box-widget-for-elementor">Zoom Caption Reveal Content Box for Elementor (Pro)</li>
116
  <li><a href="https://unlimited-elements.com/subtle-overlay-content-box-widget-for-elementor/">Subtle Overlay Content Box for Elementor (Pro)</li>
117
  <li><a href="https://unlimited-elements.com/border-hover-overlay-content-box-widget-for-elementor">Border Hover Overlay Content Box for Elementor (Pro)</li>
118
+ <li><a href="https://unlimited-elements.com/animated-border-content-box-widget-for-elementor">Animated Border Content Box for Elementor (Pro)</li>
119
  <li><a href="https://unlimited-elements.com/image-card-content-box-widget-for-elementor/">Overlay Content Box for Elementor (Pro)</li>
120
  <li><a href="https://unlimited-elements.com/shrink-content-box-widget-for-elementor/">Shrink Content Box for Elementor (Pro)</li>
121
  <li><a href="https://unlimited-elements.com/sliding-content-box-widget-for-elementor/">Sliding Content Box for Elementor (Pro)</li>
122
+ </ol>
123
+
124
+ <h3>Button Widgets for Elementor</h3>
125
+ <ol>
126
+ <li><a href="https://unlimited-elements.com/toggle-text-button-widget-for-elementor/">Toggle Text Button for Elementor (Free)</li>
127
+ <li><a href="https://unlimited-elements.com/gradient-button-widget-for-elementor/">Gradient Button for Elementor (Free)</li>
128
+ <li><a href="https://unlimited-elements.com/button-group-widget-for-elementor/">Button Group for Elementor (Free)</li>
129
+ <li><a href="https://unlimited-elements.com/multi-line-button-widget-for-elementor/">Multi Line Button for Elementor (Free)</li>
130
+ <li><a href="https://unlimited-elements.com/icon-pointer-button-widget-for-elementor/">Icon Pointer Button for Elementor (Free)</li>
131
+ <li><a href="https://unlimited-elements.com/underline-animated-button-widget-for-elementor/">Underline Animated Button for Elementor (Free)</li>
132
+ <li><a href="https://unlimited-elements.com/parellogram-button-widget-for-elementor/">Parellogram Button for Elementor (Free)</li>
133
+ <li><a href="https://unlimited-elements.com/border-button-effect-widget-for-elementor/">Border Button Effect for Elementor (Pro)</li>
134
+ <li><a href="https://unlimited-elements.com/gradient-hover-effect-button-widget-for-elementor/">Gradient Hover Effect Button for Elementor (Pro)</li>
135
+ <li><a href="https://unlimited-elements.com/simple-artistic-button-widget-for-elementor/">Simple Artistic Button for Elementor (Pro)</li>
136
+ <li><a href="https://unlimited-elements.com/angled-button-with-glint-effect-for-elementor/">Angled Button With Glint Effect for Elementor (Pro)</li>
137
+ <li><a href="https://unlimited-elements.com/neon-glowing-button-effect-widget-for-elementor/">Neon Glowing Button Effect for Elementor (Pro)</li>
138
+ <li><a href="https://unlimited-elements.com/icon-hover-effect-button-widget-for-elementor/">Icon Hover Effect Button for Elementor (Pro)</li>
139
+ <li><a href="https://unlimited-elements.com/gradient-button-widget-for-elementor/">Gradient Button Group for Elementor (Pro)</li>
140
+ <li><a href="https://unlimited-elements.com/glare-effect-button-widget-for-elementor/">Glare Effect Button for Elementor (Pro)</li>
141
+ </ol>
142
+
143
+ <h3>Carousel Widgets for Elementor</h3>
144
+ <ol>
145
+ <li><a href="https://unlimited-elements.com/card-carousel-widget-for-elementor/">Card Carousel for Elementor (Free)</li>
146
+ <li><a href="https://unlimited-elements.com/justified-image-carousel-widget-for-elementor/">Justified Image Carousel for Elementor (Pro)</li>
147
+ <li><a href="https://unlimited-elements.com/icon-carousel-widget-for-elementor/">Icon Carousel for Elementor (Pro)</li>
148
+ <li><a href="https://unlimited-elements.com/image-card-carousel-widget-for-elementor">Image Card Carousel for Elementor (Pro)</li>
149
+ <li><a href="https://unlimited-elements.com/material-carousel-widget-for-elementor/">Material Carousel for Elementor (Pro)</li>
150
+ <li><a href="https://unlimited-elements.com/overlay-carousel-widget-for-elementor">Overlay Carousel for Elementor (Pro)</li>
151
+ <li><a href="https://unlimited-elements.com/swipe-css-carousel-widget-for-elementor/">Swipe Css Carousel for Elementor (Pro)</li>
152
+ <li><a href="https://unlimited-elements.com/portfolio-carousel-widget-for-elementor/">Portfolio Carousel for Elementor (Pro)</li>
153
  </ol>
154
 
155
  <h3>Image Galleries for Elementor</h3>
157
  <li><a href="https://unlimited-elements.com/minimalistic-image-gallery-for-elementor/">Minimalistic Image Gallery for Elementor (Free)</li>
158
  <li><a href="https://unlimited-elements.com/tile-grid-image-gallery-for-elementor/">Tile Grid Image Gallery for Elementor (Free)</li>
159
  <li><a href="https://unlimited-elements.com/slider-image-gallery-for-elementor/">Slider Image Gallery for Elementor (Free)</li>
160
+ <li><a href="https://unlimited-elements.com/justified-columns-image-gallery-for-elementor">Justified Columns Image Gallery for Elementor (Pro)</li>
161
  <li><a href="https://unlimited-elements.com/carousel-slider-image-gallery-widget-for-elementor/">Carousel Slider Image Gallery for Elementor (Pro)</li>
162
+ <li><a href="https://unlimited-elements.com/video-and-image-gallery-grid-panel-widget-for-elementor/">Video and Image Gallery Grid Panel for Elementor (Pro)</li>
163
  <li><a href="https://unlimited-elements.com/carousel-image-gallery-for-elementor">Carousel Image Gallery for Elementor (Pro)</li>
 
164
  <li><a href="https://unlimited-elements.com/grid-panel-image-gallery-for-elementor">Grid Panel Image Gallery for Elementor (Pro)</li>
165
  <li><a href="https://unlimited-elements.com/basic-image-gallery-for-elementor/">Basic Image Gallery for Elementor (Pro)</li>
166
  </ol>
167
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
168
  <h3>Hero Widgets for Elementor</h3>
169
  <ol>
170
  <li><a href="https://unlimited-elements.com/title-hero-widget-for-elementor">Title Hero for Elementor (Free)</li>
171
+ <li><a href="https://unlimited-elements.com/box-hero-widget-for-elementor/">Box Hero for Elementor (Free)</li>
172
  <li><a href="https://unlimited-elements.com/split-hero-widget-for-elementor">Split Hero for Elementor (Free)</li>
173
  <li><a href="https://unlimited-elements.com/transparent-split-hero-widget-for-elementor">Transparent Split Hero for Elementor (Free)</li>
 
174
  <li><a href="https://unlimited-elements.com/border-hero-widget-for-elementor">Border Hero for Elementor (Free)</li>
175
  <li><a href="https://unlimited-elements.com/video-hero-widget-for-elementor/">Video Hero for Elementor (Pro)</li>
176
  <li><a href="https://unlimited-elements.com/split-video-hero-widget-for-elementor">Split Video Hero for Elementor (Pro)</li>
181
  <li><a href="https://unlimited-elements.com/solid-color-hero-widget-for-elementor">Solid Color Hero for Elementor (Pro)</li>
182
  </ol>
183
 
 
 
 
 
 
 
 
 
 
 
 
 
184
  <h3>Instagram Widgets for Elementor</h3>
185
  <ol>
 
186
  <li><a href="https://unlimited-elements.com/latest-instagram-image-widget-for-elementor">Latest Instagram Image for Elementor (Free)</li>
187
+ <li><a href="https://unlimited-elements.com/grid-instagram-widget-for-elementor">Instagram Grid for Elementor (Pro)</li>
188
  <li><a href="https://unlimited-elements.com/instagram-card-widget-for-elementor/">Instagram Card Widget for Elementor (Pro)</li>
189
  <li><a href="https://unlimited-elements.com/metro-instagram-widget-for-elementor">Metro Instagram Widget for Elementor (Pro)</li>
190
  <li><a href="https://unlimited-elements.com/instagram-teaser-box-for-elementor/">Instagram Teaser Box for Elementor (Pro)</li>
191
  </ol>
192
 
193
+ <h3>Logo Widgets for Elementor</h3>
194
  <ol>
195
+ <li><a href="https://unlimited-elements.com/logo-grid-widget-for-elementor/">Logo Grid for Elementor (Free)</li>
196
+ <li><a href="https://unlimited-elements.com/logo-card-widget-for-elementor">Logo Card for Elementor (Free)</li>
197
+ <li><a href="https://unlimited-elements.com/logo-carousel-widget-for-elementor/">Logo Carousel for Elementor (Pro)</li>
198
+ <li><a href="https://unlimited-elements.com/logo-marquee-widget-for-elementor">Logo Marquee for Elementor (Pro)</li>
199
+ </ol>
200
+
201
+ <h3>Typography for Elementor</h3>
202
+ <ol>
203
+ <li><a href="https://unlimited-elements.com/3d-text-effect-for-elementor/">3d Text for Elementor (Free)</li>
204
+ <li><a href="https://unlimited-elements.com/3d-extrude-text-effect-widget-for-elementor">3D Extrude Text Effect for Elementor (Free)</li>
205
+ <li><a href="https://unlimited-elements.com/gradient-underline-text-effect-widget-for-elementor/">Gradient Underline Text Effect for Elementor (Free)</li>
206
+ <li><a href="https://unlimited-elements.com/dual-color-heading-widget-for-elementor/">Dual Color Heading for Elementor (Free)</li>
207
+ <li><a href="https://unlimited-elements.com/text-marquee-for-elementor/">Text Marquee Effect for Elementor (Free)</li>
208
+ <li><a href="https://unlimited-elements.com/stroke-text-effect-widget-for-elementor/">Stroke Text Effect for Elementor (Free)</li>
209
+ <li><a href="https://unlimited-elements.com/gradient-text-effect-for-elementor/">Gradient Text Effect for Elementor (Free)</li>
210
+ <li><a href="https://unlimited-elements.com/sideways-vertical-text-widget-for-elementor">Sideways Vertical Text for Elementor (Pro)</li>
211
+ <li><a href="https://unlimited-elements.com/futuristic-typing-text-effect-widget-for-elementor/">Futuristic Typing Text Effect for Elementor (Pro)</li>
212
+ <li><a href="https://unlimited-elements.com/text-rotator-for-elementor-page-builder/">Text Rotator for Elementor (Pro)</li>
213
+ <li><a href="https://unlimited-elements.com/image-background-text-effect-widget-for-elementor/">Image Background Text Effect for Elementor (Pro)</li>
214
+ <li><a href="https://unlimited-elements.com/type-writer-text-effect-for-elementor/">Typewriter Text Effect for Elementor (Pro)</li>
215
+ <li><a href="https://unlimited-elements.com/scroll-reveal-text-widget-for-elementor/">Scroll Reveal Text for Elementor (Pro)</li>
216
+ <li><a href="https://unlimited-elements.com/side-line-heading-widget-for-elementor/">Side Line Heading for Elementor (Pro)</li>
217
+ </ol>
218
+
219
+ <h3>Footer for Elementor</h3>
220
+ <ol>
221
+ <li><a href="https://unlimited-elements.com/material-footer-card-widget-for-elementor">Material Footer Card for Elementor (Free)</li>
222
+ <li><a href="https://unlimited-elements.com/icon-footer-box-widget-for-elementor">Icon Footer Box for Elementor (Pro)</li>
223
+ <li><a href="https://unlimited-elements.com/horizontal-footer-box-widget-for-elementor/">Horizontal Footer Box for Elementor (Pro)</li>
224
  </ol>
225
 
226
  <h3>Icon Boxes for Elementor</h3>
227
  <ol>
228
  <li><a href="https://unlimited-elements.com/square-icon-box-widget-for-elementor">Square Icon Box for Elementor (Free)</li>
 
229
  <li><a href="https://unlimited-elements.com/twist-hover-icon-box-widget-for-elementor/">Twist Hover Icon Box for Elementor (Free)</li>
230
+ <li><a href="https://unlimited-elements.com/gradient-icon-box-widget-for-elementor">Gradient Icon Box for Elementor (Free)</li>
231
  <li><a href="https://unlimited-elements.com/material-card-icon-box-widget-for-elementor/">Material Card Icon Box for Elementor (Free)</li>
232
+ <li><a href="https://unlimited-elements.com/solid-color-icon-box-widget-for-elementor">Solid Color Icon Box for Elementor (Free)</li>
233
  <li><a href="https://unlimited-elements.com/circle-icon-box-widget-for-elementor">Circle Icon Box for Elementor (Free)</li>
234
+ <li><a href="https://unlimited-elements.com/border-hover-icon-box-widget-for-elementor">Border Hover Icon Box for Elementor (Free)</li>
235
  <li><a href="https://unlimited-elements.com/icon-button-number-box-widget-for-elementor">Icon Button Number Box for Elementor (Free)</li>
236
+ <li><a href="https://unlimited-elements.com/material-flip-box-for-elementor/">Icon Box Flip Box for Elementor (Free)</li>
237
+ <li><a href="https://unlimited-elements.com/animated-border-icon-box-widget-for-elementor/">Animated Border Icon Box for Elementor (Pro)</li>
 
 
 
238
  <li><a href="https://unlimited-elements.com/icon-box-hover-effect-widget-for-elementor/">Icon Box Hover Effect for Elementor (Pro)</li>
239
+ <li><a href="https://unlimited-elements.com/animated-icon-box-widget-for-elementor/">Animated Icon Box for Elementor (Pro)</li>
240
  <li><a href="https://unlimited-elements.com/square-solid-hover-icon-box-widget-for-elementor/">Square Solid Hover Icon Box for Elementor (Pro)</li>
241
+ <li><a href="https://unlimited-elements.com/diamond-icon-box-widget-for-elementor/">Diamond Icon Box for Elementor (Pro)</li>
242
  <li><a href="https://unlimited-elements.com/square-border-icon-box-widget-for-elementor">Square Border Icon Box for Elementor (Pro)</li>
243
+ <li><a href="https://unlimited-elements.com/content-reveal-icon-box-widget-for-elementor/">Content Reveal Icon Box for Elementor (Pro)</li>
244
+ <li><a href="https://unlimited-elements.com/subtle-hover-icon-box-widget-for-elementor/">Subtle Hover Icon Box for Elementor (Pro)</li>
245
+ <li><a href="https://unlimited-elements.com/subtle-border-hover-icon-box-widget-for-elementor/">Subtle Border Hover Icon Box for Elementor (Pro)</li>
246
+ <li><a href="https://unlimited-elements.com/animated-line-icon-box-widget-for-elementor/">Animated Line Icon Box for Elementor (Pro)</li>
247
  <li><a href="https://unlimited-elements.com/solid-color-overlay-icon-box-widget-for-elementor">Solid Color Overlay Icon Box for Elementor (Pro)</li>
248
  </ol>
249
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
250
  <h3>Social Network Icons for Elementor</h3>
251
  <ol>
252
  <li><a href="https://unlimited-elements.com/glare-social-icons-widget-for-elementor/">Social Icons Glare Effect for Elementor (Free)</li>
254
  <li><a href="https://unlimited-elements.com/square-to-circle-social-icon-button-widgets-for-elementor">Square to Circle Social Icons for Elementor (Free)</li>
255
  <li><a href="https://unlimited-elements.com/rotating-social-icon-button-widgets-for-elementor">Rotating Social Icons for Elementor (Free)</li>
256
  <li><a href="https://unlimited-elements.com/label-social-icon-button-widgets-for-elementor">Social Icons With Label for Elementor (Free)</li>
 
257
  <li><a href="https://unlimited-elements.com/shape-social-icon-button-widgets-for-elementor">Shape Social Icons for Elementor (Pro)</li>
258
+ <li><a href="https://unlimited-elements.com/circle-fill-social-icon-button-widgets-for-elementor">Social Icons With Circle Fill Effect for Elementor (Pro)</li>
259
  </ol>
260
 
261
+ <h3>Content Widgets for Elementor</h3>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
262
  <ol>
263
+ <li><a href="https://unlimited-elements.com/content-tabs-widget-for-elementor/">Content Tabs for Elementor (Free)</li>
264
+ <li><a href="https://unlimited-elements.com/content-timeline-widget-for-elementor/">Content Timeline for Elementor (Free)</li>
265
+ <li><a href="https://unlimited-elements.com/content-accordion-widget-for-elementor/">Content Accordion for Elementor (Free)</li>
266
+ <li><a href="https://unlimited-elements.com/content-carousel-widget-for-elementor/">Content Carousel for Elementor (Pro)</li>
267
+ <li><a href="https://unlimited-elements.com/content-grid-widget-for-elementor/">Content Grid for Elementor (Pro)</li>
268
+ <li><a href="https://unlimited-elements.com/content-ticker-widget-for-elementor/">Content Ticker for Elementor (Pro)</li>
269
+ <li><a href="https://unlimited-elements.com/content-slider-widget-for-elementor">Content Slider for Elementor (Pro)</li>
270
+ <li><a href="https://unlimited-elements.com/content-toggle-widget-for-elementor/">Content Toggle for Elementor (Pro)</li>
 
 
271
  </ol>
272
 
273
  <h3>Team Members for Elementor</h3>
294
 
295
  <h3>Testimonials for Elementor</h3>
296
  <ol>
 
297
  <li><a href="https://unlimited-elements.com/box-testimonial-widget-for-elementor/">Box Testimonial for Elementor (Free)</li>
 
 
298
  <li><a href="https://unlimited-elements.com/testimonial-carousel-widget-for-elementor/">Testimonial Carousel for Elementor (Pro)</li>
 
299
  <li><a href="https://unlimited-elements.com/3d-testimonial-card-carousel-widget-for-elementor">3D Testimonial Card Carousel for Elementor (Pro)</li>
300
  <li><a href="https://unlimited-elements.com/background-image-testimonial-widget-for-elementor">Background Image Testimonial for Elementor (Pro)</li>
301
  <li><a href="https://unlimited-elements.com/horizontal-box-testimonial-widget-for-elementor/">Horizontal Box Testimonial for Elementor (Pro)</li>
303
  <li><a href="https://unlimited-elements.com/logo-card-testimonial-widget-for-elementor">Logo Card Testimonial for Elementor (Pro)</li>
304
  </ol>
305
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
306
  <h3>Progress Bar for Elementor</h3>
307
  <ol>
308
  <li><a href="https://unlimited-elements.com/linear-progress-bar-widget-for-elementor">Linear Progress Bar for Elementor (Free)</li>
327
  <li><a href="https://unlimited-elements.com/caption-hover-effects/">Caption Hover Effects for Elementor (Pro)</li>
328
  <li><a href="https://unlimited-elements.com/border-link-hover-effects-widget-for-elementor/">Border Link Hover Effects for Elementor (Pro)</li>
329
  <li><a href="https://unlimited-elements.com/banner-hover-effect-widgets-for-elementor/">Banner Hover Effects for Elementor (Pro)</li>
330
+ <li><a href="https://unlimited-elements.com/scrolling-screenshot-widget-for-elementor">Scrolling Screenshot for Elementor (Pro)</li>
331
  </ol>
332
 
333
  <h3>Lightbox Modal Popup for Elementor</h3>
339
 
340
  <h3>Bullet Lists for Elementor</h3>
341
  <ol>
 
 
342
  <li><a href="https://unlimited-elements.com/material-bullets-widget-for-elementor">Material Bullets for Elementor (Free)</li>
343
+ <li><a href="https://unlimited-elements.com/timeline-bullets-widget-for-elementor/">Timeline Bullets for Elementor (Free)</li>
344
  <li><a href="https://unlimited-elements.com/two-column-product-bullets-widget-for-elementor/">Two Column Product Bullets for Elementor (Pro)</li>
345
+ <li><a href="https://unlimited-elements.com/diamond-bullets-widget-for-elementor">Diamond Bullets for Elementor (Pro)</li>
346
+ <li><a href="https://unlimited-elements.com/alternating-color-background-bullets-widget-for-elementor">Alternating Color Background Bullets for Elementor (Pro)</li>
347
  <li><a href="https://unlimited-elements.com/alternating-timeline-bullets-widget-for-elementor">Alternating Timeline Bullets for Elementor (Pro)</li>
348
  <li><a href="https://unlimited-elements.com/rounded-icon-bullets-widget-for-elementor/">Rounded Icon Bullets for Elementor (Pro)</li>
349
  <li><a href="https://unlimited-elements.com/solid-bullets-widget-for-elementor/">Solid Bullets for Elementor (Pro)</li>
350
  <li><a href="https://unlimited-elements.com/product-bullets-widget-for-elementor">Product Bullets for Elementor (Pro)</li>
351
  </ol>
352
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
353
  <h3>Product Boxes for Elementor</h3>
354
  <ol>
355
  <li><a href="https://unlimited-elements.com/price-label-product-box-widget-for-elementor/">Price Label Product Box for Elementor (Free)</li>
358
  <li><a href="https://unlimited-elements.com/slide-up-product-box-widget-for-elementor">Slide Up Product Box for Elementor (Pro)</li>
359
  <li><a href="https://unlimited-elements.com/button-overlay-product-box-widget-for-elementor">Button Overlay Product Box for Elementor (Pro)</li>
360
  <li><a href="https://unlimited-elements.com/overlay-slide-product-box-widget-for-elementor">Overlay Slide Product Box for Elementor (Pro)</li>
361
+ <li><a href="https://unlimited-elements.com/image-product-flipbox-widget-for-elementor/">Product Flipbox for Elementor (Pro)</li>
362
  <li><a href="https://unlimited-elements.com/slider-product-box-widget-for-elementor/">Slider Product Box for Elementor (Pro)</li>
363
  </ol>
364
 
389
  <li><a href="https://unlimited-elements.com/block-quote-slider-widget-for-elementor">Block Quote Slider for Elementor (Pro)</li>
390
  </ol>
391
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
392
  <h3>Timelines for Elementor</h3>
393
  <ol>
394
  <li><a href="https://unlimited-elements.com/alternating-timeline-widget-for-elementor">Alternating Timeline for Elementor (Free)</li>
402
  <li><a href="https://unlimited-elements.com/alternating-card-timeline-widget-for-elementor">Alternating Card Timeline for Elementor (Pro)</li>
403
  </ol>
404
 
 
 
 
 
 
 
 
405
  <h3>Food Menus for Elementor</h3>
406
  <ol>
407
  <li><a href="https://unlimited-elements.com/food-menu-border-box-widget-for-elementor">Food Menu Border Box for Elementor (Free)</li>
412
  <li><a href="https://unlimited-elements.com/food-menu-carousel-widget-for-elementor">Food Menu Carousel for Elementor (Pro)</li>
413
  </ol>
414
 
415
+ <h3>Content Accordions for Elementor</h3>
416
+ <ol>
417
+ <li><a href="https://unlimited-elements.com/faq-accordion-widget-for-elementor">Faq Accordion for Elementor (Free)</li>
418
+ <li><a href="https://unlimited-elements.com/border-icon-accordion-widget-for-elementor/">Border Icon Accordion for Elementor (Pro)</li>
419
+ <li><a href="https://unlimited-elements.com/icon-accordion-widget-for-elementor/">Icon Accordion for Elementor (Pro)</li>
420
+ <li><a href="https://unlimited-elements.com/material-icon-accordion-widget-for-elementor">Material Icon Accordion for Elementor (Pro)</li>
421
+ <li><a href="https://unlimited-elements.com/material-accordion-widget-for-elementor/">Material Accordion for Elementor (Pro)</li>
422
+ <li><a href="https://unlimited-elements.com/rounded-accordion-widget-for-elementor/">Rounded accordion for Elementor (Pro)</li>
423
+ <li><a href="https://unlimited-elements.com/rounded-color-accordion-widget-for-elementor">Rounded Color Accordion for Elementor (Pro)</li>
424
+ </ol>
425
+
426
  <h3>Content Tabs for Elementor</h3>
427
  <ol>
428
  <li><a href="https://unlimited-elements.com/icon-bullet-tabs-widget-for-elementor">Icon Bullet Tabs for Elementor (Pro)</li>
432
  <li><a href="https://unlimited-elements.com/border-icon-tabs-widget-for-elementor/">Border Icon Tabs for Elementor (Pro)</li>
433
  </ol>
434
 
435
+ <h3>Google Charts for Elementor</h3>
436
  <ol>
437
+ <li><a href="https://unlimited-elements.com/pie-chart-for-elementor">Pie chart for Elementor (Free)</li>
438
+ <li><a href="https://unlimited-elements.com/line-chart-for-elementor">Line Chart for Elementor (Free)</li>
439
+ <li><a href="https://unlimited-elements.com/donut-chart-for-elementor">Donut Chart for Elementor (Pro)</li>
440
+ <li><a href="https://unlimited-elements.com/line-chart-for-elementor">Comparison Line Chart for Elementor (Pro)</li>
441
+ <li><a href="https://unlimited-elements.com/area-chart-for-elementor">Area Chart for Elementor (Pro)</li>
 
 
442
  </ol>
443
 
444
  <h3>Video Galleries for Elementor</h3>
521
 
522
  == Changelog ==
523
 
524
+ version 1.4.68 = 2021-03-22
525
+
526
+ * Feature: added include recently viewed products in woocommerce
527
+ * Feature: added option for default max posts in post selector
528
+ * Feature: added attribute type: Border Dimensions
529
+ * Feature: added attribute type: CSS Filters
530
+ * Feature: added attribute type: Hover Animations
531
+ * Fix: removed max posts from archive type post query selection, because has no control over pagination.
532
+ * Fix: fixed bug when instagram video images didn't show up
533
+
534
+
535
  version 1.4.67 = 2021-03-12
536
 
537
  * Feature: added api connectivity to troubleshooting section
release_log.txt CHANGED
@@ -1,5 +1,17 @@
1
 
2
 
 
 
 
 
 
 
 
 
 
 
 
 
3
  version 1.4.67
4
 
5
  -bug fix: fixed woo product price format for decimal prices
1
 
2
 
3
+ version 1.4.68
4
+
5
+ -feature: added include recently viewed products in woocommerce
6
+ -feature: added option for default max posts in post selector
7
+ -feature: added attribute type: Border Dimensions
8
+ -feature: added attribute type: CSS Filters
9
+ -feature: added attribute type: Hover Animations
10
+ -bug fix: removed max posts from archive type post query selection, because has no control over pagination.
11
+ -bug fix: fixed bug when instagram video images didn't show up
12
+ -bug fix: done some small css changes to the editor
13
+
14
+
15
  version 1.4.67
16
 
17
  -bug fix: fixed woo product price format for decimal prices
unlimited_elements.php CHANGED
@@ -4,12 +4,12 @@ Plugin Name: Unlimited Elements for Elementor
4
  Plugin URI: http://unlimited-elements.com
5
  Description: Unlimited Elements - Huge Widgets Pack for Elementor Page Builder, with html/css/js widget creator and editor
6
  Author: Unlimited Elements
7
- Version: 1.4.67
8
  Author URI: http://unlimited-elements.com
9
  Text Domain: unlimited-elements-for-elementor
10
  Domain Path: /languages
11
  Elementor tested up to: 3.1.4
12
- Elementor Pro tested up to: 3.1.1
13
  */
14
 
15
  if(!defined("UNLIMITED_ELEMENTS_INC"))
4
  Plugin URI: http://unlimited-elements.com
5
  Description: Unlimited Elements - Huge Widgets Pack for Elementor Page Builder, with html/css/js widget creator and editor
6
  Author: Unlimited Elements
7
+ Version: 1.4.68
8
  Author URI: http://unlimited-elements.com
9
  Text Domain: unlimited-elements-for-elementor
10
  Domain Path: /languages
11
  Elementor tested up to: 3.1.4
12
+ Elementor Pro tested up to: 3.2.1
13
  */
14
 
15
  if(!defined("UNLIMITED_ELEMENTS_INC"))
views/objects/addon_view.class.php CHANGED
@@ -1168,6 +1168,7 @@ class UniteCreatorAddonView{
1168
  $arrParams[] = $this->createChildParam("link");
1169
  $arrParams[] = $this->createChildParam("isvideo");
1170
  $arrParams[] = $this->createChildParam("num_video_views");
 
1171
 
1172
  return($arrParams);
1173
  }
1168
  $arrParams[] = $this->createChildParam("link");
1169
  $arrParams[] = $this->createChildParam("isvideo");
1170
  $arrParams[] = $this->createChildParam("num_video_views");
1171
+ $arrParams[] = $this->createChildParam("video_class");
1172
 
1173
  return($arrParams);
1174
  }