myStickymenu - Version 1.3

Version Description

Download this release

Release Info

Developer damiroquai
Plugin Icon 128x128 myStickymenu
Version 1.3
Comparing to
See all releases

Code changes from version 1.2 to 1.3

Files changed (4) hide show
  1. mystickymenu.css +1 -38
  2. mystickymenu.php +84 -31
  3. readme.txt +4 -5
  4. screenshot-1.png +0 -0
mystickymenu.css CHANGED
@@ -1,38 +1 @@
1
- .navbar {
2
- z-index: 100000;
3
- /*add this line if you use 100% menu width, usually not needed*/
4
- /*max-width: 100% !important;*/
5
- text-transform:uppercase;
6
- font-weight:bold;
7
- -webkit-transition: 0.2s;
8
- -moz-transition: 0.2s;
9
- -o-transition: 0.2s;
10
- transition: 0.2s;
11
- }
12
- .myfixed {
13
- position: fixed;
14
- top: 0;
15
- -ms-filter:"progid:DXImageTransform.Microsoft.Alpha(Opacity=95)";
16
- filter: alpha(opacity=95);
17
- opacity:.95;
18
- background-color: #C94812 !important;
19
- }
20
- .nav-menu li a:hover {
21
- background-color: #111 !important;
22
- -webkit-transition: 0.6s;
23
- -moz-transition: 0.6s;
24
- -o-transition: 0.6s;
25
- transition: 0.6s;
26
- }
27
- .nav-menu .current_page_item > a,
28
- .nav-menu .current_page_ancestor > a,
29
- .nav-menu .current-menu-item > a,
30
- .nav-menu .current-menu-ancestor > a {
31
- color: #fff !important;
32
- font-style: normal !important;
33
- background-color:#111 !important;
34
- }
35
- #wpadminbar {
36
- position: absolute !important;
37
- top: 0px !important;
38
- }
1
+ /*Depracated*/
mystickymenu.php CHANGED
@@ -3,12 +3,14 @@
3
Plugin Name: myStickymenu
4
Plugin URI: http://wordpress.transformnews.com/plugins/mystickymenu-simple-sticky-fixed-on-top-menu-implementation-for-twentythirteen-menu-269
5
Description: Simple sticky (fixed on top) menu implementation for default Twentythirteen navigation menu. For other themes, after install go to Settings / myStickymenu and change navigation class to .your_navbar_class or #your_navbar_id.
6
- Version: 1.2
7
Author: m.r.d.a
8
License: GPLv2 or later
9
*/
10
11
- // add plugin admin settings by otto
12
class MyStickyMenuPage
13
{
14
/**
@@ -82,6 +84,8 @@ class MyStickyMenuPage
82
'myfixed_bgcolor' => '#F39A30',
83
'myfixed_opacity' => '95',
84
'myfixed_transition_time' => '0.3',
85
86
);
87
@@ -111,7 +115,7 @@ class MyStickyMenuPage
111
112
add_settings_field(
113
'mysticky_class_selector', // ID
114
- 'mySticky Class', // Title
115
array( $this, 'mysticky_class_selector_callback' ), // Callback
116
'my-stickymenu-settings', // Page
117
'setting_section_id' // Section
@@ -119,7 +123,7 @@ class MyStickyMenuPage
119
120
add_settings_field(
121
'myfixed_zindex',
122
- 'mySticky z-index',
123
array( $this, 'myfixed_zindex_callback' ),
124
'my-stickymenu-settings',
125
'setting_section_id'
@@ -127,7 +131,7 @@ class MyStickyMenuPage
127
128
add_settings_field(
129
'myfixed_width',
130
- 'mySticky Width',
131
array( $this, 'myfixed_width_callback' ),
132
'my-stickymenu-settings',
133
'setting_section_id'
@@ -135,7 +139,7 @@ class MyStickyMenuPage
135
136
add_settings_field(
137
'myfixed_bgcolor',
138
- 'mySticky Background Color',
139
array( $this, 'myfixed_bgcolor_callback' ),
140
'my-stickymenu-settings',
141
'setting_section_id'
@@ -151,14 +155,27 @@ class MyStickyMenuPage
151
152
add_settings_field(
153
'myfixed_transition_time',
154
- 'mySticky Transition Time',
155
array( $this, 'myfixed_transition_time_callback' ),
156
'my-stickymenu-settings',
157
'setting_section_id'
158
);
159
-
160
}
161
-
162
/**
163
* Sanitize each setting field as needed
164
*
@@ -183,7 +200,13 @@ class MyStickyMenuPage
183
$new_input['myfixed_opacity'] = sanitize_text_field( $input['myfixed_opacity'] );
184
185
if( isset( $input['myfixed_transition_time'] ) )
186
- $new_input['myfixed_transition_time'] = sanitize_text_field( $input['myfixed_transition_time'] );
187
188
return $new_input;
189
}
@@ -193,7 +216,7 @@ class MyStickyMenuPage
193
*/
194
public function print_section_info()
195
{
196
- print 'Change mySticky options to suite your needs';
197
}
198
199
/**
@@ -206,9 +229,6 @@ class MyStickyMenuPage
206
isset( $this->options['mysticky_class_selector'] ) ? esc_attr( $this->options['mysticky_class_selector']) : ''
207
);
208
}
209
-
210
- /**
211
- * Get the settings option array and print one of its values*/
212
213
public function myfixed_zindex_callback()
214
{
@@ -248,8 +268,24 @@ class MyStickyMenuPage
248
'<input type="text" id="myfixed_transition_time" name="mysticky_option_name[myfixed_transition_time]" value="%s" /> in seconds, default 0.3',
249
isset( $this->options['myfixed_transition_time'] ) ? esc_attr( $this->options['myfixed_transition_time']) : ''
250
);
251
- }
252
-
253
}
254
255
if( is_admin() )
@@ -258,7 +294,7 @@ if( is_admin() )
258
// end plugin admin settings
259
260
261
- // remove default option for more link that jumps at the midle of page and its covered by menu
262
263
function mysticky_remove_more_jump_link($link) {
264
$offset = strpos($link, '#more-');
@@ -272,43 +308,60 @@ function mysticky_remove_more_jump_link($link) {
272
}
273
add_filter('the_content_more_link', 'mysticky_remove_more_jump_link');
274
275
- // create style from options
276
277
function mysticky_build_stylesheet_content() {
278
$mysticky_options = get_option( 'mysticky_option_name' );
279
- echo '
280
- <style type="text/css">
281
- #wpadminbar {
282
position: absolute !important;
283
top: 0px !important;
284
}
285
- .myfixed {
286
- position: fixed ;
287
- top: 0px;
288
z-index: '. $mysticky_options ['myfixed_zindex'] .';
289
-ms-filter:"progid:DXImageTransform.Microsoft.Alpha(Opacity=' . $mysticky_options ['myfixed_opacity'] . ')";
290
filter: alpha(opacity=' . $mysticky_options ['myfixed_opacity'] . ');
291
opacity:.' . $mysticky_options ['myfixed_opacity'] . ';
292
- width:' . $mysticky_options ['myfixed_width'] . ';
293
- background-color: '. $mysticky_options ['myfixed_bgcolor'] . ';
294
-webkit-transition: ' . $mysticky_options ['myfixed_transition_time'] . 's;
295
-moz-transition: ' . $mysticky_options ['myfixed_transition_time'] . 's;
296
-o-transition: ' . $mysticky_options ['myfixed_transition_time'] . 's;
297
transition: ' . $mysticky_options ['myfixed_transition_time'] . 's;
298
}
299
- </style>
300
- ';
301
-
302
}
303
add_action('wp_head', 'mysticky_build_stylesheet_content');
304
305
306
function mystickymenu_script() {
307
308
- // options on frontpage
309
$mysticky_options = get_option( 'mysticky_option_name' );
310
311
- // register scripts
312
wp_register_script('mystickymenu', WP_PLUGIN_URL. '/mystickymenu/mystickymenu.js', false,'1.0.0', true);
313
wp_enqueue_script( 'mystickymenu' );
314
3
Plugin Name: myStickymenu
4
Plugin URI: http://wordpress.transformnews.com/plugins/mystickymenu-simple-sticky-fixed-on-top-menu-implementation-for-twentythirteen-menu-269
5
Description: Simple sticky (fixed on top) menu implementation for default Twentythirteen navigation menu. For other themes, after install go to Settings / myStickymenu and change navigation class to .your_navbar_class or #your_navbar_id.
6
+ Version: 1.3
7
Author: m.r.d.a
8
License: GPLv2 or later
9
*/
10
+ // Block direct acess to the file
11
+ defined('ABSPATH') or die("Cannot access pages directly.");
12
13
+ // Add plugin admin settings by Otto
14
class MyStickyMenuPage
15
{
16
/**
84
'myfixed_bgcolor' => '#F39A30',
85
'myfixed_opacity' => '95',
86
'myfixed_transition_time' => '0.3',
87
+ 'myfixed_disable_small_screen' => false,
88
+ 'myfixed_disable_admin_bar' => false
89
90
);
91
115
116
add_settings_field(
117
'mysticky_class_selector', // ID
118
+ 'Sticky Class', // Title
119
array( $this, 'mysticky_class_selector_callback' ), // Callback
120
'my-stickymenu-settings', // Page
121
'setting_section_id' // Section
123
124
add_settings_field(
125
'myfixed_zindex',
126
+ 'Sticky z-index',
127
array( $this, 'myfixed_zindex_callback' ),
128
'my-stickymenu-settings',
129
'setting_section_id'
131
132
add_settings_field(
133
'myfixed_width',
134
+ 'Sticky Width',
135
array( $this, 'myfixed_width_callback' ),
136
'my-stickymenu-settings',
137
'setting_section_id'
139
140
add_settings_field(
141
'myfixed_bgcolor',
142
+ 'Sticky Background Color',
143
array( $this, 'myfixed_bgcolor_callback' ),
144
'my-stickymenu-settings',
145
'setting_section_id'
155
156
add_settings_field(
157
'myfixed_transition_time',
158
+ 'Sticky Transition Time',
159
array( $this, 'myfixed_transition_time_callback' ),
160
'my-stickymenu-settings',
161
'setting_section_id'
162
);
163
+ add_settings_field(
164
+ 'myfixed_disable_small_screen',
165
+ 'Enable at Small Screen Sizes',
166
+ array( $this, 'myfixed_disable_small_screen_callback' ),
167
+ 'my-stickymenu-settings',
168
+ 'setting_section_id'
169
+ );
170
+ add_settings_field(
171
+ 'myfixed_disable_admin_bar',
172
+ 'Remove CSS Rules for Static Admin Bar while Sticky',
173
+ array( $this, 'myfixed_disable_admin_bar_callback' ),
174
+ 'my-stickymenu-settings',
175
+ 'setting_section_id'
176
+ );
177
}
178
+
179
/**
180
* Sanitize each setting field as needed
181
*
200
$new_input['myfixed_opacity'] = sanitize_text_field( $input['myfixed_opacity'] );
201
202
if( isset( $input['myfixed_transition_time'] ) )
203
+ $new_input['myfixed_transition_time'] = sanitize_text_field( $input['myfixed_transition_time'] );
204
+
205
+ if( isset( $input['myfixed_disable_small_screen'] ) )
206
+ $new_input['myfixed_disable_small_screen'] = sanitize_text_field( $input['myfixed_disable_small_screen'] );
207
+
208
+ if( isset( $input['myfixed_disable_admin_bar'] ) )
209
+ $new_input['myfixed_disable_admin_bar'] = sanitize_text_field( $input['myfixed_disable_admin_bar'] );
210
211
return $new_input;
212
}
216
*/
217
public function print_section_info()
218
{
219
+ print 'Change myStickymenu options to suite your needs. Default plugin settings work for Twenty Thirteen theme. For other themes you will probably need to change sticky class, please note that some options may be overriden by your theme css. Use .myfixed class in theme or theme child stylesheet for sticky menu if you need extra css settings.';
220
}
221
222
/**
229
isset( $this->options['mysticky_class_selector'] ) ? esc_attr( $this->options['mysticky_class_selector']) : ''
230
);
231
}
232
233
public function myfixed_zindex_callback()
234
{
268
'<input type="text" id="myfixed_transition_time" name="mysticky_option_name[myfixed_transition_time]" value="%s" /> in seconds, default 0.3',
269
isset( $this->options['myfixed_transition_time'] ) ? esc_attr( $this->options['myfixed_transition_time']) : ''
270
);
271
+ }
272
+
273
+ public function myfixed_disable_small_screen_callback()
274
+ {
275
+ printf(
276
+ '<input id="%1$s" name="mysticky_option_name[myfixed_disable_small_screen]" type="checkbox" %2$s /> Enable mysticky menu on small resolutions, less than 359px, default unchecked.',
277
+ 'myfixed_disable_small_screen',
278
+ checked( isset( $this->options['myfixed_disable_small_screen'] ), true, false )
279
+ );
280
+ }
281
+ public function myfixed_disable_admin_bar_callback()
282
+ {
283
+ printf(
284
+ '<input id="%1$s" name="mysticky_option_name[myfixed_disable_admin_bar]" type="checkbox" %2$s /> Select this only if your theme does not show fixed admin bar on frontpage, default unchecked.',
285
+ 'myfixed_disable_admin_bar',
286
+ checked( isset( $this->options['myfixed_disable_admin_bar'] ), true, false )
287
+ );
288
+ }
289
}
290
291
if( is_admin() )
294
// end plugin admin settings
295
296
297
+ // Remove default option for more link that jumps at the midle of page and its covered by menu
298
299
function mysticky_remove_more_jump_link($link) {
300
$offset = strpos($link, '#more-');
308
}
309
add_filter('the_content_more_link', 'mysticky_remove_more_jump_link');
310
311
+ // Create style from options
312
313
function mysticky_build_stylesheet_content() {
314
$mysticky_options = get_option( 'mysticky_option_name' );
315
+ echo
316
+ '<style type="text/css">
317
+ ';
318
+ if ($mysticky_options ['myfixed_disable_admin_bar'] == false ){
319
+ echo
320
+ '#wpadminbar {
321
position: absolute !important;
322
top: 0px !important;
323
}
324
+ ';
325
+ }
326
+ echo
327
+ '.myfixed {
328
+ position: fixed;
329
+ top: 0px!important;
330
+ margin-top: 0px!important;
331
z-index: '. $mysticky_options ['myfixed_zindex'] .';
332
-ms-filter:"progid:DXImageTransform.Microsoft.Alpha(Opacity=' . $mysticky_options ['myfixed_opacity'] . ')";
333
filter: alpha(opacity=' . $mysticky_options ['myfixed_opacity'] . ');
334
opacity:.' . $mysticky_options ['myfixed_opacity'] . ';
335
+ ';
336
+ if ($mysticky_options ['myfixed_width'] >= 1 ){
337
+ echo
338
+ 'width:' . $mysticky_options ['myfixed_width'] . '!important;
339
+ ';
340
+ }
341
+ echo
342
+ 'background-color: ' . $mysticky_options ['myfixed_bgcolor'] . '!important;
343
-webkit-transition: ' . $mysticky_options ['myfixed_transition_time'] . 's;
344
-moz-transition: ' . $mysticky_options ['myfixed_transition_time'] . 's;
345
-o-transition: ' . $mysticky_options ['myfixed_transition_time'] . 's;
346
transition: ' . $mysticky_options ['myfixed_transition_time'] . 's;
347
}
348
+ ';
349
+ if ($mysticky_options ['myfixed_disable_small_screen'] == false ){
350
+ echo
351
+ '@media (max-width: 359px) {.myfixed {position: static!important;}}
352
+ ';
353
+ }
354
+ echo '</style>
355
+ ';
356
}
357
add_action('wp_head', 'mysticky_build_stylesheet_content');
358
359
360
function mystickymenu_script() {
361
362
$mysticky_options = get_option( 'mysticky_option_name' );
363
364
+ // Register scripts
365
wp_register_script('mystickymenu', WP_PLUGIN_URL. '/mystickymenu/mystickymenu.js', false,'1.0.0', true);
366
wp_enqueue_script( 'mystickymenu' );
367
readme.txt CHANGED
@@ -4,10 +4,10 @@ Donate link: http://wordpress.transformnews.com
4
Tags: sticky menu, twentythirteen, twenty-thirteen, plugin, menu
5
Requires at least: 3.8
6
Tested up to: 3.8.1
7
- Stable tag: 1.2
8
License: GPLv2 or later
9
10
- This lightweight plugin will made your Twentythirteen menu sticky on top of page after scroll hits upper border.
11
12
== Description ==
13
Plugin is designed for Twentythirteen template but should work on any theme, it's using default twentythirteen ".navbar" css class and that should be modified for other themes if different.
@@ -23,6 +23,5 @@ If using template other than Twenty Thirteen go to Settings / myStickymenu and c
23
Original javascript used from http://jsbin.com/omanut/2/edit
24
25
== Screenshots ==
26
- 1. screenshot-1.png in plugin folder shows menu when page is opened, and not scrolled.
27
- 2. screenshot-2.png shows menu when page is scrolled towards the bottom.
28
- 3. screenshot-3.png shows myStickymenu admin settings page.
4
Tags: sticky menu, twentythirteen, twenty-thirteen, plugin, menu
5
Requires at least: 3.8
6
Tested up to: 3.8.1
7
+ Stable tag: 1.3
8
License: GPLv2 or later
9
10
+ This lightweight plugin will made your menu sticky on top of page, after scroll, when selected sticky class hits upper border.
11
12
== Description ==
13
Plugin is designed for Twentythirteen template but should work on any theme, it's using default twentythirteen ".navbar" css class and that should be modified for other themes if different.
23
Original javascript used from http://jsbin.com/omanut/2/edit
24
25
== Screenshots ==
26
+ 1. screenshot-1.png shows administration settings.
27
+ 2. screenshot-2.png shows menu when page is scrolled towards the bottom.
screenshot-1.png CHANGED
Binary file