myStickymenu - Version 2.2.5

Version Description

myStickyelements now works out-of-the-box with the following themes (which means you don't need to find your menu's class, it should work right after installation): Twenty Nineteen, Twenty Seventeen, Hello Elementor, OceanWP, Astra, Storefront, Twenty Sixteen, Neve, Hestia, Sydney, Shapely, GeneratePress, Mesmerize, Ashe, and Total. We've also added Google Lighthouse compatibility

Download this release

Release Info

Developer galdub
Plugin Icon 128x128 myStickymenu
Version 2.2.5
Comparing to
See all releases

Code changes from version 2.2.4 to 2.2.5

class-review-box.php ADDED
@@ -0,0 +1,211 @@
1
+ <?php
2
+ class myStickymenu_review_box {
3
+
4
+ public $plugin_name = "myStickymenu";
5
+
6
+ public $plugin_slug = "my-sticky-menu";
7
+
8
+ public function __construct() {
9
+
10
+ add_action("wp_ajax_".$this->plugin_slug."_review_box", array($this, "affiliate_program"));
11
+
12
+ add_action('admin_notices', array($this, 'admin_notices'));
13
+ }
14
+
15
+ public function affiliate_program() {
16
+ $nonce = filter_input(INPUT_POST, 'nonce', FILTER_SANITIZE_STRING);
17
+ $days = filter_input(INPUT_POST, 'days', FILTER_SANITIZE_STRING);
18
+ if(!empty($nonce) && wp_verify_nonce($nonce, $this->plugin_slug."_review_box")) {
19
+ if($days == -1) {
20
+ add_option($this->plugin_slug."_hide_review_box", "1");
21
+ } else {
22
+ $date = date("Y-m-d", strtotime("+".$days." days"));
23
+ update_option($this->plugin_slug."_show_review_box_after", $date);
24
+ }
25
+ }
26
+ die;
27
+ }
28
+
29
+ public function admin_notices() {
30
+ $is_hidden = get_option($this->plugin_slug."_hide_review_box");
31
+ if($is_hidden !== false) {
32
+ return;
33
+ }
34
+ $current_count = get_option($this->plugin_slug."_show_review_box_after");
35
+ if($current_count === false) {
36
+ $date = date("Y-m-d", strtotime("+7 days"));
37
+ add_option($this->plugin_slug."_show_review_box_after", $date);
38
+ return;
39
+ } else if($current_count < 35) {
40
+ return;
41
+ }
42
+ $date_to_show = get_option($this->plugin_slug."_show_review_box_after");
43
+ if($date_to_show !== false) {
44
+ $current_date = date("Y-m-d");
45
+ if($current_date < $date_to_show) {
46
+ return;
47
+ }
48
+ }
49
+ ?>
50
+ <style>
51
+ .<?php echo $this->plugin_slug ?>-premio-review-box p a {
52
+ display: inline-block;
53
+ float: right;
54
+ text-decoration: none;
55
+ color: #999999;
56
+ position: absolute;
57
+ right: 12px;
58
+ top: 12px;
59
+ }
60
+ .<?php echo $this->plugin_slug ?>-premio-review-box p a:hover, .<?php echo $this->plugin_slug ?>-premio-review-box p a:focus {
61
+ color: #333333;
62
+ }
63
+ .<?php echo $this->plugin_slug ?>-premio-review-box .button span {
64
+ display: inline-block;
65
+ line-height: 27px;
66
+ font-size: 16px;
67
+ }
68
+ .<?php echo $this->plugin_slug ?>-review-box-popup {
69
+ position: fixed;
70
+ width: 100%;
71
+ height: 100%;
72
+ z-index: 10001;
73
+ background: rgba(0,0,0,0.65);
74
+ top: 0;
75
+ left: 0;
76
+ display: none;
77
+ }
78
+ .<?php echo $this->plugin_slug ?>-review-box-popup-content {
79
+ background: #ffffff;
80
+ padding: 20px;
81
+ position: absolute;
82
+ max-width: 450px;
83
+ width: 100%;
84
+ margin: 0 auto;
85
+ top: 45%;
86
+ left: 0;
87
+ right: 0;
88
+ -webkit-border-radius: 5px;
89
+ -moz-border-radius: 5px;
90
+ border-radius: 5px;: ;
91
+ }
92
+ .<?php echo $this->plugin_slug ?>-review-box-title {
93
+ padding: 0 0 10px 0;
94
+ font-weight: bold;
95
+ }
96
+ .<?php echo $this->plugin_slug ?>-review-box-options a {
97
+ display: block;
98
+ margin: 5px 0 5px 0;
99
+ color: #333;
100
+ text-decoration: none;
101
+ }
102
+ .<?php echo $this->plugin_slug ?>-review-box-options a.dismiss {
103
+ color: #999;
104
+ }
105
+ .<?php echo $this->plugin_slug ?>-review-box-options a:hover, .affiliate-options a:focus {
106
+ color: #0073aa;
107
+ }
108
+ button.<?php echo $this->plugin_slug ?>-close-review-box-popup {
109
+ position: absolute;
110
+ top: 5px;
111
+ right: 0;
112
+ border: none;
113
+ background: transparent;
114
+ cursor: pointer;
115
+ }
116
+ a.button.button-primary.<?php echo $this->plugin_slug ?>-review-box-btn {
117
+ font-size: 14px;
118
+ background: #F51366;
119
+ color: #fff;
120
+ border: solid 1px #F51366;
121
+ border-radius: 3px;
122
+ line-height: 24px;
123
+ -webkit-box-shadow: 0 3px 5px -3px #333333;
124
+ -moz-box-shadow: 0 3px 5px -3px #333333;
125
+ box-shadow: 0 3px 5px -3px #333333;
126
+ text-shadow: none;
127
+ }
128
+ .notice.notice-info.premio-notice {
129
+ position: relative;
130
+ padding: 1px 30px 1px 12px;
131
+ }
132
+ .notice.notice-info.premio-notice ul li {
133
+ margin: 0;
134
+ }
135
+ .notice.notice-info.premio-notice ul li a {
136
+ color: #0073aa;
137
+ font-size: 14px;
138
+ text-decoration: underline;
139
+ }
140
+ .<?php echo $this->plugin_slug ?>-premio-review-box p {
141
+ display: inline-block;
142
+ line-height: 30px;
143
+ vertical-align: middle;
144
+ padding: 0 10px 0 0;
145
+ }
146
+ .<?php echo $this->plugin_slug ?>-premio-review-box p img {
147
+ width: 30px;
148
+ height: 30px;
149
+ display: inline-block;
150
+ margin: 0 10px;
151
+ vertical-align: middle;
152
+ border-radius: 15px;
153
+ }
154
+ </style>
155
+ <div class="notice notice-info premio-notice <?php echo $this->plugin_slug ?>-premio-review-box <?php echo $this->plugin_slug ?>-premio-review-box">
156
+ <p>
157
+ Hi there, it seems like <b><?php echo $this->plugin_name ?></b> is bringing you some value, and that's pretty awesome! Can you please show us some love and rate <?php echo $this->plugin_name ?> on WordPress? It'll only take 2 minutes of your time, and will really help us spread the word
158
+ - <b>Gal Dubinski</b>, Co-founder <img width="30px" src="<?php echo esc_url(plugin_dir_url(__FILE__)."images/premio-owner.png") ?>" />
159
+ <a href="javascript:;" class="dismiss-btn <?php echo $this->plugin_slug ?>-premio-review-dismiss-btn"><span class="dashicons dashicons-no-alt"></span></a>
160
+ </p>
161
+ <div class="clear clearfix"></div>
162
+ <ul>
163
+ <li><a class="<?php echo $this->plugin_slug ?>-premio-review-box-hide-btn" href="https://wordpress.org/support/plugin/mystickymenu/reviews/?filter=5" target="_blank">I'd love to help :)</a></li>
164
+ <li><a class="<?php echo $this->plugin_slug ?>-premio-review-box-future-btn" href="javascript:;">Not this time</a></li>
165
+ <li><a class="<?php echo $this->plugin_slug ?>-premio-review-box-hide-btn" href="javascript:;">I've already rated you</a></li>
166
+ </ul>
167
+ </div>
168
+ <div class="<?php echo $this->plugin_slug ?>-review-box-popup">
169
+ <div class="<?php echo $this->plugin_slug ?>-review-box-popup-content">
170
+ <button class="<?php echo $this->plugin_slug ?>-close-review-box-popup"><span class="dashicons dashicons-no-alt"></span></button>
171
+ <div class="<?php echo $this->plugin_slug ?>-review-box-title">Would you like us to remind you about this later?</div>
172
+ <div class="<?php echo $this->plugin_slug ?>-review-box-options">
173
+ <a href="javascript:;" data-days="3">Remind me in 3 days</a>
174
+ <a href="javascript:;" data-days="10">Remind me in 10 days</a>
175
+ <a href="javascript:;" data-days="-1" class="dismiss">Don't remind me about this</a>
176
+ </div>
177
+ </div>
178
+ </div>
179
+ <script>
180
+ jQuery(document).ready(function(){
181
+ jQuery("body").addClass("has-premio-box");
182
+ jQuery(document).on("click", ".<?php echo $this->plugin_slug ?>-premio-review-dismiss-btn, .<?php echo $this->plugin_slug ?>-premio-review-box-future-btn", function(){
183
+ jQuery(".<?php echo $this->plugin_slug ?>-review-box-popup").show();
184
+ });
185
+ jQuery(document).on("click", ".<?php echo $this->plugin_slug ?>-close-review-box-popup", function(){
186
+ jQuery(".<?php echo $this->plugin_slug ?>-review-box-popup").hide();
187
+ });
188
+ jQuery(document).on("click",".<?php echo $this->plugin_slug ?>-premio-review-box-hide-btn",function(){
189
+ jQuery(".<?php echo $this->plugin_slug ?>-review-box-options a:last").trigger("click");
190
+ });
191
+ jQuery(document).on("click", ".<?php echo $this->plugin_slug ?>-review-box-options a", function(){
192
+ var dataDays = jQuery(this).attr("data-days");
193
+ jQuery(".<?php echo $this->plugin_slug ?>-review-box-popup").remove();
194
+ jQuery(".<?php echo $this->plugin_slug ?>-premio-review-box").remove();
195
+ jQuery("body").removeClass("has-premio-box");
196
+ jQuery.ajax({
197
+ url: "<?php echo admin_url("admin-ajax.php") ?>",
198
+ data: "action=<?php echo esc_attr($this->plugin_slug) ?>_review_box&days="+dataDays+"&nonce=<?php echo esc_attr(wp_create_nonce($this->plugin_slug."_review_box")) ?>",
199
+ type: "post",
200
+ success: function() {
201
+ jQuery(".<?php echo $this->plugin_slug ?>-review-box-popup").remove();
202
+ jQuery(".<?php echo $this->plugin_slug ?>-premio-review-box").remove();
203
+ }
204
+ });
205
+ });
206
+ });
207
+ </script>
208
+ <?php
209
+ }
210
+ }
211
+ $myStickymenu_review_box = new myStickymenu_review_box();
css/mystickymenu-admin.css CHANGED
@@ -1502,6 +1502,7 @@ p.udner-title {
1502
border: 1px solid #E1E6E6;
1503
padding: 20px;
1504
border-radius: 7px;
1505
}
1506
.mysticky-welcomebar-header-title h3 {
1507
margin: 0;
@@ -1645,7 +1646,7 @@ a.create-rule {
1645
.mysticky-welcomebar-upgrade-main {
1646
position: relative;
1647
vertical-align: top;
1648
- width: 58%;
1649
padding-right: 10px;
1650
padding-bottom: 0;
1651
}
@@ -1665,7 +1666,7 @@ a.create-rule {
1665
float: left;
1666
1667
}
1668
- .mysticky-welcomebar-page-option .url-content .mysticky-welcomebar-url-select,
1669
.mysticky-welcomebar-page-option .url-content .mysticky-welcomebar-url-values,
1670
.mysticky-welcomebar-page-option .url-content .mysticky-welcomebar-url-option{
1671
width: 20%;
@@ -1675,15 +1676,67 @@ a.create-rule {
1675
text-align: right;
1676
margin-top: 10px;
1677
}
1678
- .mysticky-welcomebar-page-option .url-content select {
1679
width: 120px;
1680
}
1681
.mysticky-welcomebar-page-option .url-content input[type="text"] {
1682
height: 38px;
1683
padding: 0 15px;
1684
border-radius: 0;
1685
}
1686
- .mysticky-welcomebar-remove-rule {
1687
color: #fff;
1688
background-color: #666;
1689
text-decoration: none;
@@ -1701,9 +1754,9 @@ a.create-rule {
1701
vertical-align: top;
1702
}
1703
.mysticky-welcomebar-setting-right {
1704
- position: fixed;
1705
- top: 150px;
1706
- right: 70px;
1707
width: 500px;
1708
}
1709
.mysticky-welcomebar-header-title::after {
1502
border: 1px solid #E1E6E6;
1503
padding: 20px;
1504
border-radius: 7px;
1505
+ position: relative;
1506
}
1507
.mysticky-welcomebar-header-title h3 {
1508
margin: 0;
1646
.mysticky-welcomebar-upgrade-main {
1647
position: relative;
1648
vertical-align: top;
1649
+ width: 100%;
1650
padding-right: 10px;
1651
padding-bottom: 0;
1652
}
1666
float: left;
1667
1668
}
1669
+
1670
.mysticky-welcomebar-page-option .url-content .mysticky-welcomebar-url-values,
1671
.mysticky-welcomebar-page-option .url-content .mysticky-welcomebar-url-option{
1672
width: 20%;
1676
text-align: right;
1677
margin-top: 10px;
1678
}
1679
+
1680
+ /*.mysticky-welcomebar-page-option .url-content select {
1681
width: 120px;
1682
}
1683
+ */
1684
.mysticky-welcomebar-page-option .url-content input[type="text"] {
1685
height: 38px;
1686
padding: 0 15px;
1687
border-radius: 0;
1688
}
1689
+
1690
+ .mysticky-page-option .myStickymenu-upgrade {
1691
+ float: none;
1692
+ position: absolute;
1693
+ top: 0;
1694
+ left: 0;
1695
+ right: 0;
1696
+ text-align: center;
1697
+ background-color: rgba(0,0,0,0.6);
1698
+ bottom: 0;
1699
+ border-radius: 10px;
1700
+ display: flex;
1701
+ align-items: center;
1702
+ justify-content: center;
1703
+ }
1704
+ .mysticky-page-option {
1705
+ background-color: #fff;
1706
+ padding: 10px;
1707
+ margin-bottom: 10px;
1708
+ border: 1px solid #DCE2E2;
1709
+ border-radius: 10px;
1710
+ position: relative;
1711
+ }
1712
+ .mysticky-page-option .url-content {
1713
+ display: flex;
1714
+ align-items: center;
1715
+ }
1716
+ .mysticky-page-option .url-content > div {
1717
+ padding: 0 5px;
1718
+ }
1719
+ .mysticky-page-option .url-content > div.mysticky-welcomebar-url-box {
1720
+ width: 260px;
1721
+ text-align: right;
1722
+ }
1723
+ .mysticky-page-option .url-content > div.mysticky-welcomebar-url-box {
1724
+ width: 300px;
1725
+ }
1726
+ .mysticky-page-option .url-content select {
1727
+ width: 250px;
1728
+ }
1729
+ .mysticky-page-option .url-content input[type="text"] {
1730
+ height: 38px;
1731
+ padding: 0 15px;
1732
+ border-radius: 0;
1733
+ }
1734
+ .mystickymenu-page-target-wrap {
1735
+ padding-bottom: 20px;
1736
+ }
1737
+
1738
+ .mysticky-welcomebar-remove-rule ,
1739
+ .mysticky-remove-rule {
1740
color: #fff;
1741
background-color: #666;
1742
text-decoration: none;
1754
vertical-align: top;
1755
}
1756
.mysticky-welcomebar-setting-right {
1757
+ position: absolute;
1758
+ top: 32px;
1759
+ right: 50px;
1760
width: 500px;
1761
}
1762
.mysticky-welcomebar-header-title::after {
images/premio-owner.png ADDED
Binary file
js/mystickymenu-admin.js CHANGED
@@ -121,7 +121,8 @@
121
$( '#create-rule' ).on( 'click', function(){
122
var append_html = page_option_content.replace(/__count__/g, '1', page_option_content);
123
$( '.mysticky-welcomebar-page-options' ).append( append_html );
124
- $( this ).remove();
125
});
126
$( '.sticky-header-menu ul li a' ).on( 'click', function(){
127
if ( $( "#sticky-header-welcome-bar" ).is( ":visible" ) ) {
@@ -133,6 +134,45 @@
133
check_for_preview_pos();
134
}
135
});
136
/* welcome bar live preview */
137
/* Apply Wp Color Picker */
138
var myOptions = {
@@ -246,8 +286,9 @@
246
});
247
});
248
function check_for_preview_pos() {
249
if($(".show-on-apper").length && $(".mysticky-welcomebar-setting-right").length) {
250
- var topPos = $(".show-on-apper").offset().top - $(window).scrollTop() - 650;
251
if (topPos < 0) {
252
topPos = Math.abs(topPos);
253
jQuery(".mysticky-welcomebar-setting-right").css("margin-top", ((-1)*topPos)+"px");
@@ -255,6 +296,13 @@
255
jQuery(".mysticky-welcomebar-setting-right").css("margin-top", "0");
256
}
257
}
258
}
259
260
})(jQuery);
121
$( '#create-rule' ).on( 'click', function(){
122
var append_html = page_option_content.replace(/__count__/g, '1', page_option_content);
123
$( '.mysticky-welcomebar-page-options' ).append( append_html );
124
+ $( '.mysticky-welcomebar-page-options' ).show();
125
+ $( this ).parent().remove();
126
});
127
$( '.sticky-header-menu ul li a' ).on( 'click', function(){
128
if ( $( "#sticky-header-welcome-bar" ).is( ":visible" ) ) {
134
check_for_preview_pos();
135
}
136
});
137
+ /*Mysticky page target*/
138
+ var mysticky_total_page_option = 0;
139
+ var mysticky_page_option_content = "";
140
+ mysticky_total_page_option = $( '.mysticky-page-option' ).length;
141
+ mysticky_page_option_content = $( '.mysticky-page-options-html' ).html();
142
+ $( '.mysticky-page-options-html' ).remove();
143
+
144
+ $( '#mysticky_create-rule' ).on( 'click', function(){
145
+
146
+ var append_html = mysticky_page_option_content.replace(/__count__/g, mysticky_total_page_option, mysticky_page_option_content);
147
+ mysticky_total_page_option++;
148
+ $( '.mysticky-page-options' ).append( append_html );
149
+ $( '.mysticky-page-options .mysticky-page-option' ).removeClass( 'last' );
150
+ $( '.mysticky-page-options .mysticky-page-option:last' ).addClass( 'last' );
151
+
152
+ if( $( '.mysticky-page-option .myStickymenu-upgrade' ).length > 0 ) {
153
+ $( this ).remove();
154
+ }
155
+ });
156
+ $( document ).on( 'click', '.mysticky-remove-rule', function() {
157
+ $( this ).closest( '.mysticky-page-option' ).remove();
158
+ $( '.mysticky-page-options .mysticky-page-option' ).removeClass( 'last' );
159
+ $( '.mysticky-page-options .mysticky-page-option:last' ).addClass( 'last' );
160
+ });
161
+ $( document ).on( 'change', '.mysticky-url-options', function() {
162
+ var current_val = jQuery( this ).val();
163
+ var mysticky_welcomebar_siteURL = jQuery( '#mysticky_welcomebar_site_url' ).val();
164
+ var mysticky_welcomebar_newURL = mysticky_welcomebar_siteURL;
165
+ if( current_val == 'page_has_url' ) {
166
+ mysticky_welcomebar_newURL = mysticky_welcomebar_siteURL;
167
+ } else if( current_val == 'page_contains' ) {
168
+ mysticky_welcomebar_newURL = mysticky_welcomebar_siteURL + '%s%';
169
+ } else if( current_val == 'page_start_with' ) {
170
+ mysticky_welcomebar_newURL = mysticky_welcomebar_siteURL + 's%';
171
+ } else if( current_val == 'page_end_with' ) {
172
+ mysticky_welcomebar_newURL = mysticky_welcomebar_siteURL + '%s';
173
+ }
174
+ $( this ).closest( '.url-content' ).find( '.mysticky-welcomebar-url' ).text( mysticky_welcomebar_newURL );
175
+ });
176
/* welcome bar live preview */
177
/* Apply Wp Color Picker */
178
var myOptions = {
286
});
287
});
288
function check_for_preview_pos() {
289
+ var mysticky_welcomebar_form_pos = $( '#sticky-header-welcome-bar' ).offset().top;
290
if($(".show-on-apper").length && $(".mysticky-welcomebar-setting-right").length) {
291
+ var topPos = $(".show-on-apper").offset().top - $(window).scrollTop() - 700;
292
if (topPos < 0) {
293
topPos = Math.abs(topPos);
294
jQuery(".mysticky-welcomebar-setting-right").css("margin-top", ((-1)*topPos)+"px");
296
jQuery(".mysticky-welcomebar-setting-right").css("margin-top", "0");
297
}
298
}
299
+ if ( ( mysticky_welcomebar_form_pos + 32 ) < $(window).scrollTop() ) {
300
+ $( '.mysticky-welcomebar-setting-right' ).css( 'position', 'fixed' );
301
+ $( '.mysticky-welcomebar-setting-right' ).css( 'right', '70px' );
302
+ } else {
303
+ $( '.mysticky-welcomebar-setting-right' ).css( 'position', 'absolute' );
304
+ $( '.mysticky-welcomebar-setting-right' ).css( 'right', '50px' );
305
+ }
306
}
307
308
})(jQuery);
mystickymenu.php CHANGED
@@ -3,7 +3,7 @@
3
Plugin Name: myStickymenu
4
Plugin URI: https://premio.io/
5
Description: Simple sticky (fixed on top) menu implementation for navigation menu and Welcome bar for announcements and promotion. After install go to Settings / myStickymenu and change Sticky Class to .your_navbar_class or #your_navbar_id.
6
- Version: 2.2.4
7
Author: Premio
8
Author URI: https://premio.io/downloads/mystickymenu/
9
Text Domain: mystickymenu
@@ -12,10 +12,14 @@ License: GPLv2 or later
12
*/
13
14
defined('ABSPATH') or die("Cannot access pages directly.");
15
- define( 'MYSTICKY_VERSION', '2.2.4' );
16
require_once("mystickymenu-fonts.php");
17
require_once("welcome-bar.php");
18
19
class MyStickyMenuBackend
20
{
21
private $options;
@@ -159,7 +163,7 @@ class MyStickyMenuBackend
159
160
$mysticky_options = get_option( 'mysticky_option_name');
161
$is_old = get_option("has_sticky_header_old_version");
162
- $is_old = ($is_old == "no")?false:true;
163
$nonce = wp_create_nonce('mysticky_option_backend_update');
164
$pro_url = "https://go.premio.io/?edd_action=add_to_cart&download_id=2199&edd_options[price_id]=";
165
@@ -407,6 +411,94 @@ class MyStickyMenuBackend
407
</label>
408
</p>
409
</div>
410
<div class="mystickymenu-content-option">
411
<label class="mysticky_title css-style-title"><?php _e("CSS style", 'mystickymenu'); ?></label>
412
<span class="mysticky_text"><?php _e( 'Add/edit CSS style. Leave it blank for default style.', 'mystickymenu');?></span>
@@ -528,6 +620,7 @@ class MyStickyMenuBackend
528
<p></p>
529
</div>
530
</div>
531
</div>
532
<p class="submit">
533
<input type="submit" name="submit" id="submit" class="button button-primary" value="<?php _e('Save', 'mystickymenu');?>">
@@ -564,7 +657,7 @@ class MyStickyMenuBackend
564
<div class="rpt_feature rpt_feature_0-1"><a href="javascript:;" class="rpt_tooltip"><span class="intool"><b></b>You can show the menu when scrolling up, down or both</span>Show on scroll up/down<span class="rpt_tooltip_plus" > +</span></a></div>
565
<div class="rpt_feature rpt_feature_0-2"><a href="javascript:;" class="rpt_tooltip"><span class="intool"><b></b>You can disable the sticky effect on desktop or mobile</span>Devices<span class="rpt_tooltip_plus" > +</span></a></div>
566
<div class="rpt_feature rpt_feature_0-3"><a href="javascript:;" class="rpt_tooltip"><span class="intool"><b></b>Add CSS of your own to the sticky menu</span>CSS style<span class="rpt_tooltip_plus" > +</span></a></div>
567
- <div class="rpt_feature rpt_feature_0-4"><a href="javascript:;" class="rpt_tooltip"><span class="intool"><b></b>Exclude pages you don't want to have sticky menu</span>Page targeting<span class="rpt_tooltip_plus" > +</span></a></div>
568
<div class="rpt_feature rpt_feature_0-5"><a href="javascript:;" class="rpt_tooltip"><span class="intool"><b></b>Fade/Slide, opacity, background color, transition time and more</span>Effects and more<span class="rpt_tooltip_plus" > +</span></a></div>
569
<div class="rpt_feature rpt_feature_0-6"><a href="javascript:;" class="rpt_tooltip"><span class="intool"><b></b>Including page targeting, delay and scroll triggers, devices, position, height, expiry date, open link in a new tab and remove credit</span>Welcome bar<span class="rpt_tooltip_plus"> +</span></a></div>
570
<div class="rpt_feature rpt_feature_0-9">
@@ -597,7 +690,7 @@ class MyStickyMenuBackend
597
<div class="rpt_feature rpt_feature_1-1"><a href="javascript:;" class="rpt_tooltip"><span class="intool"><b></b>You can show the menu when scrolling up, down or both</span>Show on scroll up/down<span class="rpt_tooltip_plus" > +</span></a></div>
598
<div class="rpt_feature rpt_feature_1-2"><a href="javascript:;" class="rpt_tooltip"><span class="intool"><b></b>You can disable the sticky effect on desktop or mobile</span>Devices<span class="rpt_tooltip_plus" > +</span></a></div>
599
<div class="rpt_feature rpt_feature_1-3"><a href="javascript:;" class="rpt_tooltip"><span class="intool"><b></b>Add CSS of your own to the sticky menu</span>CSS style<span class="rpt_tooltip_plus" > +</span></a></div>
600
- <div class="rpt_feature rpt_feature_1-4"><a href="javascript:;" class="rpt_tooltip"><span class="intool"><b></b>Exclude pages you don't want to have sticky menu</span>Page targeting<span class="rpt_tooltip_plus" > +</span></a></div>
601
<div class="rpt_feature rpt_feature_1-5"><a href="javascript:;" class="rpt_tooltip"><span class="intool"><b></b>Fade/Slide, opacity, background color, transition time and more</span>Effects and more<span class="rpt_tooltip_plus" > +</span></a></div>
602
<div class="rpt_feature rpt_feature_1-6"><a href="javascript:;" class="rpt_tooltip"><span class="intool"><b></b>Including page targeting, delay and scroll triggers, devices, position, height, expiry date, open link in a new tab and remove credit</span>Welcome bar<span class="rpt_tooltip_plus"> +</span></a></div>
603
<div class="rpt_feature rpt_feature_0-9">
@@ -630,7 +723,7 @@ class MyStickyMenuBackend
630
<div class="rpt_feature rpt_feature_2-1"><a href="javascript:;" class="rpt_tooltip"><span class="intool"><b></b>You can show the menu when scrolling up, down or both</span>Show on scroll up/down<span class="rpt_tooltip_plus" > +</span></a></div>
631
<div class="rpt_feature rpt_feature_2-2"><a href="javascript:;" class="rpt_tooltip"><span class="intool"><b></b>You can disable the sticky effect on desktop or mobile</span>Devices<span class="rpt_tooltip_plus" > +</span></a></div>
632
<div class="rpt_feature rpt_feature_2-3"><a href="javascript:;" class="rpt_tooltip"><span class="intool"><b></b>Add CSS of your own to the sticky menu</span>CSS style<span class="rpt_tooltip_plus" > +</span></a></div>
633
- <div class="rpt_feature rpt_feature_2-4"><a href="javascript:;" class="rpt_tooltip"><span class="intool"><b></b>Exclude pages you don't want to have sticky menu</span>Page targeting<span class="rpt_tooltip_plus" > +</span></a></div>
634
<div class="rpt_feature rpt_feature_2-5"><a href="javascript:;" class="rpt_tooltip"><span class="intool"><b></b>Fade/Slide, opacity, background color, transition time and more</span>Effects and more<span class="rpt_tooltip_plus" > +</span></a></div>
635
<div class="rpt_feature rpt_feature_2-6"><a href="javascript:;" class="rpt_tooltip"><span class="intool"><b></b>Including page targeting, delay and scroll triggers, devices, position, height, expiry date, open link in a new tab and remove credit</span>Welcome bar<span class="rpt_tooltip_plus"> +</span></a></div>
636
<div class="rpt_feature rpt_feature_0-9">
@@ -685,9 +778,66 @@ class MyStickyMenuBackend
685
} else {
686
$mysticky_class_id_selector = 'custom';
687
}
688
$default = array(
689
'mysticky_class_id_selector' => $mysticky_class_id_selector,
690
- 'mysticky_class_selector' => '.navbar',
691
'device_desktop' => 'on',
692
'device_mobile' => 'on',
693
'myfixed_zindex' => '99990',
@@ -777,6 +927,32 @@ class MyStickyMenuFrontend
777
echo $mysticky_options ['myfixed_cssstyle'];
778
}
779
echo '</style>';
780
}
781
}
782
@@ -866,6 +1042,52 @@ class MyStickyMenuFrontend
866
$mystickyDisableLarge = isset($mysticky_options['myfixed_disable_large_screen']) ? $mysticky_options['myfixed_disable_large_screen'] : '0';
867
868
$mystickyClass = ( $mysticky_options['mysticky_class_id_selector'] != 'custom') ? '.menu-' . $mysticky_options['mysticky_class_id_selector'] .'-container' : $mysticky_options['mysticky_class_selector'];
869
870
$mysticky_translation_array = array(
871
'mystickyClass' => $mystickyClass,
3
Plugin Name: myStickymenu
4
Plugin URI: https://premio.io/
5
Description: Simple sticky (fixed on top) menu implementation for navigation menu and Welcome bar for announcements and promotion. After install go to Settings / myStickymenu and change Sticky Class to .your_navbar_class or #your_navbar_id.
6
+ Version: 2.2.5
7
Author: Premio
8
Author URI: https://premio.io/downloads/mystickymenu/
9
Text Domain: mystickymenu
12
*/
13
14
defined('ABSPATH') or die("Cannot access pages directly.");
15
+ define( 'MYSTICKY_VERSION', '2.2.5' );
16
require_once("mystickymenu-fonts.php");
17
require_once("welcome-bar.php");
18
19
+ if(is_admin()) {
20
+ include_once 'class-review-box.php';
21
+ }
22
+
23
class MyStickyMenuBackend
24
{
25
private $options;
163
164
$mysticky_options = get_option( 'mysticky_option_name');
165
$is_old = get_option("has_sticky_header_old_version");
166
+ $is_old = ($is_old == "yes")?true:false;
167
$nonce = wp_create_nonce('mysticky_option_backend_update');
168
$pro_url = "https://go.premio.io/?edd_action=add_to_cart&download_id=2199&edd_options[price_id]=";
169
411
</label>
412
</p>
413
</div>
414
+ <div class="mysticky-page-target-setting mystickymenu-content-option">
415
+ <label class="mysticky_title"><?php _e('Page targeting', 'myStickymenu'); ?></label>
416
+ <div class="mystickymenu-input-section mystickymenu-page-target-wrap">
417
+ <div class="mysticky-welcomebar-setting-content-right">
418
+ <div class="mysticky-page-options" id="mysticky-welcomebar-page-options">
419
+ <?php $page_option = (isset($mysticky_options['mysticky_page_settings'])) ? $mysticky_options['mysticky_page_settings'] : array();
420
+ $url_options = array(
421
+ 'page_contains' => 'pages that contain',
422
+ 'page_has_url' => 'a specific page',
423
+ 'page_start_with' => 'pages starting with',
424
+ 'page_end_with' => 'pages ending with',
425
+ );
426
+
427
+ if(!empty($page_option) && is_array($page_option)) {
428
+ $count = 0;
429
+ foreach($page_option as $k=>$option) {
430
+ $count++;
431
+ ?>
432
+ <div class="mysticky-page-option <?php echo $k==count($page_option)?"last":""; ?>">
433
+ <div class="url-content">
434
+ <div class="mysticky-welcomebar-url-select">
435
+ <select name="mysticky_option_name[mysticky_page_settings][<?php echo $count; ?>][shown_on]" id="url_shown_on_<?php echo $count ?>_option">
436
+ <option value="show_on" <?php echo $option['shown_on']=="show_on"?"selected":"" ?> ><?php esc_html_e( 'Show on', 'mysticky' )?></option>
437
+ <option value="not_show_on" <?php echo $option['shown_on']=="not_show_on"?"selected":"" ?>><?php esc_html_e( "Don't show on", "mysticky" );?></option>
438
+ </select>
439
+ </div>
440
+ <div class="mysticky-welcomebar-url-option">
441
+ <select class="mysticky-url-options" name="mysticky_option_name[mysticky_page_settings][<?php echo $count; ?>][option]" id="url_rules_<?php echo $count ?>_option">
442
+ <option disabled value=""><?php esc_html_e( "Select Rule", "mysticky" );?></option>
443
+ <?php foreach($url_options as $key=>$value) {
444
+ $selected = ( isset($option['option']) && $option['option']==$key )?" selected='selected' ":"";
445
+ echo '<option '.$selected.' value="'.$key.'">'.$value.'</option>';
446
+ } ?>
447
+ </select>
448
+ </div>
449
+ <div class="mysticky-welcomebar-url-box">
450
+ <span class='mysticky-welcomebar-url'><?php echo site_url("/"); ?></span>
451
+ </div>
452
+ <div class="mysticky-welcomebar-url-values">
453
+ <input type="text" value="<?php echo $option['value'] ?>" name="mysticky_option_name[mysticky_page_settings][<?php echo $count; ?>][value]" id="url_rules_<?php echo $count; ?>_value" />
454
+ </div>
455
+ <div class="mysticky-welcomebar-url-buttons">
456
+ <a class="mysticky-remove-rule" href="javascript:;">x</a>
457
+ </div>
458
+ <div class="clear"></div>
459
+ </div>
460
+ </div>
461
+ <?php
462
+ }
463
+ }
464
+ ?>
465
+ </div>
466
+ <a href="javascript:void(0);" class="create-rule" id="mysticky_create-rule"><?php esc_html_e( "Add Rule", "mystickyelements" );?></a>
467
+ </div>
468
+ <input type="hidden" id="mysticky_welcomebar_site_url" value="<?php echo site_url("/") ?>" />
469
+ <div class="mysticky-page-options-html" style="display: none;">
470
+ <div class="mysticky-page-option">
471
+ <div class="url-content">
472
+ <div class="mysticky-welcomebar-url-select">
473
+ <select name="mysticky_option_name[mysticky_page_settings][__count__][shown_on]" id="url_shown_on___count___option" <?php echo !$is_pro_active?"disabled":"" ?>>
474
+ <option value="show_on"><?php esc_html_e("Show on", "mysticky" );?></option>
475
+ <option value="not_show_on"><?php esc_html_e("Don't show on", "mysticky" );?></option>
476
+ </select>
477
+ </div>
478
+ <div class="mysticky-welcomebar-url-option">
479
+ <select class="mysticky-url-options" name="mysticky_option_name[mysticky_page_settings][__count__][option]" id="url_rules___count___option" <?php echo !$is_pro_active?"disabled":"" ?>>
480
+ <option selected="selected" disabled value=""><?php esc_html_e("Select Rule", "mysticky" );?></option>
481
+ <?php foreach($url_options as $key=>$value) {
482
+ echo '<option value="'.$key.'">'.$value.'</option>';
483
+ } ?>
484
+ </select>
485
+ </div>
486
+ <div class="mysticky-welcomebar-url-box">
487
+ <span class='mysticky-welcomebar-url'><?php echo site_url("/"); ?></span>
488
+ </div>
489
+ <div class="mysticky-welcomebar-url-values">
490
+ <input type="text" value="" name="mysticky_option_name[mysticky_page_settings][__count__][value]" id="url_rules___count___value" <?php echo !$is_pro_active?"disabled":"" ?> />
491
+ </div>
492
+ <div class="mysticky-welcomebar-url-buttons">
493
+ <a class="mysticky-remove-rule" href="javascript:void(0);">x</a>
494
+ </div>
495
+ <div class="clear"></div>
496
+ </div>
497
+ <?php if(!$is_old) { ?><span class="myStickymenu-upgrade"><a class="sticky-header-upgrade-now" href="#" target="_blank"><?php _e( 'Upgrade Now', 'mystickymenu' );?></a></span><?php } ?>
498
+ </div>
499
+ </div>
500
+ </div>
501
+ </div>
502
<div class="mystickymenu-content-option">
503
<label class="mysticky_title css-style-title"><?php _e("CSS style", 'mystickymenu'); ?></label>
504
<span class="mysticky_text"><?php _e( 'Add/edit CSS style. Leave it blank for default style.', 'mystickymenu');?></span>
620
<p></p>
621
</div>
622
</div>
623
+
624
</div>
625
<p class="submit">
626
<input type="submit" name="submit" id="submit" class="button button-primary" value="<?php _e('Save', 'mystickymenu');?>">
657
<div class="rpt_feature rpt_feature_0-1"><a href="javascript:;" class="rpt_tooltip"><span class="intool"><b></b>You can show the menu when scrolling up, down or both</span>Show on scroll up/down<span class="rpt_tooltip_plus" > +</span></a></div>
658
<div class="rpt_feature rpt_feature_0-2"><a href="javascript:;" class="rpt_tooltip"><span class="intool"><b></b>You can disable the sticky effect on desktop or mobile</span>Devices<span class="rpt_tooltip_plus" > +</span></a></div>
659
<div class="rpt_feature rpt_feature_0-3"><a href="javascript:;" class="rpt_tooltip"><span class="intool"><b></b>Add CSS of your own to the sticky menu</span>CSS style<span class="rpt_tooltip_plus" > +</span></a></div>
660
+ <div class="rpt_feature rpt_feature_0-4"><a href="javascript:;" class="rpt_tooltip"><span class="intool"><b></b>Show/hide the sticky menu on specific pages</span>Page targeting<span class="rpt_tooltip_plus" > +</span></a></div>
661
<div class="rpt_feature rpt_feature_0-5"><a href="javascript:;" class="rpt_tooltip"><span class="intool"><b></b>Fade/Slide, opacity, background color, transition time and more</span>Effects and more<span class="rpt_tooltip_plus" > +</span></a></div>
662
<div class="rpt_feature rpt_feature_0-6"><a href="javascript:;" class="rpt_tooltip"><span class="intool"><b></b>Including page targeting, delay and scroll triggers, devices, position, height, expiry date, open link in a new tab and remove credit</span>Welcome bar<span class="rpt_tooltip_plus"> +</span></a></div>
663
<div class="rpt_feature rpt_feature_0-9">
690
<div class="rpt_feature rpt_feature_1-1"><a href="javascript:;" class="rpt_tooltip"><span class="intool"><b></b>You can show the menu when scrolling up, down or both</span>Show on scroll up/down<span class="rpt_tooltip_plus" > +</span></a></div>
691
<div class="rpt_feature rpt_feature_1-2"><a href="javascript:;" class="rpt_tooltip"><span class="intool"><b></b>You can disable the sticky effect on desktop or mobile</span>Devices<span class="rpt_tooltip_plus" > +</span></a></div>
692
<div class="rpt_feature rpt_feature_1-3"><a href="javascript:;" class="rpt_tooltip"><span class="intool"><b></b>Add CSS of your own to the sticky menu</span>CSS style<span class="rpt_tooltip_plus" > +</span></a></div>
693
+ <div class="rpt_feature rpt_feature_1-4"><a href="javascript:;" class="rpt_tooltip"><span class="intool"><b></b>Show/hide the sticky menu on specific pages</span>Page targeting<span class="rpt_tooltip_plus" > +</span></a></div>
694
<div class="rpt_feature rpt_feature_1-5"><a href="javascript:;" class="rpt_tooltip"><span class="intool"><b></b>Fade/Slide, opacity, background color, transition time and more</span>Effects and more<span class="rpt_tooltip_plus" > +</span></a></div>
695
<div class="rpt_feature rpt_feature_1-6"><a href="javascript:;" class="rpt_tooltip"><span class="intool"><b></b>Including page targeting, delay and scroll triggers, devices, position, height, expiry date, open link in a new tab and remove credit</span>Welcome bar<span class="rpt_tooltip_plus"> +</span></a></div>
696
<div class="rpt_feature rpt_feature_0-9">
723
<div class="rpt_feature rpt_feature_2-1"><a href="javascript:;" class="rpt_tooltip"><span class="intool"><b></b>You can show the menu when scrolling up, down or both</span>Show on scroll up/down<span class="rpt_tooltip_plus" > +</span></a></div>
724
<div class="rpt_feature rpt_feature_2-2"><a href="javascript:;" class="rpt_tooltip"><span class="intool"><b></b>You can disable the sticky effect on desktop or mobile</span>Devices<span class="rpt_tooltip_plus" > +</span></a></div>
725
<div class="rpt_feature rpt_feature_2-3"><a href="javascript:;" class="rpt_tooltip"><span class="intool"><b></b>Add CSS of your own to the sticky menu</span>CSS style<span class="rpt_tooltip_plus" > +</span></a></div>
726
+ <div class="rpt_feature rpt_feature_2-4"><a href="javascript:;" class="rpt_tooltip"><span class="intool"><b></b>Show/hide the sticky menu on specific pages</span>Page targeting<span class="rpt_tooltip_plus" > +</span></a></div>
727
<div class="rpt_feature rpt_feature_2-5"><a href="javascript:;" class="rpt_tooltip"><span class="intool"><b></b>Fade/Slide, opacity, background color, transition time and more</span>Effects and more<span class="rpt_tooltip_plus" > +</span></a></div>
728
<div class="rpt_feature rpt_feature_2-6"><a href="javascript:;" class="rpt_tooltip"><span class="intool"><b></b>Including page targeting, delay and scroll triggers, devices, position, height, expiry date, open link in a new tab and remove credit</span>Welcome bar<span class="rpt_tooltip_plus"> +</span></a></div>
729
<div class="rpt_feature rpt_feature_0-9">
778
} else {
779
$mysticky_class_id_selector = 'custom';
780
}
781
+
782
+ $mystickyClass = '.navbar';
783
+ $template_name = get_template();
784
+ switch( $template_name ){
785
+ case 'ashe':
786
+ $mysticky_class_id_selector = 'custom';
787
+ $mystickyClass = '#main-nav';
788
+ break;
789
+ case 'astra':
790
+ case 'hello-elementor':
791
+ case 'sydney':
792
+ case 'twentysixteen':
793
+ $mysticky_class_id_selector = 'custom';
794
+ $mystickyClass = 'header.site-header';
795
+ break;
796
+ case 'generatepress':
797
+ $mysticky_class_id_selector = 'custom';
798
+ $mystickyClass = 'nav.main-navigation';
799
+ break;
800
+ case 'transportex':
801
+ $mysticky_class_id_selector = 'custom';
802
+ $mystickyClass = '.transportex-menu-full';
803
+ break;
804
+ case 'hestia':
805
+ case 'neve':
806
+ $mysticky_class_id_selector = 'custom';
807
+ $mystickyClass = 'header.header';
808
+ break;
809
+ case 'mesmerize':
810
+ $mysticky_class_id_selector = 'custom';
811
+ $mystickyClass = '.navigation-bar';
812
+ break;
813
+ case 'oceanwp':
814
+ $mysticky_class_id_selector = 'custom';
815
+ $mystickyClass = 'header#site-header';
816
+ break;
817
+ case 'shapely':
818
+ $mysticky_class_id_selector = 'custom';
819
+ $mystickyClass = '#site-navigation';
820
+ break;
821
+ case 'storefront':
822
+ $mysticky_class_id_selector = 'custom';
823
+ $mystickyClass = '.storefront-primary-navigation';
824
+ break;
825
+ case 'twentynineteen':
826
+ $mysticky_class_id_selector = 'custom';
827
+ $mystickyClass = '#site-navigation';
828
+ break;
829
+ case 'twentyseventeen':
830
+ $mysticky_class_id_selector = 'custom';
831
+ $mystickyClass = '.navigation-top';
832
+ break;
833
+ default:
834
+ break;
835
+ }
836
+
837
+
838
$default = array(
839
'mysticky_class_id_selector' => $mysticky_class_id_selector,
840
+ 'mysticky_class_selector' => $mystickyClass,
841
'device_desktop' => 'on',
842
'device_mobile' => 'on',
843
'myfixed_zindex' => '99990',
927
echo $mysticky_options ['myfixed_cssstyle'];
928
}
929
echo '</style>';
930
+ $template_name = get_template();
931
+ ?>
932
+ <style type="text/css">
933
+ <?php if( $template_name == 'hestia' ) { ?>
934
+ #mysticky-nav.wrapfixed {box-shadow: 0 1px 10px -6px #0000006b,0 1px 10px 0 #0000001f,0 4px 5px -2px #0000001a;}
935
+ #mysticky-nav.wrapfixed .navbar {position: relative;background-color: transparent;box-shadow: none;}
936
+ <?php } ?>
937
+ <?php if( $template_name == 'shapely' ) { ?>
938
+ #mysticky-nav.wrapfixed #site-navigation {position: relative;}
939
+ <?php } ?>
940
+ <?php if( $template_name == 'storefront' ) { ?>
941
+ #mysticky-nav.wrapfixed > .site-header {margin-bottom: 0;}
942
+ #mysticky-nav.wrapfixed > .storefront-primary-navigation {padding: 10px 0;}
943
+ <?php } ?>
944
+ <?php if( $template_name == 'transportex' ) { ?>
945
+ #mysticky-nav.wrapfixed > .transportex-menu-full {margin: 0 auto;}
946
+ .transportex-headwidget #mysticky-nav.wrapfixed .navbar-wp {top: 0;}
947
+ <?php } ?>
948
+ <?php if( $template_name == 'twentynineteen' ) { ?>
949
+ #mysticky-nav.wrapfixed {padding: 10px;}
950
+ <?php } ?>
951
+ <?php if( $template_name == 'twentysixteen' ) { ?>
952
+ #mysticky-nav.wrapfixed > .site-header {padding-top: 0;padding-bottom: 0;}
953
+ <?php } ?>
954
+ </style>
955
+ <?php
956
}
957
}
958
1042
$mystickyDisableLarge = isset($mysticky_options['myfixed_disable_large_screen']) ? $mysticky_options['myfixed_disable_large_screen'] : '0';
1043
1044
$mystickyClass = ( $mysticky_options['mysticky_class_id_selector'] != 'custom') ? '.menu-' . $mysticky_options['mysticky_class_id_selector'] .'-container' : $mysticky_options['mysticky_class_selector'];
1045
+
1046
+ if ( $mysticky_options['mysticky_class_id_selector'] != 'custom' ) {
1047
+ $template_name = get_template();
1048
+ switch( $template_name ){
1049
+ case 'ashe':
1050
+ $mystickyClass = '#main-nav';
1051
+ break;
1052
+ case 'astra':
1053
+ case 'hello-elementor':
1054
+ case 'sydney':
1055
+ case 'twentysixteen':
1056
+ $mystickyClass = 'header.site-header';
1057
+ break;
1058
+ case 'generatepress':
1059
+ $mystickyClass = 'nav.main-navigation';
1060
+ break;
1061
+ case 'transportex':
1062
+ $mystickyClass = '.transportex-menu-full';
1063
+ break;
1064
+ case 'hestia':
1065
+ case 'neve':
1066
+ $mystickyClass = 'header.header';
1067
+ break;
1068
+ case 'mesmerize':
1069
+ $mystickyClass = '.navigation-bar';
1070
+ break;
1071
+ case 'oceanwp':
1072
+ $mystickyClass = 'header#site-header';
1073
+ break;
1074
+ case 'shapely':
1075
+ $mystickyClass = '#site-navigation';
1076
+ break;
1077
+ case 'storefront':
1078
+ $mystickyClass = '.storefront-primary-navigation';
1079
+ break;
1080
+ case 'twentynineteen':
1081
+ $mystickyClass = '#site-navigation';
1082
+ break;
1083
+ case 'twentyseventeen':
1084
+ $mystickyClass = '.navigation-top';
1085
+ break;
1086
+ default:
1087
+ break;
1088
+ }
1089
+ }
1090
+
1091
1092
$mysticky_translation_array = array(
1093
'mystickyClass' => $mystickyClass,
readme.txt CHANGED
@@ -3,7 +3,7 @@ Contributors: tomeraharon, galdub, premio
3
Tags:menu, header, sticky menu, sticky header, floating menu, floating navigation menu, navigation menu, navigation, sticky navigation menu, welcome bar, hello bar, top bar, sticky bar, floating bar, notification bar
4
Requires at least: 3.5.1
5
Tested up to: 5.2
6
- Stable tag: 2.2.4
7
License: GPLv2 or later
8
9
This sticky menu plugin will make your menu or header stick to the top of page, when scrolled down and up. Also create a beautiful Welcome bar with it.
@@ -52,7 +52,7 @@ My Sticky Menu is tested and compatible with Elementor website builder, Divi, WP
52
* Disable floating menu on Desktop/Mobile
53
* Disable floating menu on scroll down
54
* Add CSS style to the floating header
55
- * Disable floating header on specific pages
56
57
But wait, there's more 😉
58
@@ -257,6 +257,8 @@ After installing the plugin, you’ll have the option to turn on the welcome bar
257
258
259
== Changelog ==
260
= 2.2.4 =
261
Smoother transition when the sticky menu disappears
262
= 2.2.3 =
3
Tags:menu, header, sticky menu, sticky header, floating menu, floating navigation menu, navigation menu, navigation, sticky navigation menu, welcome bar, hello bar, top bar, sticky bar, floating bar, notification bar
4
Requires at least: 3.5.1
5
Tested up to: 5.2
6
+ Stable tag: 2.2.5
7
License: GPLv2 or later
8
9
This sticky menu plugin will make your menu or header stick to the top of page, when scrolled down and up. Also create a beautiful Welcome bar with it.
52
* Disable floating menu on Desktop/Mobile
53
* Disable floating menu on scroll down
54
* Add CSS style to the floating header
55
+ * Disable/enable floating header on specific pages
56
57
But wait, there's more 😉
58
257
258
259
== Changelog ==
260
+ = 2.2.5 =
261
+ myStickyelements now works out-of-the-box with the following themes (which means you don't need to find your menu's class, it should work right after installation): Twenty Nineteen, Twenty Seventeen, Hello Elementor, OceanWP, Astra, Storefront, Twenty Sixteen, Neve, Hestia, Sydney, Shapely, GeneratePress, Mesmerize, Ashe, and Total. We've also added Google Lighthouse compatibility
262
= 2.2.4 =
263
Smoother transition when the sticky menu disappears
264
= 2.2.3 =
welcome-bar.php CHANGED
@@ -1,14 +1,14 @@
1
- <?php
2
3
function mysticky_welcome_bar_backend() {
4
$nonce = wp_create_nonce('mysticky_option_welcomebar_update');
5
$nonce_reset = wp_create_nonce('mysticky_option_welcomebar_reset');
6
-
7
$welcomebar = get_option( 'mysticky_option_welcomebar' );
8
if ( $welcomebar == '' || empty($welcomebar)) {
9
$welcomebar = mysticky_welcomebar_pro_widget_default_fields();
10
}
11
-
12
$mysticky_welcomebar_showx_desktop = $mysticky_welcomebar_showx_mobile = '';
13
$mysticky_welcomebar_btn_desktop = $mysticky_welcomebar_btn_mobile = '';
14
$mysticky_welcomebar_display_desktop = $mysticky_welcomebar_display_mobile = '';
@@ -218,7 +218,7 @@ function mysticky_welcome_bar_backend() {
218
</label>
219
<label>
220
<input type="radio" name="mysticky_option_welcomebar[mysticky_welcomebar_trigger]" value="after_scroll" disabled />&nbsp;<?php _e( 'After Scroll', 'myStickymenu' );?>
221
- </label>
222
</div>
223
<div class="mysticky-welcomebar-setting-action mysticky-welcomebar-triggersec">
224
<div class="px-wrap">
@@ -238,37 +238,37 @@ function mysticky_welcome_bar_backend() {
238
</div>
239
</div>
240
<div class="mysticky-welcomebar-setting-content show-on-apper">
241
- <label><?php _e('Page targeting', 'myStickymenu'); ?></label>
242
- <div class="mysticky-welcomebar-setting-content-right">
243
- <a href="javascript:void(0);" class="create-rule" id="create-rule"><?php esc_html_e( "Add Rule", "mystickyelements" );?></a>
244
- </div>
245
- <div class="mysticky-welcomebar-page-options-html" style="display: none">
246
- <div class="mysticky-welcomebar-page-option">
247
- <div class="url-content">
248
- <div class="mysticky-welcomebar-url-select">
249
- <select name="mysticky_option_welcomebar[page_settings][__count__][shown_on]" id="url_shown_on___count___option" disabled>
250
- <option value="show_on"><?php esc_html_e("Show on", "mysticky" );?></option>
251
- <option value="not_show_on"><?php esc_html_e("Don't show on", "mysticky" );?></option>
252
- </select>
253
- </div>
254
- <div class="mysticky-welcomebar-url-option">
255
- <select class="mysticky-welcomebar-url-options" name="mysticky_option_welcomebar[page_settings][__count__][option]" id="url_rules___count___option" disabled>
256
- <option selected="selected" disabled value=""><?php esc_html_e("Select Rule", "mysticky" );?></option>
257
- </select>
258
- </div>
259
- <div class="mysticky-welcomebar-url-box">
260
- <span class='mysticky-welcomebar-url'><?php echo site_url("/"); ?></span>
261
- </div>
262
- <div class="mysticky-welcomebar-url-values">
263
- <input type="text" value="" name="mysticky_option_welcomebar[page_settings][__count__][value]" id="url_rules___count___value" disabled />
264
</div>
265
- <div class="clear"></div>
266
</div>
267
</div>
268
</div>
269
</div>
270
- <div class="mysticky-welcomebar-page-options mysticky-welcomebar-setting-content-right" id="mysticky-welcomebar-page-options"></div>
271
- </div>
272
</div>
273
</div>
274
<div class="mysticky-welcomebar-setting-right">
@@ -290,13 +290,13 @@ function mysticky_welcome_bar_backend() {
290
</div>
291
</div>
292
</div>
293
- <div class="mysticky-welcomebar-submit">
294
<input type="submit" name="submit" id="submit" class="button button-primary" value="<?php _e('Save', 'mystickymenu');?>">
295
</div>
296
<input type="hidden" name="nonce" value="<?php echo $nonce; ?>">
297
<input type="hidden" name="active_tab_element" value="1">
298
<input type="hidden" id="save_welcome_bar" name="save_welcome_bar" value="">
299
-
300
</form>
301
<form class="mysticky-welcomebar-form-reset" method="post" action="#">
302
<div class="mysticky-welcomebar-submit">
@@ -342,7 +342,7 @@ function mysticky_welcome_bar_backend() {
342
font-family: inherit;
343
margin: 0;
344
padding: 0;
345
- line-height: 1.2;
346
font-weight: 400;
347
}
348
.mysticky-welcomebar-fixed .mysticky-welcomebar-btn {
@@ -424,8 +424,8 @@ function mysticky_welcome_bar_backend() {
424
.mysticky-welcomebar-getbar:hover {
425
color: #000000 !important;
426
opacity: 0.5 !important;
427
- }
428
-
429
@media only screen and (max-width: 1024px) {
430
.mysticky-welcomebar-fixed {
431
padding: 0 20px 0 10px;
@@ -438,7 +438,7 @@ function mysticky_welcome_bar_backend() {
438
}
439
}
440
</style>
441
-
442
<?php
443
}
444
@@ -472,7 +472,7 @@ function mysticky_welcomebar_pro_widget_default_fields() {
472
473
function mysticky_welcome_bar_frontend(){
474
$welcomebar = get_option( 'mysticky_option_welcomebar' );
475
-
476
if ( ( isset($welcomebar['mysticky_welcomebar_expirydate']) && $welcomebar['mysticky_welcomebar_expirydate'] !='' && strtotime( date('m/d/Y')) > strtotime($welcomebar['mysticky_welcomebar_expirydate']) ) || !isset($welcomebar['mysticky_welcomebar_enable'] ) ) {
477
return;
478
}
@@ -491,12 +491,12 @@ function mysticky_welcome_bar_frontend(){
491
if( isset($welcomebar['mysticky_welcomebar_btn_mobile']) ) {
492
$mysticky_welcomebar_btn_mobile = ' mysticky-welcomebar-btn-mobile';
493
}
494
-
495
$mysticky_welcomebar_display_desktop = ' mysticky-welcomebar-display-desktop';
496
$mysticky_welcomebar_display_mobile = ' mysticky-welcomebar-display-mobile';
497
-
498
$display_main_class = "mysticky-welcomebar-position-" . $welcomebar['mysticky_welcomebar_position'] . $mysticky_welcomebar_showx_desktop . $mysticky_welcomebar_showx_mobile . $mysticky_welcomebar_btn_desktop . $mysticky_welcomebar_btn_mobile . $mysticky_welcomebar_display_desktop . $mysticky_welcomebar_display_mobile;
499
-
500
if( isset($welcomebar['mysticky_welcomebar_actionselect']) ) {
501
if( $welcomebar['mysticky_welcomebar_actionselect'] == 'redirect_to_url' ) {
502
$mysticky_welcomebar_actionselect_url = esc_url( $welcomebar['mysticky_welcomebar_redirect'] );
@@ -511,7 +511,7 @@ function mysticky_welcome_bar_frontend(){
511
$welcomebar_enable_block = "bottom: -60px";
512
}
513
}
514
-
515
?>
516
<div class="mysticky-welcomebar-fixed <?php echo $display_main_class; ?>" style="<?php echo $welcomebar_enable_block; ?>" data-after-triger="after_a_few_seconds" data-triger-sec="0" data-position="<?php echo esc_attr($welcomebar['mysticky_welcomebar_position']);?>" data-height="<?php echo esc_attr($welcomebar['mysticky_welcomebar_height']);?>" data-rediect="<?php echo esc_attr($welcomebar['mysticky_welcomebar_actionselect']);?>">
517
<div class="mysticky-welcomebar-content">
@@ -521,24 +521,25 @@ function mysticky_welcome_bar_frontend(){
521
<a href="<?php echo $mysticky_welcomebar_actionselect_url; ?>" <?php if( isset($welcomebar['mysticky_welcomebar_redirect_newtab']) && $welcomebar['mysticky_welcomebar_actionselect'] == 'redirect_to_url' && $welcomebar['mysticky_welcomebar_redirect_newtab']== 1):?> target="_blank" <?php endif;?>><?php echo isset($welcomebar['mysticky_welcomebar_btn_text'])?$welcomebar['mysticky_welcomebar_btn_text']:"Got it!";?></a>
522
</div>
523
<a href="javascript:void(0)" class="mysticky-welcomebar-close">X</a>
524
- <a href="https://premio.io/downloads/mystickymenu/?utm_source=credit&domain=<?php echo $_SERVER['HTTP_HOST']; ?>" class="mysticky-welcomebar-getbar" target="_blank"><?php _e( 'Get Bar', 'mystickymenu' );?></a>
525
</div>
526
- <script>
527
-
528
jQuery(document).ready(function($){
529
if( jQuery( '.mysticky-welcomebar-fixed' ).data('position') == 'top' ) {
530
- jQuery( '.mysticky-welcomebar-fixed' ).css( 'top', '-60px' );
531
} else {
532
- jQuery( '.mysticky-welcomebar-fixed' ).css( 'bottom', '-60px' );
533
- }
534
if ( sessionStorage.getItem("welcomebar_close") === null ){
535
-
536
var after_trigger = jQuery( '.mysticky-welcomebar-fixed' ).data('after-triger');
537
-
538
- if ( after_trigger == 'after_a_few_seconds' ) {
539
if ( $( '.mysticky-welcomebar-fixed' ).hasClass( 'mysticky-welcomebar-display-desktop' ) ) {
540
if ( $( window ).width() > 767 ) {
541
- var trigger_sec = jQuery( '.mysticky-welcomebar-fixed' ).data('triger-sec') * 1000;
542
var welcombar_position = $( '.mysticky-welcomebar-fixed' ).data('position');
543
var welcombar_height = $( '.mysticky-welcomebar-fixed' ).data('height');
544
setTimeout(function(){
@@ -548,13 +549,13 @@ function mysticky_welcome_bar_frontend(){
548
jQuery( '.mysticky-welcomebar-fixed' ).css( 'top', '0' );
549
jQuery( '.mysticky-welcomebar-fixed' ).css( 'opacity', '1' );
550
$( 'html' ).css( 'margin-bottom', '' );
551
- $( 'html' ).attr( 'style', 'margin-top: 60px !important' );
552
- $( '#mysticky-nav' ).css( 'top', '60px' );
553
} else {
554
jQuery( '.mysticky-welcomebar-fixed' ).css( 'bottom', '0' );
555
jQuery( '.mysticky-welcomebar-fixed' ).css( 'opacity', '1' );
556
$( 'html' ).css( 'margin-top', '' );
557
- $( 'html' ).attr( 'style', 'margin-bottom: 60px !important' );
558
}
559
}, trigger_sec );
560
}
@@ -572,20 +573,21 @@ function mysticky_welcome_bar_frontend(){
572
jQuery( '.mysticky-welcomebar-fixed' ).css( 'top', '0' );
573
jQuery( '.mysticky-welcomebar-fixed' ).css( 'opacity', '1' );
574
$( 'html' ).css( 'margin-bottom', '' );
575
- $( 'html' ).attr( 'style', 'margin-top: 60px !important' );
576
- $( '#mysticky-nav' ).css( 'top', '60px' );
577
} else {
578
jQuery( '.mysticky-welcomebar-fixed' ).css( 'bottom', '0' );
579
jQuery( '.mysticky-welcomebar-fixed' ).css( 'opacity', '1' );
580
$( 'html' ).css( 'margin-top', '' );
581
- $( 'html' ).attr( 'style', 'margin-bottom: 60px !important' );
582
}
583
}, trigger_sec );
584
}
585
}
586
}
587
}
588
- $( window ).resize( function(){
589
if ( sessionStorage.getItem("welcomebar_close") === null ){
590
var after_trigger = jQuery( '.mysticky-welcomebar-fixed' ).data('after-triger');
591
if ( after_trigger == 'after_a_few_seconds' ) {
@@ -600,13 +602,13 @@ function mysticky_welcome_bar_frontend(){
600
jQuery( '.mysticky-welcomebar-fixed' ).css( 'top', '0' );
601
jQuery( '.mysticky-welcomebar-fixed' ).css( 'opacity', '1' );
602
$( 'html' ).css( 'margin-bottom', '' );
603
- $( 'html' ).attr( 'style', 'margin-top: 60px !important' );
604
- $( '#mysticky-nav' ).css( 'top', '60px' );
605
} else {
606
jQuery( '.mysticky-welcomebar-fixed' ).css( 'bottom', '0' );
607
jQuery( '.mysticky-welcomebar-fixed' ).css( 'opacity', '1' );
608
$( 'html' ).css( 'margin-top', '' );
609
- $( 'html' ).attr( 'style', 'margin-bottom: 60px !important' );
610
}
611
}, trigger_sec );
612
}
@@ -618,30 +620,31 @@ function mysticky_welcome_bar_frontend(){
618
jQuery( '.mysticky-welcomebar-fixed' ).css( 'top', '0' );
619
jQuery( '.mysticky-welcomebar-fixed' ).css( 'opacity', '1' );
620
$( 'html' ).css( 'margin-bottom', '' );
621
- $( 'html' ).attr( 'style', 'margin-top: 60px !important' );
622
- $( '#mysticky-nav' ).css( 'top', '60px' );
623
} else {
624
jQuery( '.mysticky-welcomebar-fixed' ).css( 'bottom', '0' );
625
jQuery( '.mysticky-welcomebar-fixed' ).css( 'opacity', '1' );
626
$( 'html' ).css( 'margin-top', '' );
627
- $( 'html' ).attr( 'style', 'margin-bottom: 60px !important' );
628
}
629
}, trigger_sec );
630
}
631
}
632
}
633
- }
634
} );
635
-
636
- jQuery(window).scroll(function(){
637
if ( sessionStorage.getItem("welcomebar_close") === null ){
638
var welcombar_height = $( '.mysticky-welcomebar-fixed' ).data('height');
639
var welcombar_position = $( '.mysticky-welcomebar-fixed' ).data('position');
640
- if ( welcombar_position == 'top' ) {
641
- $( '#mysticky-nav' ).css( 'top', welcombar_height + 'px' );
642
}
643
- if ( after_trigger === 'after_scroll' ) {
644
- var scroll = 100 * $(window).scrollTop() / ($(document).height() - $(window).height());
645
var after_scroll_val = jQuery( '.mysticky-welcomebar-fixed' ).data('triger-sec');
646
var welcombar_position = $( '.mysticky-welcomebar-fixed' ).data('position');
647
var welcombar_height = $( '.mysticky-welcomebar-fixed' ).data('height');
@@ -653,13 +656,13 @@ function mysticky_welcome_bar_frontend(){
653
jQuery( '.mysticky-welcomebar-fixed' ).css( 'top', '0' );
654
jQuery( '.mysticky-welcomebar-fixed' ).css( 'opacity', '1' );
655
$( 'html' ).css( 'margin-bottom', '' );
656
- $( 'html' ).attr( 'style', 'margin-top: 60px !important' );
657
- $( '#mysticky-nav' ).css( 'top', '60px' );
658
} else {
659
jQuery( '.mysticky-welcomebar-fixed' ).css( 'bottom', '0' );
660
jQuery( '.mysticky-welcomebar-fixed' ).css( 'opacity', '1' );
661
$( 'html' ).css( 'margin-top', '' );
662
- $( 'html' ).attr( 'style', 'margin-bottom: 60px !important' );
663
}
664
}
665
}
@@ -670,36 +673,85 @@ function mysticky_welcome_bar_frontend(){
670
jQuery( '.mysticky-welcomebar-fixed' ).css( 'top', '0' );
671
jQuery( '.mysticky-welcomebar-fixed' ).css( 'opacity', '1' );
672
$( 'html' ).css( 'margin-bottom', '' );
673
- $( 'html' ).attr( 'style', 'margin-top: 60px !important' );
674
- $( '#mysticky-nav' ).css( 'top', '60px' );
675
} else {
676
jQuery( '.mysticky-welcomebar-fixed' ).css( 'bottom', '0' );
677
jQuery( '.mysticky-welcomebar-fixed' ).css( 'opacity', '1' );
678
$( 'html' ).css( 'margin-top', '' );
679
- $( 'html' ).attr( 'style', 'margin-bottom: 60px !important' );
680
}
681
}
682
}
683
}
684
}
685
}
686
-
687
});
688
- jQuery( '.mysticky-welcomebar-close, .mysticky-welcomebar-btn a' ).on( 'click', function(){
689
- sessionStorage.setItem('welcomebar_close', 'close');
690
var welcombar_position = $( '.mysticky-welcomebar-fixed' ).data('position');
691
- var welcombar_height = $( '.mysticky-welcomebar-fixed' ).data('height');
692
jQuery( '.mysticky-welcomebar-fixed' ).slideUp( 'slow' );
693
if ( welcombar_position == 'top' ) {
694
- jQuery( '.mysticky-welcomebar-fixed' ).css( 'top', '-' + welcombar_height + 'px' );
695
} else {
696
- jQuery( '.mysticky-welcomebar-fixed' ).css( 'bottom', '-' + welcombar_height + 'px' );
697
}
698
jQuery( 'html' ).css( 'margin-top', '' );
699
jQuery( 'html' ).css( 'margin-bottom', '' );
700
$( '#mysticky-nav' ).css( 'top', '0px' );
701
} );
702
});
703
</script>
704
<style>
705
.mysticky-welcomebar-fixed {
@@ -827,8 +879,8 @@ function mysticky_welcome_bar_frontend(){
827
.mysticky-welcomebar-getbar:hover {
828
color: #000000 !important;
829
opacity: 0.5 !important;
830
- }
831
- @media only screen and (max-width: 767px) {
832
.mysticky-welcomebar-display-desktop.mysticky-welcomebar-position-top.mysticky-welcomebar-fixed {
833
top: -60px;
834
}
1
+ <?php
2
3
function mysticky_welcome_bar_backend() {
4
$nonce = wp_create_nonce('mysticky_option_welcomebar_update');
5
$nonce_reset = wp_create_nonce('mysticky_option_welcomebar_reset');
6
+
7
$welcomebar = get_option( 'mysticky_option_welcomebar' );
8
if ( $welcomebar == '' || empty($welcomebar)) {
9
$welcomebar = mysticky_welcomebar_pro_widget_default_fields();
10
}
11
+
12
$mysticky_welcomebar_showx_desktop = $mysticky_welcomebar_showx_mobile = '';
13
$mysticky_welcomebar_btn_desktop = $mysticky_welcomebar_btn_mobile = '';
14
$mysticky_welcomebar_display_desktop = $mysticky_welcomebar_display_mobile = '';
218
</label>
219
<label>
220
<input type="radio" name="mysticky_option_welcomebar[mysticky_welcomebar_trigger]" value="after_scroll" disabled />&nbsp;<?php _e( 'After Scroll', 'myStickymenu' );?>
221
+ </label>
222
</div>
223
<div class="mysticky-welcomebar-setting-action mysticky-welcomebar-triggersec">
224
<div class="px-wrap">
238
</div>
239
</div>
240
<div class="mysticky-welcomebar-setting-content show-on-apper">
241
+ <label><?php _e('Page targeting', 'myStickymenu'); ?></label>
242
+ <div class="mysticky-welcomebar-setting-content-right">
243
+ <a href="javascript:void(0);" class="create-rule" id="create-rule"><?php esc_html_e( "Add Rule", "mystickyelements" );?></a>
244
+ </div>
245
+ <div class="mysticky-welcomebar-page-options-html" style="display: none">
246
+ <div class="mysticky-welcomebar-page-option">
247
+ <div class="url-content">
248
+ <div class="mysticky-welcomebar-url-select">
249
+ <select name="mysticky_option_welcomebar[page_settings][__count__][shown_on]" id="url_shown_on___count___option" disabled>
250
+ <option value="show_on"><?php esc_html_e("Show on", "mysticky" );?></option>
251
+ <option value="not_show_on"><?php esc_html_e("Don't show on", "mysticky" );?></option>
252
+ </select>
253
+ </div>
254
+ <div class="mysticky-welcomebar-url-option">
255
+ <select class="mysticky-welcomebar-url-options" name="mysticky_option_welcomebar[page_settings][__count__][option]" id="url_rules___count___option" disabled>
256
+ <option selected="selected" disabled value=""><?php esc_html_e("Select Rule", "mysticky" );?></option>
257
+ </select>
258
+ </div>
259
+ <div class="mysticky-welcomebar-url-box">
260
+ <span class='mysticky-welcomebar-url'><?php echo site_url("/"); ?></span>
261
+ </div>
262
+ <div class="mysticky-welcomebar-url-values">
263
+ <input type="text" value="" name="mysticky_option_welcomebar[page_settings][__count__][value]" id="url_rules___count___value" disabled />
264
+ </div>
265
+ <div class="clear"></div>
266
</div>
267
</div>
268
</div>
269
+ <div class="mysticky-welcomebar-page-options mysticky-welcomebar-setting-content-right" id="mysticky-welcomebar-page-options" style="display:none"></div>
270
</div>
271
</div>
272
</div>
273
</div>
274
<div class="mysticky-welcomebar-setting-right">
290
</div>
291
</div>
292
</div>
293
+ <div class="mysticky-welcomebar-submit">
294
<input type="submit" name="submit" id="submit" class="button button-primary" value="<?php _e('Save', 'mystickymenu');?>">
295
</div>
296
<input type="hidden" name="nonce" value="<?php echo $nonce; ?>">
297
<input type="hidden" name="active_tab_element" value="1">
298
<input type="hidden" id="save_welcome_bar" name="save_welcome_bar" value="">
299
+
300
</form>
301
<form class="mysticky-welcomebar-form-reset" method="post" action="#">
302
<div class="mysticky-welcomebar-submit">
342
font-family: inherit;
343
margin: 0;
344
padding: 0;
345
+ line-height: 1.2;
346
font-weight: 400;
347
}
348
.mysticky-welcomebar-fixed .mysticky-welcomebar-btn {
424
.mysticky-welcomebar-getbar:hover {
425
color: #000000 !important;
426
opacity: 0.5 !important;
427
+ }
428
+
429
@media only screen and (max-width: 1024px) {
430
.mysticky-welcomebar-fixed {
431
padding: 0 20px 0 10px;
438
}
439
}
440
</style>
441
+
442
<?php
443
}
444
472
473
function mysticky_welcome_bar_frontend(){
474
$welcomebar = get_option( 'mysticky_option_welcomebar' );
475
+
476
if ( ( isset($welcomebar['mysticky_welcomebar_expirydate']) && $welcomebar['mysticky_welcomebar_expirydate'] !='' && strtotime( date('m/d/Y')) > strtotime($welcomebar['mysticky_welcomebar_expirydate']) ) || !isset($welcomebar['mysticky_welcomebar_enable'] ) ) {
477
return;
478
}
491
if( isset($welcomebar['mysticky_welcomebar_btn_mobile']) ) {
492
$mysticky_welcomebar_btn_mobile = ' mysticky-welcomebar-btn-mobile';
493
}
494
+
495
$mysticky_welcomebar_display_desktop = ' mysticky-welcomebar-display-desktop';
496
$mysticky_welcomebar_display_mobile = ' mysticky-welcomebar-display-mobile';
497
+
498
$display_main_class = "mysticky-welcomebar-position-" . $welcomebar['mysticky_welcomebar_position'] . $mysticky_welcomebar_showx_desktop . $mysticky_welcomebar_showx_mobile . $mysticky_welcomebar_btn_desktop . $mysticky_welcomebar_btn_mobile . $mysticky_welcomebar_display_desktop . $mysticky_welcomebar_display_mobile;
499
+
500
if( isset($welcomebar['mysticky_welcomebar_actionselect']) ) {
501
if( $welcomebar['mysticky_welcomebar_actionselect'] == 'redirect_to_url' ) {
502
$mysticky_welcomebar_actionselect_url = esc_url( $welcomebar['mysticky_welcomebar_redirect'] );
511
$welcomebar_enable_block = "bottom: -60px";
512
}
513
}
514
+
515
?>
516
<div class="mysticky-welcomebar-fixed <?php echo $display_main_class; ?>" style="<?php echo $welcomebar_enable_block; ?>" data-after-triger="after_a_few_seconds" data-triger-sec="0" data-position="<?php echo esc_attr($welcomebar['mysticky_welcomebar_position']);?>" data-height="<?php echo esc_attr($welcomebar['mysticky_welcomebar_height']);?>" data-rediect="<?php echo esc_attr($welcomebar['mysticky_welcomebar_actionselect']);?>">
517
<div class="mysticky-welcomebar-content">
521
<a href="<?php echo $mysticky_welcomebar_actionselect_url; ?>" <?php if( isset($welcomebar['mysticky_welcomebar_redirect_newtab']) && $welcomebar['mysticky_welcomebar_actionselect'] == 'redirect_to_url' && $welcomebar['mysticky_welcomebar_redirect_newtab']== 1):?> target="_blank" <?php endif;?>><?php echo isset($welcomebar['mysticky_welcomebar_btn_text'])?$welcomebar['mysticky_welcomebar_btn_text']:"Got it!";?></a>
522
</div>
523
<a href="javascript:void(0)" class="mysticky-welcomebar-close">X</a>
524
+ <a href="https://premio.io/downloads/mystickymenu/?utm_source=credit&domain=<?php echo $_SERVER['HTTP_HOST']; ?>" class="mysticky-welcomebar-getbar" target="_blank" rel="noopener"><?php _e( 'Get Bar', 'mystickymenu' );?></a>
525
</div>
526
+ <script>
527
+
528
jQuery(document).ready(function($){
529
+ var mysticky_welcomebar_height = jQuery( '.mysticky-welcomebar-fixed' ).innerHeight();
530
if( jQuery( '.mysticky-welcomebar-fixed' ).data('position') == 'top' ) {
531
+ jQuery( '.mysticky-welcomebar-fixed' ).css( 'top', '-' + mysticky_welcomebar_height + 'px' );
532
} else {
533
+ jQuery( '.mysticky-welcomebar-fixed' ).css( 'bottom', '-' + mysticky_welcomebar_height + 'px' );
534
+ }
535
if ( sessionStorage.getItem("welcomebar_close") === null ){
536
+
537
var after_trigger = jQuery( '.mysticky-welcomebar-fixed' ).data('after-triger');
538
+
539
+ if ( after_trigger == 'after_a_few_seconds' ) {
540
if ( $( '.mysticky-welcomebar-fixed' ).hasClass( 'mysticky-welcomebar-display-desktop' ) ) {
541
if ( $( window ).width() > 767 ) {
542
+ var trigger_sec = jQuery( '.mysticky-welcomebar-fixed' ).data('triger-sec') * 1000;
543
var welcombar_position = $( '.mysticky-welcomebar-fixed' ).data('position');
544
var welcombar_height = $( '.mysticky-welcomebar-fixed' ).data('height');
545
setTimeout(function(){
549
jQuery( '.mysticky-welcomebar-fixed' ).css( 'top', '0' );
550
jQuery( '.mysticky-welcomebar-fixed' ).css( 'opacity', '1' );
551
$( 'html' ).css( 'margin-bottom', '' );
552
+ $( 'html' ).attr( 'style', 'margin-top: ' + mysticky_welcomebar_height + 'px !important' );
553
+ $( '#mysticky-nav' ).css( 'top', mysticky_welcomebar_height + 'px' );
554
} else {
555
jQuery( '.mysticky-welcomebar-fixed' ).css( 'bottom', '0' );
556
jQuery( '.mysticky-welcomebar-fixed' ).css( 'opacity', '1' );
557
$( 'html' ).css( 'margin-top', '' );
558
+ $( 'html' ).attr( 'style', 'margin-bottom: ' + mysticky_welcomebar_height + 'px !important' );
559
}
560
}, trigger_sec );
561
}
573
jQuery( '.mysticky-welcomebar-fixed' ).css( 'top', '0' );
574
jQuery( '.mysticky-welcomebar-fixed' ).css( 'opacity', '1' );
575
$( 'html' ).css( 'margin-bottom', '' );
576
+ $( 'html' ).attr( 'style', 'margin-top: ' + mysticky_welcomebar_height + 'px !important' );
577
+ $( '#mysticky-nav' ).css( 'top', mysticky_welcomebar_height + 'px' );
578
} else {
579
jQuery( '.mysticky-welcomebar-fixed' ).css( 'bottom', '0' );
580
jQuery( '.mysticky-welcomebar-fixed' ).css( 'opacity', '1' );
581
$( 'html' ).css( 'margin-top', '' );
582
+ $( 'html' ).attr( 'style', 'margin-bottom: ' + mysticky_welcomebar_height + 'px !important' );
583
}
584
}, trigger_sec );
585
}
586
}
587
}
588
+ mystickyelements_present();
589
}
590
+ $( window ).resize( function(){
591
if ( sessionStorage.getItem("welcomebar_close") === null ){
592
var after_trigger = jQuery( '.mysticky-welcomebar-fixed' ).data('after-triger');
593
if ( after_trigger == 'after_a_few_seconds' ) {
602
jQuery( '.mysticky-welcomebar-fixed' ).css( 'top', '0' );
603
jQuery( '.mysticky-welcomebar-fixed' ).css( 'opacity', '1' );
604
$( 'html' ).css( 'margin-bottom', '' );
605
+ $( 'html' ).attr( 'style', 'margin-top: ' + mysticky_welcomebar_height + 'px !important' );
606
+ $( '#mysticky-nav' ).css( 'top', mysticky_welcomebar_height + 'px' );
607
} else {
608
jQuery( '.mysticky-welcomebar-fixed' ).css( 'bottom', '0' );
609
jQuery( '.mysticky-welcomebar-fixed' ).css( 'opacity', '1' );
610
$( 'html' ).css( 'margin-top', '' );
611
+ $( 'html' ).attr( 'style', 'margin-bottom: ' + mysticky_welcomebar_height + 'px !important' );
612
}
613
}, trigger_sec );
614
}
620
jQuery( '.mysticky-welcomebar-fixed' ).css( 'top', '0' );
621
jQuery( '.mysticky-welcomebar-fixed' ).css( 'opacity', '1' );
622
$( 'html' ).css( 'margin-bottom', '' );
623
+ $( 'html' ).attr( 'style', 'margin-top: ' + mysticky_welcomebar_height + 'px !important' );
624
+ $( '#mysticky-nav' ).css( 'top', mysticky_welcomebar_height + 'px' );
625
} else {
626
jQuery( '.mysticky-welcomebar-fixed' ).css( 'bottom', '0' );
627
jQuery( '.mysticky-welcomebar-fixed' ).css( 'opacity', '1' );
628
$( 'html' ).css( 'margin-top', '' );
629
+ $( 'html' ).attr( 'style', 'margin-bottom: ' + mysticky_welcomebar_height + 'px !important' );
630
}
631
}, trigger_sec );
632
}
633
}
634
}
635
+ mystickyelements_present();
636
+ }
637
} );
638
+
639
+ jQuery(window).scroll(function(){
640
if ( sessionStorage.getItem("welcomebar_close") === null ){
641
var welcombar_height = $( '.mysticky-welcomebar-fixed' ).data('height');
642
var welcombar_position = $( '.mysticky-welcomebar-fixed' ).data('position');
643
+ if ( welcombar_position == 'top' ) {
644
+ $( '#mysticky-nav' ).css( 'top', mysticky_welcomebar_height + 'px' );
645
}
646
+ if ( after_trigger === 'after_scroll' ) {
647
+ var scroll = 100 * $(window).scrollTop() / ($(document).height() - $(window).height());
648
var after_scroll_val = jQuery( '.mysticky-welcomebar-fixed' ).data('triger-sec');
649
var welcombar_position = $( '.mysticky-welcomebar-fixed' ).data('position');
650
var welcombar_height = $( '.mysticky-welcomebar-fixed' ).data('height');
656
jQuery( '.mysticky-welcomebar-fixed' ).css( 'top', '0' );
657
jQuery( '.mysticky-welcomebar-fixed' ).css( 'opacity', '1' );
658
$( 'html' ).css( 'margin-bottom', '' );
659
+ $( 'html' ).attr( 'style', 'margin-top: ' + mysticky_welcomebar_height + 'px !important' );
660
+ $( '#mysticky-nav' ).css( 'top', mysticky_welcomebar_height + 'px' );
661
} else {
662
jQuery( '.mysticky-welcomebar-fixed' ).css( 'bottom', '0' );
663
jQuery( '.mysticky-welcomebar-fixed' ).css( 'opacity', '1' );
664
$( 'html' ).css( 'margin-top', '' );
665
+ $( 'html' ).attr( 'style', 'margin-bottom: ' + mysticky_welcomebar_height + 'px !important' );
666
}
667
}
668
}
673
jQuery( '.mysticky-welcomebar-fixed' ).css( 'top', '0' );
674
jQuery( '.mysticky-welcomebar-fixed' ).css( 'opacity', '1' );
675
$( 'html' ).css( 'margin-bottom', '' );
676
+ $( 'html' ).attr( 'style', 'margin-top: ' + mysticky_welcomebar_height + 'px !important' );
677
+ $( '#mysticky-nav' ).css( 'top', mysticky_welcomebar_height + 'px' );
678
} else {
679
jQuery( '.mysticky-welcomebar-fixed' ).css( 'bottom', '0' );
680
jQuery( '.mysticky-welcomebar-fixed' ).css( 'opacity', '1' );
681
$( 'html' ).css( 'margin-top', '' );
682
+ $( 'html' ).attr( 'style', 'margin-bottom: ' + mysticky_welcomebar_height + 'px !important' );
683
}
684
}
685
}
686
}
687
}
688
+ mystickyelements_present();
689
}
690
+
691
});
692
+ jQuery( '.mysticky-welcomebar-close, .mysticky-welcomebar-btn a' ).on( 'click', function(){
693
+ console.log("mysticky_welcomebar_height = " + mysticky_welcomebar_height);
694
+ sessionStorage.setItem('welcomebar_close', 'close');
695
var welcombar_position = $( '.mysticky-welcomebar-fixed' ).data('position');
696
+ var welcombar_height = $( '.mysticky-welcomebar-fixed' ).data('height');
697
jQuery( '.mysticky-welcomebar-fixed' ).slideUp( 'slow' );
698
if ( welcombar_position == 'top' ) {
699
+ jQuery( '.mysticky-welcomebar-fixed' ).css( 'top', '-' + mysticky_welcomebar_height + 'px' );
700
} else {
701
+ jQuery( '.mysticky-welcomebar-fixed' ).css( 'bottom', '-' + mysticky_welcomebar_height + 'px' );
702
}
703
jQuery( 'html' ).css( 'margin-top', '' );
704
jQuery( 'html' ).css( 'margin-bottom', '' );
705
$( '#mysticky-nav' ).css( 'top', '0px' );
706
+ /*if mystickyelements show*/
707
+ var mystickyelements_show = $( '.mystickyelements-fixed' ).length;
708
+ if( mystickyelements_show && $( window ).width() <= 1024 && $( '.mystickyelements-fixed' ).hasClass( 'mystickyelements-position-mobile-top' ) && welcombar_position == 'top' ) {
709
+ var mystickyelements_height = $( '.mystickyelements-fixed' ).height();
710
+ $( '.mystickyelements-fixed' ).css( 'top', '' );
711
+ $( 'html' ).attr( 'style', 'margin-top: ' + mystickyelements_height + 'px !important' );
712
+ }
713
} );
714
});
715
+ function mystickyelements_present() {
716
+ var after_trigger = jQuery( '.mysticky-welcomebar-fixed' ).data('after-triger');
717
+ var mystickyelements_show = jQuery( '.mystickyelements-fixed' ).length;
718
+ if( mystickyelements_show ) {
719
+ var welcombar_position = jQuery( '.mysticky-welcomebar-fixed' ).data('position');
720
+ var welcombar_height = jQuery( '.mysticky-welcomebar-fixed' ).innerHeight();
721
+ var mystickyelements_height = jQuery( '.mystickyelements-fixed' ).height();
722
+ var mystickyelements_total_height = welcombar_height + mystickyelements_height;
723
+ if ( jQuery( window ).width() <= 1024 && jQuery( '.mystickyelements-fixed' ).hasClass( 'mystickyelements-position-mobile-top' ) ) {
724
+ if ( after_trigger == 'after_a_few_seconds' ) {
725
+ if ( jQuery( '.mysticky-welcomebar-fixed' ).hasClass( 'mysticky-welcomebar-display-mobile' ) ) {
726
+ var trigger_sec = jQuery( '.mysticky-welcomebar-fixed' ).data('triger-sec') * 1000;
727
+ setTimeout(function(){
728
+ if ( welcombar_position == 'top' ) {
729
+ jQuery( '.mystickyelements-fixed' ).css( 'top', welcombar_height );
730
+ jQuery( 'html' ).attr( 'style', 'margin-top: ' + mystickyelements_total_height + 'px !important' );
731
+ } else {
732
+ jQuery( '.mystickyelements-fixed' ).css( 'top', '' );
733
+ jQuery( 'html' ).attr( 'style', 'margin-bottom: ' + welcombar_height + 'px !important' );
734
+ }
735
+ }, trigger_sec );
736
+ }
737
+ } else if ( after_trigger === 'after_scroll' ) {
738
+ var scroll = 100 * $(window).scrollTop() / ($(document).height() - $(window).height());
739
+ var after_scroll_val = $( '.mysticky-welcomebar-fixed' ).data('triger-sec');
740
+ if( scroll > after_scroll_val ) {
741
+ if ( jQuery( '.mysticky-welcomebar-fixed' ).hasClass( 'mysticky-welcomebar-display-mobile' ) ) {
742
+ if ( welcombar_position == 'top' ) {
743
+ jQuery( '.mystickyelements-fixed' ).css( 'top', welcombar_height );
744
+ jQuery( 'html' ).attr( 'style', 'margin-top: ' + mystickyelements_total_height + 'px !important' );
745
+ } else {
746
+ jQuery( '.mystickyelements-fixed' ).css( 'top', '' );
747
+ jQuery( 'html' ).attr( 'style', 'margin-bottom: ' + welcombar_height + 'px !important' );
748
+ }
749
+ }
750
+ }
751
+ }
752
+ }
753
+ }
754
+ }
755
</script>
756
<style>
757
.mysticky-welcomebar-fixed {
879
.mysticky-welcomebar-getbar:hover {
880
color: #000000 !important;
881
opacity: 0.5 !important;
882
+ }
883
+ @media only screen and (max-width: 767px) {
884
.mysticky-welcomebar-display-desktop.mysticky-welcomebar-position-top.mysticky-welcomebar-fixed {
885
top: -60px;
886
}