Slider by WD – Responsive Slider - Version 1.2.42

Version Description

  • Added: Possibility to hide layers on mobile.
  • Fixed: Zoom fade effect for first slide.
  • Fixed: Carousel on Firefox, Safari.
Download this release

Release Info

Developer 10web
Plugin Icon 128x128 Slider by WD – Responsive Slider
Version 1.2.42
Comparing to
See all releases

Code changes from version 1.2.41 to 1.2.42

admin/controllers/Sliders.php CHANGED
@@ -194,6 +194,7 @@ class SlidersController_wds {
194
  }
195
  $layers_row = $this->model->get_layers_row_data( $slide_ids );
196
  }
 
197
  $wds_global_options = get_option("wds_global_options", 0);
198
  $options_values = WDW_S_Library::get_values();
199
  $global_options = json_decode($wds_global_options);
@@ -737,7 +738,8 @@ class SlidersController_wds {
737
  $layer_id_array = explode(',', $layer_ids_string);
738
  foreach ($layer_id_array as $layer_id) {
739
  if ($layer_id) {
740
- $prefix = 'slide' . $slide_id . '_layer' . $layer_id;
 
741
  $json_string = (isset($params_array[$prefix . '_json']) ? $params_array[$prefix . '_json'] : '');
742
  $params_array_layer = json_decode($json_string, TRUE);
743
  $title = WDW_S_Library::esc_sanitize_data($params_array_layer, 'title', 'sanitize_text_field');
@@ -748,7 +750,8 @@ class SlidersController_wds {
748
  $target_attr_layer = (int) WDW_S_Library::esc_sanitize_data($params_array_layer, 'target_attr_layer', 'sanitize_text_field', 0);
749
  $left = WDW_S_Library::esc_sanitize_data($params_array_layer, 'left', 'sanitize_text_field');
750
  $top = WDW_S_Library::esc_sanitize_data($params_array_layer, 'top', 'sanitize_text_field');
751
- $start = WDW_S_Library::esc_sanitize_data($params_array_layer, 'start', 'sanitize_text_field');
 
752
  $end = WDW_S_Library::esc_sanitize_data($params_array_layer, 'end', 'sanitize_text_field');
753
  $published = (int) WDW_S_Library::esc_sanitize_data($params_array_layer, 'published', '',0);
754
  $color = WDW_S_Library::esc_sanitize_data($params_array_layer, 'color', 'sanitize_text_field');
@@ -816,6 +819,7 @@ class SlidersController_wds {
816
  'link' => $link,
817
  'left' => $left,
818
  'top' => $top,
 
819
  'start' => $start,
820
  'end' => $end,
821
  'published' => $published,
@@ -877,6 +881,7 @@ class SlidersController_wds {
877
  'link' => $link,
878
  'left' => $left,
879
  'top' => $top,
 
880
  'start' => $start,
881
  'end' => $end,
882
  'published' => $published,
194
  }
195
  $layers_row = $this->model->get_layers_row_data( $slide_ids );
196
  }
197
+
198
  $wds_global_options = get_option("wds_global_options", 0);
199
  $options_values = WDW_S_Library::get_values();
200
  $global_options = json_decode($wds_global_options);
738
  $layer_id_array = explode(',', $layer_ids_string);
739
  foreach ($layer_id_array as $layer_id) {
740
  if ($layer_id) {
741
+ $prefix = 'slide' . $slide_id . '_layer' . $layer_id;
742
+
743
  $json_string = (isset($params_array[$prefix . '_json']) ? $params_array[$prefix . '_json'] : '');
744
  $params_array_layer = json_decode($json_string, TRUE);
745
  $title = WDW_S_Library::esc_sanitize_data($params_array_layer, 'title', 'sanitize_text_field');
750
  $target_attr_layer = (int) WDW_S_Library::esc_sanitize_data($params_array_layer, 'target_attr_layer', 'sanitize_text_field', 0);
751
  $left = WDW_S_Library::esc_sanitize_data($params_array_layer, 'left', 'sanitize_text_field');
752
  $top = WDW_S_Library::esc_sanitize_data($params_array_layer, 'top', 'sanitize_text_field');
753
+ $hide_on_mobile = WDW_S_Library::esc_sanitize_data($params_array_layer, 'hide_on_mobile', 'intval', 0);
754
+ $start = WDW_S_Library::esc_sanitize_data($params_array_layer, 'start', 'sanitize_text_field');
755
  $end = WDW_S_Library::esc_sanitize_data($params_array_layer, 'end', 'sanitize_text_field');
756
  $published = (int) WDW_S_Library::esc_sanitize_data($params_array_layer, 'published', '',0);
757
  $color = WDW_S_Library::esc_sanitize_data($params_array_layer, 'color', 'sanitize_text_field');
819
  'link' => $link,
820
  'left' => $left,
821
  'top' => $top,
822
+ 'hide_on_mobile' => $hide_on_mobile,
823
  'start' => $start,
824
  'end' => $end,
825
  'published' => $published,
881
  'link' => $link,
882
  'left' => $left,
883
  'top' => $top,
884
+ 'hide_on_mobile' => $hide_on_mobile,
885
  'start' => $start,
886
  'end' => $end,
887
  'published' => $published,
admin/views/Sliders.php CHANGED
@@ -2516,7 +2516,8 @@ class SlidersView_wds extends AdminView_wds {
2516
  'link_to_slide' => '',
2517
  'imgtransparent' => 0,
2518
  'published' => 1,
2519
- 'start' => $default_global_options->default_layer_start,
 
2520
  'layer_effect_in' => $default_global_options->default_layer_effect_in,
2521
  'duration_eff_in' => $default_global_options->default_layer_duration_eff_in,
2522
  'infinite_in' => $default_global_options->default_layer_infinite_in,
@@ -2549,6 +2550,7 @@ class SlidersView_wds extends AdminView_wds {
2549
  'link_to_slide' => $layer->link_to_slide,
2550
  'imgtransparent' => $layer->imgtransparent,
2551
  'published' => $layer->published,
 
2552
  'start' => $layer->start,
2553
  'layer_effect_in' => $layer->layer_effect_in,
2554
  'duration_eff_in' => $layer->duration_eff_in,
@@ -2564,6 +2566,7 @@ class SlidersView_wds extends AdminView_wds {
2564
  'shadow' => $layer->shadow,
2565
  'add_class' => $layer->add_class,
2566
  );
 
2567
  }
2568
  ob_start();
2569
  ?>
@@ -2661,6 +2664,11 @@ class SlidersView_wds extends AdminView_wds {
2661
  <div class="wd-table-col wd-table-col-50 wd-table-col-right">
2662
  <div class="wd-box-section">
2663
  <div class="wd-box-content">
 
 
 
 
 
2664
  <span class="wd-group">
2665
  <label class="wd-label" for="<?php echo $prefix; ?>_layer_effect_in"><?php _e('Effect In:', WDS()->prefix); ?></label>
2666
  <span style="display: inline-block;">
@@ -2761,7 +2769,7 @@ class SlidersView_wds extends AdminView_wds {
2761
  */
2762
  function wds_textLayerTemplates( $font_weights, $layer_callbacks, $slides_name, $layer_effects_in, $layer_effects_out, $border_styles, $text_alignments, $google_fonts, $font_families, $id=false, $prefix=false, $layer=false ) {
2763
  $default_global_options = $this->default_global_options;
2764
- $free_layer_effects = array('none', 'bounce', 'tada', 'bounceInDown', 'bounceOutUp', 'fadeInLeft', 'fadeOutRight');
2765
  $id = ( $id == "" ) ? '%%slideID%%' : $id;
2766
  $prefix = (isset($prefix) && $prefix != "") ? $prefix : 'slide'.$id.'_layerpr_%%LayerId%%';
2767
  if( $layer == "" ) {
@@ -2787,7 +2795,8 @@ class SlidersView_wds extends AdminView_wds {
2787
  'target_attr_layer' => 0,
2788
  'layer_callback_list' => $layer_callbacks,
2789
  'published' => 1,
2790
- 'start' => $default_global_options->default_layer_start,
 
2791
  'layer_effect_in' => $default_global_options->default_layer_effect_in,
2792
  'duration_eff_in' => $default_global_options->default_layer_duration_eff_in,
2793
  'infinite_in' => $default_global_options->default_layer_infinite_in,
@@ -2831,6 +2840,7 @@ class SlidersView_wds extends AdminView_wds {
2831
  'target_attr_layer' => $layer->target_attr_layer,
2832
  'layer_callback_list' => $layer->layer_callback_list,
2833
  'published' => $layer->published,
 
2834
  'start' => $layer->start,
2835
  'layer_effect_in' => $layer->layer_effect_in,
2836
  'duration_eff_in' => $layer->duration_eff_in,
@@ -3002,6 +3012,11 @@ class SlidersView_wds extends AdminView_wds {
3002
  <div class="wd-table-col wd-table-col-50 wd-table-col-right">
3003
  <div class="wd-box-section">
3004
  <div class="wd-box-content">
 
 
 
 
 
3005
  <span class="wd-group">
3006
  <label class="wd-label" for="<?php echo $prefix; ?>_layer_effect_in"><?php _e('Effect In:', WDS()->prefix); ?></label>
3007
  <span style="display: inline-block;">
@@ -3151,6 +3166,7 @@ class SlidersView_wds extends AdminView_wds {
3151
  'link' => '',
3152
  'target_attr_layer' => 0,
3153
  'published' => 1,
 
3154
  'start' => $default_global_options->default_layer_start,
3155
  'layer_effect_in' => $default_global_options->default_layer_effect_in,
3156
  'duration_eff_in' => $default_global_options->default_layer_duration_eff_in,
@@ -3188,6 +3204,7 @@ class SlidersView_wds extends AdminView_wds {
3188
  'link' => $layer->link,
3189
  'target_attr_layer' => $layer->target_attr_layer,
3190
  'published' => $layer->published,
 
3191
  'start' => $layer->start,
3192
  'layer_effect_in' => $layer->layer_effect_in,
3193
  'duration_eff_in' => $layer->duration_eff_in,
@@ -3283,6 +3300,11 @@ class SlidersView_wds extends AdminView_wds {
3283
  <div class="wd-table-col wd-table-col-50 wd-table-col-right">
3284
  <div class="wd-box-section">
3285
  <div class="wd-box-content">
 
 
 
 
 
3286
  <span class="wd-group">
3287
  <label class="wd-label" for="<?php echo $prefix; ?>_layer_effect_in"><?php _e('Effect In:', WDS()->prefix); ?></label>
3288
  <span style="display: inline-block;">
@@ -3389,7 +3411,8 @@ class SlidersView_wds extends AdminView_wds {
3389
  'link' => '',
3390
  'target_attr_layer' => 0,
3391
  'published' => 1,
3392
- 'start' => $default_global_options->default_layer_start,
 
3393
  'layer_effect_in' => $default_global_options->default_layer_effect_in,
3394
  'duration_eff_in' => $default_global_options->default_layer_duration_eff_in,
3395
  'infinite_in' => $default_global_options->default_layer_infinite_in,
@@ -3426,6 +3449,7 @@ class SlidersView_wds extends AdminView_wds {
3426
  'link' => $layer->link,
3427
  'target_attr_layer' => $layer->target_attr_layer,
3428
  'published' => $layer->published,
 
3429
  'start' => $layer->start,
3430
  'layer_effect_in' => $layer->layer_effect_in,
3431
  'duration_eff_in' => $layer->duration_eff_in,
@@ -3530,6 +3554,11 @@ class SlidersView_wds extends AdminView_wds {
3530
  <div class="wd-table-col wd-table-col-50 wd-table-col-right">
3531
  <div class="wd-box-section">
3532
  <div class="wd-box-content">
 
 
 
 
 
3533
  <span class="wd-group">
3534
  <label class="wd-label" for="<?php echo $prefix; ?>_layer_effect_in"><?php _e('Effect In:', WDS()->prefix); ?></label>
3535
  <span style="display: inline-block;">
@@ -3636,7 +3665,8 @@ class SlidersView_wds extends AdminView_wds {
3636
  'target_attr_layer' => 1,
3637
  'layer_callback_list' => $layer_callbacks,
3638
  'published' => 1,
3639
- 'start' => $default_global_options->default_layer_start,
 
3640
  'layer_effect_in' => $default_global_options->default_layer_effect_in,
3641
  'duration_eff_in' => $default_global_options->default_layer_duration_eff_in,
3642
  'infinite_in' => $default_global_options->default_layer_infinite_in,
@@ -3685,6 +3715,7 @@ class SlidersView_wds extends AdminView_wds {
3685
  'target_attr_layer' => $layer->target_attr_layer,
3686
  'layer_callback_list' => $layer->layer_callback_list,
3687
  'published' => $layer->published,
 
3688
  'start' => $layer->start,
3689
  'layer_effect_in' => $layer->layer_effect_in,
3690
  'duration_eff_in' => $layer->duration_eff_in,
@@ -3849,6 +3880,11 @@ class SlidersView_wds extends AdminView_wds {
3849
  <div class="wd-table-col wd-table-col-50 wd-table-col-right">
3850
  <div class="wd-box-section">
3851
  <div class="wd-box-content">
 
 
 
 
 
3852
  <span class="wd-group">
3853
  <label class="wd-label" for="<?php echo $prefix; ?>_layer_effect_in"><?php _e('Effect In:', WDS()->prefix); ?></label>
3854
  <span style="display: inline-block;">
@@ -4040,7 +4076,8 @@ class SlidersView_wds extends AdminView_wds {
4040
  'size' => 18,
4041
  'transparent' => 0,
4042
  'published' => 1,
4043
- 'start' => $default_global_options->default_layer_start,
 
4044
  'layer_effect_in' => $default_global_options->default_layer_effect_in,
4045
  'duration_eff_in' => $default_global_options->default_layer_duration_eff_in,
4046
  'infinite_in' => $default_global_options->default_layer_infinite_in,
@@ -4062,6 +4099,7 @@ class SlidersView_wds extends AdminView_wds {
4062
  'size' => $layer->size,
4063
  'transparent' => $layer->transparent,
4064
  'published' => $layer->published,
 
4065
  'start' => $layer->start,
4066
  'layer_effect_in' => $layer->layer_effect_in,
4067
  'duration_eff_in' => $layer->duration_eff_in,
@@ -4132,6 +4170,11 @@ class SlidersView_wds extends AdminView_wds {
4132
  <div class="wd-table-col wd-table-col-50 wd-table-col-right">
4133
  <div class="wd-box-section">
4134
  <div class="wd-box-content">
 
 
 
 
 
4135
  <span class="wd-group">
4136
  <label class="wd-label" for="<?php echo $prefix; ?>_layer_effect_in"><?php _e('Effect In:', WDS()->prefix);?></label>
4137
  <span style="display: inline-block;">
2516
  'link_to_slide' => '',
2517
  'imgtransparent' => 0,
2518
  'published' => 1,
2519
+ 'hide_on_mobile' => 0,
2520
+ 'start' => $default_global_options->default_layer_start,
2521
  'layer_effect_in' => $default_global_options->default_layer_effect_in,
2522
  'duration_eff_in' => $default_global_options->default_layer_duration_eff_in,
2523
  'infinite_in' => $default_global_options->default_layer_infinite_in,
2550
  'link_to_slide' => $layer->link_to_slide,
2551
  'imgtransparent' => $layer->imgtransparent,
2552
  'published' => $layer->published,
2553
+ 'hide_on_mobile' => $layer->hide_on_mobile,
2554
  'start' => $layer->start,
2555
  'layer_effect_in' => $layer->layer_effect_in,
2556
  'duration_eff_in' => $layer->duration_eff_in,
2566
  'shadow' => $layer->shadow,
2567
  'add_class' => $layer->add_class,
2568
  );
2569
+
2570
  }
2571
  ob_start();
2572
  ?>
2664
  <div class="wd-table-col wd-table-col-50 wd-table-col-right">
2665
  <div class="wd-box-section">
2666
  <div class="wd-box-content">
2667
+ <span class="wd-group">
2668
+ <label class="wd-label" for="<?php echo $prefix; ?>_hide_on_mobile"><?php _e('Hide on small screens', WDS()->prefix); ?></label>
2669
+ <input type="text" id="<?php echo $prefix; ?>_hide_on_mobile" name="<?php echo $prefix; ?>_hide_on_mobile" value="<?php echo $new_layer['hide_on_mobile']; ?> " class="spider_int_input" onkeypress="return spider_check_isnum(event)" /> px
2670
+ <p class="description"><?php _e('Hide layer when screen size is smaller than this value.', WDS()->prefix); ?></p>
2671
+ </span>
2672
  <span class="wd-group">
2673
  <label class="wd-label" for="<?php echo $prefix; ?>_layer_effect_in"><?php _e('Effect In:', WDS()->prefix); ?></label>
2674
  <span style="display: inline-block;">
2769
  */
2770
  function wds_textLayerTemplates( $font_weights, $layer_callbacks, $slides_name, $layer_effects_in, $layer_effects_out, $border_styles, $text_alignments, $google_fonts, $font_families, $id=false, $prefix=false, $layer=false ) {
2771
  $default_global_options = $this->default_global_options;
2772
+ $free_layer_effects = array('none', 'bounce', 'tada', 'bounceInDown', 'bounceOutUp', 'fadeInLeft', 'fadeOutRight');
2773
  $id = ( $id == "" ) ? '%%slideID%%' : $id;
2774
  $prefix = (isset($prefix) && $prefix != "") ? $prefix : 'slide'.$id.'_layerpr_%%LayerId%%';
2775
  if( $layer == "" ) {
2795
  'target_attr_layer' => 0,
2796
  'layer_callback_list' => $layer_callbacks,
2797
  'published' => 1,
2798
+ 'hide_on_mobile' => 0,
2799
+ 'start' => $default_global_options->default_layer_start,
2800
  'layer_effect_in' => $default_global_options->default_layer_effect_in,
2801
  'duration_eff_in' => $default_global_options->default_layer_duration_eff_in,
2802
  'infinite_in' => $default_global_options->default_layer_infinite_in,
2840
  'target_attr_layer' => $layer->target_attr_layer,
2841
  'layer_callback_list' => $layer->layer_callback_list,
2842
  'published' => $layer->published,
2843
+ 'hide_on_mobile' => $layer->hide_on_mobile,
2844
  'start' => $layer->start,
2845
  'layer_effect_in' => $layer->layer_effect_in,
2846
  'duration_eff_in' => $layer->duration_eff_in,
3012
  <div class="wd-table-col wd-table-col-50 wd-table-col-right">
3013
  <div class="wd-box-section">
3014
  <div class="wd-box-content">
3015
+ <span class="wd-group">
3016
+ <label class="wd-label" for="<?php echo $prefix; ?>_hide_on_mobile"><?php _e('Hide on small screens', WDS()->prefix); ?></label>
3017
+ <input type="text" id="<?php echo $prefix; ?>_hide_on_mobile" name="<?php echo $prefix; ?>_hide_on_mobile" value="<?php echo $new_layer['hide_on_mobile']; ?> " class="spider_int_input" onkeypress="return spider_check_isnum(event)" /> px
3018
+ <p class="description"><?php _e('Hide layer when screen size is smaller than this value.', WDS()->prefix); ?></p>
3019
+ </span>
3020
  <span class="wd-group">
3021
  <label class="wd-label" for="<?php echo $prefix; ?>_layer_effect_in"><?php _e('Effect In:', WDS()->prefix); ?></label>
3022
  <span style="display: inline-block;">
3166
  'link' => '',
3167
  'target_attr_layer' => 0,
3168
  'published' => 1,
3169
+ 'hide_on_mobile'=> 0,
3170
  'start' => $default_global_options->default_layer_start,
3171
  'layer_effect_in' => $default_global_options->default_layer_effect_in,
3172
  'duration_eff_in' => $default_global_options->default_layer_duration_eff_in,
3204
  'link' => $layer->link,
3205
  'target_attr_layer' => $layer->target_attr_layer,
3206
  'published' => $layer->published,
3207
+ 'hide_on_mobile' => $layer->hide_on_mobile,
3208
  'start' => $layer->start,
3209
  'layer_effect_in' => $layer->layer_effect_in,
3210
  'duration_eff_in' => $layer->duration_eff_in,
3300
  <div class="wd-table-col wd-table-col-50 wd-table-col-right">
3301
  <div class="wd-box-section">
3302
  <div class="wd-box-content">
3303
+ <span class="wd-group">
3304
+ <label class="wd-label" for="<?php echo $prefix; ?>_hide_on_mobile"><?php _e('Hide on small screens', WDS()->prefix); ?></label>
3305
+ <input type="text" id="<?php echo $prefix; ?>_hide_on_mobile" name="<?php echo $prefix; ?>_hide_on_mobile" value="<?php echo $new_layer['hide_on_mobile']; ?> " class="spider_int_input" onkeypress="return spider_check_isnum(event)" /> px
3306
+ <p class="description"><?php _e('Hide layer when screen size is smaller than this value.', WDS()->prefix); ?></p>
3307
+ </span>
3308
  <span class="wd-group">
3309
  <label class="wd-label" for="<?php echo $prefix; ?>_layer_effect_in"><?php _e('Effect In:', WDS()->prefix); ?></label>
3310
  <span style="display: inline-block;">
3411
  'link' => '',
3412
  'target_attr_layer' => 0,
3413
  'published' => 1,
3414
+ 'hide_on_mobile' => 0,
3415
+ 'start' => $default_global_options->default_layer_start,
3416
  'layer_effect_in' => $default_global_options->default_layer_effect_in,
3417
  'duration_eff_in' => $default_global_options->default_layer_duration_eff_in,
3418
  'infinite_in' => $default_global_options->default_layer_infinite_in,
3449
  'link' => $layer->link,
3450
  'target_attr_layer' => $layer->target_attr_layer,
3451
  'published' => $layer->published,
3452
+ 'hide_on_mobile' => $layer->hide_on_mobile,
3453
  'start' => $layer->start,
3454
  'layer_effect_in' => $layer->layer_effect_in,
3455
  'duration_eff_in' => $layer->duration_eff_in,
3554
  <div class="wd-table-col wd-table-col-50 wd-table-col-right">
3555
  <div class="wd-box-section">
3556
  <div class="wd-box-content">
3557
+ <span class="wd-group">
3558
+ <label class="wd-label" for="<?php echo $prefix; ?>_hide_on_mobile"><?php _e('Hide on small screens', WDS()->prefix); ?></label>
3559
+ <input type="text" id="<?php echo $prefix; ?>_hide_on_mobile" name="<?php echo $prefix; ?>_hide_on_mobile" value="<?php echo $new_layer['hide_on_mobile']; ?> " class="spider_int_input" onkeypress="return spider_check_isnum(event)" /> px
3560
+ <p class="description"><?php _e('Hide layer when screen size is smaller than this value.', WDS()->prefix); ?></p>
3561
+ </span>
3562
  <span class="wd-group">
3563
  <label class="wd-label" for="<?php echo $prefix; ?>_layer_effect_in"><?php _e('Effect In:', WDS()->prefix); ?></label>
3564
  <span style="display: inline-block;">
3665
  'target_attr_layer' => 1,
3666
  'layer_callback_list' => $layer_callbacks,
3667
  'published' => 1,
3668
+ 'hide_on_mobile' => 0,
3669
+ 'start' => $default_global_options->default_layer_start,
3670
  'layer_effect_in' => $default_global_options->default_layer_effect_in,
3671
  'duration_eff_in' => $default_global_options->default_layer_duration_eff_in,
3672
  'infinite_in' => $default_global_options->default_layer_infinite_in,
3715
  'target_attr_layer' => $layer->target_attr_layer,
3716
  'layer_callback_list' => $layer->layer_callback_list,
3717
  'published' => $layer->published,
3718
+ 'hide_on_mobile' => $layer->hide_on_mobile,
3719
  'start' => $layer->start,
3720
  'layer_effect_in' => $layer->layer_effect_in,
3721
  'duration_eff_in' => $layer->duration_eff_in,
3880
  <div class="wd-table-col wd-table-col-50 wd-table-col-right">
3881
  <div class="wd-box-section">
3882
  <div class="wd-box-content">
3883
+ <span class="wd-group">
3884
+ <label class="wd-label" for="<?php echo $prefix; ?>_hide_on_mobile"><?php _e('Hide on small screens', WDS()->prefix); ?></label>
3885
+ <input type="text" id="<?php echo $prefix; ?>_hide_on_mobile" name="<?php echo $prefix; ?>_hide_on_mobile" value="<?php echo $new_layer['hide_on_mobile']; ?> " class="spider_int_input" onkeypress="return spider_check_isnum(event)" /> px
3886
+ <p class="description"><?php _e('Hide layer when screen size is smaller than this value.', WDS()->prefix); ?></p>
3887
+ </span>
3888
  <span class="wd-group">
3889
  <label class="wd-label" for="<?php echo $prefix; ?>_layer_effect_in"><?php _e('Effect In:', WDS()->prefix); ?></label>
3890
  <span style="display: inline-block;">
4076
  'size' => 18,
4077
  'transparent' => 0,
4078
  'published' => 1,
4079
+ 'hide_on_mobile' => 0,
4080
+ 'start' => $default_global_options->default_layer_start,
4081
  'layer_effect_in' => $default_global_options->default_layer_effect_in,
4082
  'duration_eff_in' => $default_global_options->default_layer_duration_eff_in,
4083
  'infinite_in' => $default_global_options->default_layer_infinite_in,
4099
  'size' => $layer->size,
4100
  'transparent' => $layer->transparent,
4101
  'published' => $layer->published,
4102
+ 'hide_on_mobile' => $layer->hide_on_mobile,
4103
  'start' => $layer->start,
4104
  'layer_effect_in' => $layer->layer_effect_in,
4105
  'duration_eff_in' => $layer->duration_eff_in,
4170
  <div class="wd-table-col wd-table-col-50 wd-table-col-right">
4171
  <div class="wd-box-section">
4172
  <div class="wd-box-content">
4173
+ <span class="wd-group">
4174
+ <label class="wd-label" for="<?php echo $prefix; ?>_hide_on_mobile"><?php _e('Hide on small screens', WDS()->prefix); ?></label>
4175
+ <input type="text" id="<?php echo $prefix; ?>_hide_on_mobile" name="<?php echo $prefix; ?>_hide_on_mobile" value="<?php echo $new_layer['hide_on_mobile']; ?> " class="spider_int_input" onkeypress="return spider_check_isnum(event)" /> px
4176
+ <p class="description"><?php _e('Hide layer when screen size is smaller than this value.', WDS()->prefix); ?></p>
4177
+ </span>
4178
  <span class="wd-group">
4179
  <label class="wd-label" for="<?php echo $prefix; ?>_layer_effect_in"><?php _e('Effect In:', WDS()->prefix);?></label>
4180
  <span style="display: inline-block;">
framework/WDW_S_Library.php CHANGED
@@ -2288,6 +2288,16 @@ class WDW_S_Library {
2288
  foreach ($layers_rows[$slide_row->id] as $key => $layer) {
2289
  if ($layer->published) {
2290
  $prefix = 'wds_' . $wds . '_slide' . $slide_row->id . '_layer' . $layer->id;
 
 
 
 
 
 
 
 
 
 
2291
  switch ($layer->type) {
2292
  case 'text': {
2293
  ?>
@@ -2301,9 +2311,9 @@ class WDW_S_Library {
2301
  filter: "Alpha(opacity=<?php echo ($layer->layer_effect_in != 'none') ? '0' : '100'; ?>)" !important;
2302
  }
2303
  #wds_container1_<?php echo $wds; ?> #wds_container2_<?php echo $wds; ?> #<?php echo $prefix; ?>:hover {
2304
- color: #<?php echo $layer->hover_color_text; ?> !important;
2305
- }
2306
- <?php
2307
  break;
2308
  }
2309
  case 'image': {
@@ -2344,9 +2354,9 @@ class WDW_S_Library {
2344
  filter: "Alpha(opacity=<?php echo ($layer->layer_effect_in != 'none') ? '0' : '100'; ?>)" !important;
2345
  }
2346
  #wds_container1_<?php echo $wds; ?> #wds_container2_<?php echo $wds; ?> #<?php echo $prefix; ?>:hover {
2347
- color: #<?php echo $layer->hover_color; ?> !important;
2348
- }
2349
- <?php
2350
  break;
2351
  }
2352
  case 'hotspots': {
@@ -2364,7 +2374,7 @@ class WDW_S_Library {
2364
  opacity: <?php echo ($layer->layer_effect_in != 'none') ? '0 !important' : '1'; ?>;
2365
  filter: "Alpha(opacity=<?php echo ($layer->layer_effect_in != 'none') ? '0' : '100'; ?>)" !important;
2366
  }
2367
- <?php
2368
  break;
2369
  }
2370
  default:
2288
  foreach ($layers_rows[$slide_row->id] as $key => $layer) {
2289
  if ($layer->published) {
2290
  $prefix = 'wds_' . $wds . '_slide' . $slide_row->id . '_layer' . $layer->id;
2291
+ $hide_on_mobile = (isset($layer->hide_on_mobile) ? $layer->hide_on_mobile : 0);
2292
+ if ($hide_on_mobile) { ?>
2293
+ @media screen and (max-width: <?php echo intval($hide_on_mobile-1); ?>px){
2294
+ #wds_container1_<?php echo $wds; ?> #wds_container2_<?php echo $wds; ?> #<?php echo $prefix; ?>,
2295
+ #wds_container1_<?php echo $wds; ?> .hotspot_container {
2296
+ display: none !important;
2297
+ }
2298
+ }
2299
+ <?php
2300
+ }
2301
  switch ($layer->type) {
2302
  case 'text': {
2303
  ?>
2311
  filter: "Alpha(opacity=<?php echo ($layer->layer_effect_in != 'none') ? '0' : '100'; ?>)" !important;
2312
  }
2313
  #wds_container1_<?php echo $wds; ?> #wds_container2_<?php echo $wds; ?> #<?php echo $prefix; ?>:hover {
2314
+ color: #<?php echo $layer->hover_color_text; ?> !important;
2315
+ }
2316
+ <?php
2317
  break;
2318
  }
2319
  case 'image': {
2354
  filter: "Alpha(opacity=<?php echo ($layer->layer_effect_in != 'none') ? '0' : '100'; ?>)" !important;
2355
  }
2356
  #wds_container1_<?php echo $wds; ?> #wds_container2_<?php echo $wds; ?> #<?php echo $prefix; ?>:hover {
2357
+ color: #<?php echo $layer->hover_color; ?> !important;
2358
+ }
2359
+ <?php
2360
  break;
2361
  }
2362
  case 'hotspots': {
2374
  opacity: <?php echo ($layer->layer_effect_in != 'none') ? '0 !important' : '1'; ?>;
2375
  filter: "Alpha(opacity=<?php echo ($layer->layer_effect_in != 'none') ? '0' : '100'; ?>)" !important;
2376
  }
2377
+ <?php
2378
  break;
2379
  }
2380
  default:
frontend/models/WDSModelSlider.php CHANGED
@@ -172,8 +172,7 @@ class WDSModelSlider {
172
  $row->attr_width = 0;
173
  $row->attr_height = 0;
174
  }
175
- $row->image_url = str_replace('{site_url}', site_url(), $row->image_url);
176
-
177
  $row->title = WDW_S_Library::esc_data($row->title, 'esc_html');
178
  $row->attr_width = WDW_S_Library::esc_data($row->attr_width, 'esc_html');
179
  $row->attr_height = WDW_S_Library::esc_data($row->attr_height, 'esc_html');
@@ -184,6 +183,7 @@ class WDSModelSlider {
184
  $row->target_attr_layer = WDW_S_Library::esc_data($row->target_attr_layer, 'esc_html');
185
  $row->left = WDW_S_Library::esc_data($row->left, 'esc_html');
186
  $row->top = WDW_S_Library::esc_data($row->top, 'esc_html');
 
187
  $row->start = WDW_S_Library::esc_data($row->start, 'esc_html');
188
  $row->end = WDW_S_Library::esc_data($row->end, 'esc_html');
189
  $row->published = (int) WDW_S_Library::esc_data($row->published, 'esc_html');
172
  $row->attr_width = 0;
173
  $row->attr_height = 0;
174
  }
175
+ $row->image_url = str_replace('{site_url}', site_url(), $row->image_url);
 
176
  $row->title = WDW_S_Library::esc_data($row->title, 'esc_html');
177
  $row->attr_width = WDW_S_Library::esc_data($row->attr_width, 'esc_html');
178
  $row->attr_height = WDW_S_Library::esc_data($row->attr_height, 'esc_html');
183
  $row->target_attr_layer = WDW_S_Library::esc_data($row->target_attr_layer, 'esc_html');
184
  $row->left = WDW_S_Library::esc_data($row->left, 'esc_html');
185
  $row->top = WDW_S_Library::esc_data($row->top, 'esc_html');
186
+ $row->hide_on_mobile = (int) WDW_S_Library::esc_data($row->hide_on_mobile, 'esc_html');;
187
  $row->start = WDW_S_Library::esc_data($row->start, 'esc_html');
188
  $row->end = WDW_S_Library::esc_data($row->end, 'esc_html');
189
  $row->published = (int) WDW_S_Library::esc_data($row->published, 'esc_html');
frontend/views/WDSViewSlider.php CHANGED
@@ -256,7 +256,11 @@ class WDSViewSlider {
256
  <span data-img-id="wds_slideshow_image<?php echo $image_div_num; ?>_<?php echo $wds; ?>"
257
  class="wds_slideshow_image_<?php echo $wds; ?>"
258
  onclick="<?php echo $slide_row->link ? 'wds_slide_redirect_link(event, \'' . $slide_row->link . '\', \'' . ($slide_row->target_attr_slide ? '_blank' : '_self') . '\')' : ''; ?>"
259
- style="<?php echo $slide_row->link ? 'cursor: pointer;' : ''; ?><?php echo ((!$preload_images || $image_div_num == '') ? "background-image: url('" . ($is_instagram_image ? "//instagram.com/p/" . $slide_row->image_url . "/media/?size=l" : addslashes(htmlspecialchars_decode ($slide_row->image_url,ENT_QUOTES))) . "');" : ""); ?>"
 
 
 
 
260
  data-image-id="<?php echo $slide_row->id; ?>"
261
  data-image-key="<?php echo $key; ?>">
262
  <?php
256
  <span data-img-id="wds_slideshow_image<?php echo $image_div_num; ?>_<?php echo $wds; ?>"
257
  class="wds_slideshow_image_<?php echo $wds; ?>"
258
  onclick="<?php echo $slide_row->link ? 'wds_slide_redirect_link(event, \'' . $slide_row->link . '\', \'' . ($slide_row->target_attr_slide ? '_blank' : '_self') . '\')' : ''; ?>"
259
+ <?php if($slider_row->effect === 'zoomFade') { ?>
260
+ style="<?php echo $slide_row->link ? 'cursor: pointer;' : ''; ?>"
261
+ <?php } else { ?>
262
+ style="<?php echo $slide_row->link ? 'cursor: pointer;' : ''; ?><?php echo ((!$preload_images || $image_div_num == '') ? "background-image: url('" . ($is_instagram_image ? "//instagram.com/p/" . $slide_row->image_url . "/media/?size=l" : addslashes(htmlspecialchars_decode ($slide_row->image_url,ENT_QUOTES))) . "');" : ""); ?>"
263
+ <?php } ?>
264
  data-image-id="<?php echo $slide_row->id; ?>"
265
  data-image-key="<?php echo $key; ?>">
266
  <?php
js/wds.js CHANGED
@@ -307,6 +307,7 @@ function wds_spider_ajax_save(form_id, event) {
307
  json_data["static_layer"] = jQuery("input[name=" + prefix + "_static_layer]:checked").val();
308
  json_data["infinite_in"] = jQuery("input[name=" + prefix + "_infinite_in]").val();
309
  json_data["infinite_out"] = jQuery("input[name=" + prefix + "_infinite_out]").val();
 
310
  switch (type) {
311
  case "text":
312
  {
@@ -2306,6 +2307,7 @@ function wds_duplicate_layer(type, id, layerID, new_id) {
2306
  }
2307
  jQuery("#" + new_prefix + "_text").val(jQuery("#" + prefix + "_text").val());
2308
  jQuery("#" + new_prefix + "_link").val(jQuery("#" + prefix + "_link").val());
 
2309
  jQuery("#" + new_prefix + "_start").val(jQuery("#" + prefix + "_start").val());
2310
  jQuery("#" + new_prefix + "_end").val(jQuery("#" + prefix + "_end").val());
2311
  jQuery("#" + new_prefix + "_delay").val(jQuery("#" + prefix + "_delay").val());
@@ -4256,7 +4258,7 @@ jQuery(window).resize(function () {
4256
  /* Set preview container overflow width.*/
4257
  jQuery(".wds-preview-overflow").width(jQuery(".wd-slides-title").width());
4258
  });
4259
- /* Set slide title on chnage.*/
4260
  function wds_set_slide_title( id ) {
4261
  var val = jQuery('.wds_tab_title_wrap #title'+ id).val();
4262
  jQuery( '.wds_slide'+ id +' .wds_slide-title-'+ id ).html(val);
307
  json_data["static_layer"] = jQuery("input[name=" + prefix + "_static_layer]:checked").val();
308
  json_data["infinite_in"] = jQuery("input[name=" + prefix + "_infinite_in]").val();
309
  json_data["infinite_out"] = jQuery("input[name=" + prefix + "_infinite_out]").val();
310
+ json_data["hide_on_mobile"] = jQuery("#" + prefix + "_hide_on_mobile").val();
311
  switch (type) {
312
  case "text":
313
  {
2307
  }
2308
  jQuery("#" + new_prefix + "_text").val(jQuery("#" + prefix + "_text").val());
2309
  jQuery("#" + new_prefix + "_link").val(jQuery("#" + prefix + "_link").val());
2310
+ jQuery("#" + new_prefix + "_hide_on_mobile").val(jQuery("#" + prefix + "_hide_on_mobile").val());
2311
  jQuery("#" + new_prefix + "_start").val(jQuery("#" + prefix + "_start").val());
2312
  jQuery("#" + new_prefix + "_end").val(jQuery("#" + prefix + "_end").val());
2313
  jQuery("#" + new_prefix + "_delay").val(jQuery("#" + prefix + "_delay").val());
4258
  /* Set preview container overflow width.*/
4259
  jQuery(".wds-preview-overflow").width(jQuery(".wd-slides-title").width());
4260
  });
4261
+ /* Set slide title on change.*/
4262
  function wds_set_slide_title( id ) {
4263
  var val = jQuery('.wds_tab_title_wrap #title'+ id).val();
4264
  jQuery( '.wds_slide'+ id +' .wds_slide-title-'+ id ).html(val);
js/wds_frontend.js CHANGED
@@ -1,18 +1,18 @@
 
1
  var wds_carousel = [];
2
  var wds_currentlyMoving = [];
3
  var wds_currentCenterNum = [];
4
- var wds;
5
  var textLayerPosition = [];
 
6
 
7
  jQuery(window).resize(function () {
8
  wds_resize();
9
  });
10
 
11
  jQuery(document).ready(function () {
12
- wds_slider_ready();
13
  jQuery(".wds_slider_cont").each(function () {
14
  wds = jQuery(this).attr("data-wds");
15
- if (wds_params[wds].carousel == 1) {
16
  wds_currentlyMoving[wds] = false;
17
  wds_currentCenterNum[wds] = wds_params[wds].start_slide_num_car;
18
  wds_params[wds].wds_currentCenterNum = wds_currentCenterNum[wds];
@@ -23,7 +23,13 @@ jQuery(document).ready(function () {
23
  wds_carousel[jQuery(this).closest('div[class^="wds_slider_cont"]').attr("data-wds")].next();
24
  });
25
  }
 
 
 
 
 
26
  });
 
27
  });
28
 
29
  jQuery(window).on('load', function () {
@@ -737,7 +743,7 @@ function wds_change_image_when_loaded(wds, current_key, key, wds_data, from_effe
737
  if (int_curr_key > int_key) {
738
  direction = 'left';
739
  }
740
- else if (int_curr_key == int_key) {
741
  return;
742
  }
743
  /* From last slide to first.*/
@@ -971,6 +977,7 @@ function wds_change_image_when_loaded(wds, current_key, key, wds_data, from_effe
971
 
972
  if (wds_params[wds].slider_effect == 'zoomFade') {
973
  wds_genBgPos(next_image_class, wds, wds_params[wds].slideshow_interval);
 
974
  }
975
  wds_window_fixed_size(wds, next_image_class);
976
 
1
+ var wds;
2
  var wds_carousel = [];
3
  var wds_currentlyMoving = [];
4
  var wds_currentCenterNum = [];
 
5
  var textLayerPosition = [];
6
+ var wds_zoomfade_first_img = 0;
7
 
8
  jQuery(window).resize(function () {
9
  wds_resize();
10
  });
11
 
12
  jQuery(document).ready(function () {
 
13
  jQuery(".wds_slider_cont").each(function () {
14
  wds = jQuery(this).attr("data-wds");
15
+ if ( wds_params[wds].carousel == 1 ) {
16
  wds_currentlyMoving[wds] = false;
17
  wds_currentCenterNum[wds] = wds_params[wds].start_slide_num_car;
18
  wds_params[wds].wds_currentCenterNum = wds_currentCenterNum[wds];
23
  wds_carousel[jQuery(this).closest('div[class^="wds_slider_cont"]').attr("data-wds")].next();
24
  });
25
  }
26
+ /* Start first image with zoomFade */
27
+ if ( wds_params[wds].slider_effect === "zoomFade" ) {
28
+ start_slide_num = wds_params[wds].start_slide_num;
29
+ wds_change_image(wds, start_slide_num, start_slide_num, wds_params[wds].wds_data);
30
+ }
31
  });
32
+ wds_slider_ready();
33
  });
34
 
35
  jQuery(window).on('load', function () {
743
  if (int_curr_key > int_key) {
744
  direction = 'left';
745
  }
746
+ else if (int_curr_key == int_key && wds_zoomfade_first_img !== 0) {
747
  return;
748
  }
749
  /* From last slide to first.*/
977
 
978
  if (wds_params[wds].slider_effect == 'zoomFade') {
979
  wds_genBgPos(next_image_class, wds, wds_params[wds].slideshow_interval);
980
+ wds_zoomfade_first_img = 1;
981
  }
982
  wds_window_fixed_size(wds, next_image_class);
983
 
readme.txt CHANGED
@@ -2,9 +2,9 @@
2
  Contributors: webdorado,10web
3
  Tags: responsive slider, slider, slideshow, wordpress slider, image slider, gallery slider, images slider, Photo Slider, post slider, slider plugin
4
  Requires at least: 3.4
5
- Tested up to: 5.6
6
  Requires PHP: 5.2
7
- Stable tag: 1.2.41
8
  License: GPLv2 or later
9
  License URI: http://www.gnu.org/licenses/gpl-2.0.html
10
 
@@ -444,6 +444,10 @@ The plugin takes the full width of the widget area if the **Boxed Layout** in **
444
 
445
 
446
  == Changelog ==
 
 
 
 
447
 
448
  = 1.2.41 =
449
  * Fixed: Input styles in settings.
2
  Contributors: webdorado,10web
3
  Tags: responsive slider, slider, slideshow, wordpress slider, image slider, gallery slider, images slider, Photo Slider, post slider, slider plugin
4
  Requires at least: 3.4
5
+ Tested up to: 5.7
6
  Requires PHP: 5.2
7
+ Stable tag: 1.2.42
8
  License: GPLv2 or later
9
  License URI: http://www.gnu.org/licenses/gpl-2.0.html
10
 
444
 
445
 
446
  == Changelog ==
447
+ = 1.2.42 =
448
+ * Added: Possibility to hide layers on mobile.
449
+ * Fixed: Zoom fade effect for first slide.
450
+ * Fixed: Carousel on Firefox, Safari.
451
 
452
  = 1.2.41 =
453
  * Fixed: Input styles in settings.
slider-wd.php CHANGED
@@ -3,7 +3,7 @@
3
  * Plugin Name: Slider by 10Web
4
  * Plugin URI: https://10web.io/plugins/wordpress-slider/?utm_source=slider&utm_medium=free_plugin
5
  * Description: This is a responsive plugin, which allows adding sliders to your posts/pages and to custom location. It uses large number of transition effects and supports various types of layers.
6
- * Version: 1.2.41
7
  * Author: 10Web
8
  * Author URI: https://10web.io/pricing/?utm_source=slider&utm_medium=free_plugin
9
  * License: GNU/GPLv3 http://www.gnu.org/licenses/gpl-3.0.html
@@ -79,8 +79,8 @@ final class WDS {
79
  $this->plugin_dir = WP_PLUGIN_DIR . "/" . plugin_basename(dirname(__FILE__));
80
  $this->plugin_url = plugins_url(plugin_basename(dirname(__FILE__)));
81
  $this->main_file = plugin_basename(__FILE__);
82
- $this->plugin_version = '1.2.41';
83
- $this->db_version = '1.2.41';
84
  $this->prefix = 'wds';
85
  $this->nicename = __('Slider', $this->prefix);
86
  $this->use_home_url();
@@ -702,6 +702,7 @@ final class WDS {
702
  'social_button' => __('Social button', $this->prefix),
703
  'effect_in' => __('Effect in:', $this->prefix),
704
  'effect_out' => __('Effect out:', $this->prefix),
 
705
  'start' => __('Start', $this->prefix),
706
  'effect' => __('Effect', $this->prefix),
707
  'duration' => __('Duration', $this->prefix),
3
  * Plugin Name: Slider by 10Web
4
  * Plugin URI: https://10web.io/plugins/wordpress-slider/?utm_source=slider&utm_medium=free_plugin
5
  * Description: This is a responsive plugin, which allows adding sliders to your posts/pages and to custom location. It uses large number of transition effects and supports various types of layers.
6
+ * Version: 1.2.42
7
  * Author: 10Web
8
  * Author URI: https://10web.io/pricing/?utm_source=slider&utm_medium=free_plugin
9
  * License: GNU/GPLv3 http://www.gnu.org/licenses/gpl-3.0.html
79
  $this->plugin_dir = WP_PLUGIN_DIR . "/" . plugin_basename(dirname(__FILE__));
80
  $this->plugin_url = plugins_url(plugin_basename(dirname(__FILE__)));
81
  $this->main_file = plugin_basename(__FILE__);
82
+ $this->plugin_version = '1.2.42';
83
+ $this->db_version = '1.2.42';
84
  $this->prefix = 'wds';
85
  $this->nicename = __('Slider', $this->prefix);
86
  $this->use_home_url();
702
  'social_button' => __('Social button', $this->prefix),
703
  'effect_in' => __('Effect in:', $this->prefix),
704
  'effect_out' => __('Effect out:', $this->prefix),
705
+ 'hide_on_mobile' => __('Hide on small screens:', $this->prefix),
706
  'start' => __('Start', $this->prefix),
707
  'effect' => __('Effect', $this->prefix),
708
  'duration' => __('Duration', $this->prefix),
sliders-insert.php CHANGED
@@ -151,6 +151,7 @@ function wds_insert() {
151
  `link` mediumtext NOT NULL,
152
  `left` int(4) NOT NULL,
153
  `top` int(4) NOT NULL,
 
154
  `start` bigint(20) NOT NULL,
155
  `end` bigint(20) NOT NULL,
156
  `published` tinyint(1) NOT NULL,
151
  `link` mediumtext NOT NULL,
152
  `left` int(4) NOT NULL,
153
  `top` int(4) NOT NULL,
154
+ `hide_on_mobile` int(4) NOT NULL,
155
  `start` bigint(20) NOT NULL,
156
  `end` bigint(20) NOT NULL,
157
  `published` tinyint(1) NOT NULL,
sliders-update.php CHANGED
@@ -239,6 +239,9 @@ function wds_update($version) {
239
  if (version_compare($version, '1.2.33') == -1) {
240
  $wpdb->query("ALTER TABLE `" . $wpdb->prefix . "wdsslide` ADD `mute` tinyint(1) NOT NULL DEFAULT 1");
241
  }
 
 
 
242
 
243
  return;
244
  }
239
  if (version_compare($version, '1.2.33') == -1) {
240
  $wpdb->query("ALTER TABLE `" . $wpdb->prefix . "wdsslide` ADD `mute` tinyint(1) NOT NULL DEFAULT 1");
241
  }
242
+ if (version_compare($version, '1.2.42') == -1) {
243
+ $wpdb->query("ALTER TABLE `" . $wpdb->prefix . "wdslayer` ADD `hide_on_mobile` int(4) NOT NULL DEFAULT 0");
244
+ }
245
 
246
  return;
247
  }