mystickymenu
Last commit date
css
7 years ago
images
7 years ago
js
7 years ago
languages
8 years ago
index.php
8 years ago
mystickymenu.php
7 years ago
readme.txt
7 years ago
uninstall.php
7 years ago
mystickymenu.php
801 lines
| 1 | <?php |
| 2 | /* |
| 3 | Plugin Name: myStickymenu |
| 4 | Plugin URI: https://premio.io/ |
| 5 | Description: Simple sticky (fixed on top) menu implementation for navigation menu. After install go to Settings / myStickymenu and change Sticky Class to .your_navbar_class or #your_navbar_id. |
| 6 | Version: 2.1.1 |
| 7 | Author: Premio |
| 8 | Author URI: https://premio.io/ |
| 9 | Text Domain: mystickymenu |
| 10 | Domain Path: /languages |
| 11 | License: GPLv2 or later |
| 12 | */ |
| 13 | |
| 14 | defined('ABSPATH') or die("Cannot access pages directly."); |
| 15 | define( 'MYSTICKY_VERSION', '2.1.1' ); |
| 16 | |
| 17 | class MyStickyMenuBackend |
| 18 | { |
| 19 | private $options; |
| 20 | |
| 21 | public function __construct() |
| 22 | { |
| 23 | add_action( 'admin_menu', array( $this, 'add_plugin_page' ) ); |
| 24 | add_action( 'admin_init', array( $this, 'mysticky_load_transl') ); |
| 25 | |
| 26 | add_action( 'admin_init', array( $this, 'mysticky_default_options' ) ); |
| 27 | //add_action( 'admin_head', array( $this, 'mysticky_admin_script' ) ); |
| 28 | add_action( 'admin_enqueue_scripts', array( $this, 'mysticky_admin_script' ) ); |
| 29 | |
| 30 | add_filter( 'plugin_action_links_mystickymenu/mystickymenu.php', array( $this, 'mystickymenu_settings_link' ) ); |
| 31 | |
| 32 | add_action( 'activated_plugin', array( $this, 'mystickymenu_activation_redirect' ) ); |
| 33 | } |
| 34 | |
| 35 | public function mystickymenu_settings_link($links){ |
| 36 | $settings_link = '<a href="options-general.php?page=my-stickymenu-settings">Settings</a>'; |
| 37 | array_unshift($links, $settings_link); |
| 38 | return $links; |
| 39 | } |
| 40 | |
| 41 | public function mystickymenu_activation_redirect( $plugin) { |
| 42 | if( $plugin == plugin_basename( __FILE__ ) ) { |
| 43 | wp_redirect( admin_url( 'options-general.php?page=my-stickymenu-settings' ) ) ; |
| 44 | exit; |
| 45 | } |
| 46 | } |
| 47 | |
| 48 | public function mysticky_admin_script($hook) { |
| 49 | if ($hook != 'settings_page_my-stickymenu-settings') { |
| 50 | return; |
| 51 | } |
| 52 | |
| 53 | wp_enqueue_script('jquery-ui-slider'); |
| 54 | wp_enqueue_script('jquery-ui-js' ,'https://code.jquery.com/ui/1.12.1/jquery-ui.js',array( 'jquery' ), MYSTICKY_VERSION); |
| 55 | wp_register_script('mystickymenuAdminScript', plugins_url('/js/mystickymenu-admin.js', __FILE__), array( 'jquery' ), MYSTICKY_VERSION); |
| 56 | wp_enqueue_script('mystickymenuAdminScript'); |
| 57 | |
| 58 | |
| 59 | wp_enqueue_style('google-fonts', 'https://fonts.googleapis.com/css?family=Poppins:400,600,700' ); |
| 60 | wp_enqueue_style('jquery-ui-css', 'https://code.jquery.com/ui/1.12.1/themes/base/jquery-ui.css' ); |
| 61 | //wp_enqueue_style('jquery-mobile-css', plugins_url('/css/jquery.mobile.min.css', __FILE__) ); |
| 62 | wp_register_style('mystickymenuAdminStyle', plugins_url('/css/mystickymenu-admin.css', __FILE__), array(), MYSTICKY_VERSION ); |
| 63 | wp_enqueue_style('mystickymenuAdminStyle'); |
| 64 | |
| 65 | wp_enqueue_style( 'wp-color-picker' ); |
| 66 | wp_enqueue_script( 'my-script-handle', plugins_url('js/iris-script.js', __FILE__ ), array( 'wp-color-picker' ), false, true ); |
| 67 | } |
| 68 | |
| 69 | public function mysticky_load_transl(){ |
| 70 | load_plugin_textdomain('mystickymenu', FALSE, dirname(plugin_basename(__FILE__)).'/languages/'); |
| 71 | } |
| 72 | |
| 73 | public function add_plugin_page(){ |
| 74 | // This page will be under "Settings" |
| 75 | add_options_page( |
| 76 | 'Settings Admin', |
| 77 | 'myStickymenu', |
| 78 | 'manage_options', |
| 79 | 'my-stickymenu-settings', |
| 80 | array( $this, 'create_admin_page' ) |
| 81 | ); |
| 82 | } |
| 83 | |
| 84 | public function create_admin_page(){ |
| 85 | // Set class property |
| 86 | if ( isset($_POST['mysticky_option_name']) && !empty($_POST['mysticky_option_name']) ) { |
| 87 | update_option( 'mysticky_option_name', $_POST['mysticky_option_name']); |
| 88 | |
| 89 | echo '<div class="updated settings-error notice is-dismissible "><p><strong>' . esc_html__('Settings saved.','mystickymenu'). '</p></strong></div>'; |
| 90 | } |
| 91 | |
| 92 | $mysticky_options = get_option( 'mysticky_option_name'); |
| 93 | $is_old = get_option("has_sticky_header_old_version"); |
| 94 | $is_old = ($is_old == "no")?false:true; |
| 95 | ?> |
| 96 | <div id="mystickymenu" class="wrap mystickymenu"> |
| 97 | <div class="sticky-header-menu"> |
| 98 | <ul> |
| 99 | <li><a href="#sticky-header-settings" class="active"><?php _e('Settings', 'mystickymenu'); ?></a></li> |
| 100 | <li><a href="#sticky-header-upgrade"><?php _e('Upgrade to Pro', 'mystickymenu'); ?></a></li> |
| 101 | </ul> |
| 102 | </div> |
| 103 | <div style="display: block" id="sticky-header-settings" class="sticky-header-content"> |
| 104 | <div class="mystickymenu-heading"> |
| 105 | <div class="myStickymenu-header-title"> |
| 106 | <h3><?php _e('How To Make a Sticky Header', 'mystickymenu'); ?></h3> |
| 107 | </div> |
| 108 | <p><?php _e("Add sticky menu / header to any theme. <br />Simply change 'Sticky Class' to HTML element class desired to be sticky (div id can be used as well).", 'mystickymenu'); ?></p> |
| 109 | </div> |
| 110 | |
| 111 | <form class="mysticky-form" method="post" action="#"> |
| 112 | <div class="mystickymenu-content-section sticky-class-sec"> |
| 113 | <table> |
| 114 | <tr> |
| 115 | <td> |
| 116 | <label class="mysticky_title"><?php _e("Sticky Class", 'mystickymenu')?></label> |
| 117 | <br /><br /> |
| 118 | <?php $nav_menus = wp_get_nav_menus(); |
| 119 | $menu_locations = get_nav_menu_locations(); |
| 120 | $locations = get_registered_nav_menus(); |
| 121 | ?> |
| 122 | <select name="mysticky_option_name[mysticky_class_id_selector]" id="mystickymenu-select"> |
| 123 | <option value=""><?php _e( 'Select Sticky Menu', 'mystickymenu' ); ?></option> |
| 124 | |
| 125 | <?php foreach ( (array) $nav_menus as $_nav_menu ) : ?> |
| 126 | <option value="<?php echo esc_attr( $_nav_menu->slug ); ?>" <?php selected( $_nav_menu->slug, $mysticky_options['mysticky_class_id_selector'] ); ?>> |
| 127 | <?php |
| 128 | echo esc_html( $_nav_menu->name ); |
| 129 | |
| 130 | if ( ! empty( $menu_locations ) && in_array( $_nav_menu->term_id, $menu_locations ) ) { |
| 131 | $locations_assigned_to_this_menu = array(); |
| 132 | foreach ( array_keys( $menu_locations, $_nav_menu->term_id ) as $menu_location_key ) { |
| 133 | if ( isset( $locations[ $menu_location_key ] ) ) { |
| 134 | $locations_assigned_to_this_menu[] = $locations[ $menu_location_key ]; |
| 135 | } |
| 136 | } |
| 137 | |
| 138 | /** |
| 139 | * Filters the number of locations listed per menu in the drop-down select. |
| 140 | * |
| 141 | * @since 3.6.0 |
| 142 | * |
| 143 | * @param int $locations Number of menu locations to list. Default 3. |
| 144 | */ |
| 145 | $assigned_locations = array_slice( $locations_assigned_to_this_menu, 0, absint( apply_filters( 'wp_nav_locations_listed_per_menu', 3 ) ) ); |
| 146 | |
| 147 | // Adds ellipses following the number of locations defined in $assigned_locations. |
| 148 | if ( ! empty( $assigned_locations ) ) { |
| 149 | printf( |
| 150 | ' (%1$s%2$s)', |
| 151 | implode( ', ', $assigned_locations ), |
| 152 | count( $locations_assigned_to_this_menu ) > count( $assigned_locations ) ? ' …' : '' |
| 153 | ); |
| 154 | } |
| 155 | } |
| 156 | ?> |
| 157 | </option> |
| 158 | <?php endforeach; ?> |
| 159 | <option value="custom" <?php selected( 'custom', $mysticky_options['mysticky_class_id_selector'] ); ?>><?php esc_html_e( 'Other Class Or ID', 'mystickymenu' );?></option> |
| 160 | </select> |
| 161 | |
| 162 | <input type="text" size="18" id="mysticky_class_selector" class="mystickyinput" name="mysticky_option_name[mysticky_class_selector]" value="<?php echo $mysticky_options['mysticky_class_selector'];?>" /> |
| 163 | |
| 164 | <p class="description"><?php _e("menu or header element class or id.", 'mystickymenu')?></p> |
| 165 | </td> |
| 166 | <td> |
| 167 | <div class="mysticky_device_upgrade"> |
| 168 | <label class="mysticky_title"><?php _e("Devices", 'mystickymenu')?></label> |
| 169 | <span class="myStickymenu-upgrade"><a class="sticky-header-upgrade-now" href="#" target="_blank"><?php _e( 'Upgrade Now', 'mystickymenu' );?></a></span> |
| 170 | <ul class="mystickymenu-input-multicheckbox"> |
| 171 | <li> |
| 172 | <label> |
| 173 | <input id="disable_css" name="mysticky_option_name[device_desktop]" type="checkbox" checked disabled /> |
| 174 | <?php _e( 'Desktop', 'mystickymenu' );?> |
| 175 | <label> |
| 176 | </li> |
| 177 | <li> |
| 178 | <label> |
| 179 | <input id="disable_css" name="mysticky_option_name[device_mobile]" type="checkbox" checked disabled /> |
| 180 | <?php _e( 'Mobile', 'mystickymenu' );?> |
| 181 | <label> |
| 182 | </li> |
| 183 | </ul> |
| 184 | </div> |
| 185 | </td> |
| 186 | </tr> |
| 187 | </table> |
| 188 | </div> |
| 189 | |
| 190 | |
| 191 | <div class="mystickymenu-content-section"> |
| 192 | <h3><?php esc_html_e( 'Settings', 'mystickymenu' );?></h3> |
| 193 | <table class="form-table"> |
| 194 | <tr> |
| 195 | <td> |
| 196 | <label for="myfixed_zindex" class="mysticky_title"><?php _e("Sticky z-index", 'mystickymenu')?></label> |
| 197 | </td> |
| 198 | <td> |
| 199 | <input type="number" min="0" max="2147483647" step="1" class="mysticky-number" id="myfixed_zindex" name="mysticky_option_name[myfixed_zindex]" value="<?php echo $mysticky_options['myfixed_zindex'];?>" /> |
| 200 | </td> |
| 201 | <td> |
| 202 | <label class="mysticky_title myssticky-remove-hand"><?php _e("Fade or slide effect", 'mystickymenu')?></label> |
| 203 | </td> |
| 204 | <td> |
| 205 | <label> |
| 206 | <input name="mysticky_option_name[myfixed_fade]" value= "slide" type="radio" <?php checked( $mysticky_options['myfixed_fade'], 'slide' );?> /> |
| 207 | <?php _e("Slide", 'mystickymenu'); ?> |
| 208 | </label> |
| 209 | <label> |
| 210 | <input name="mysticky_option_name[myfixed_fade]" value="fade" type="radio" <?php checked( $mysticky_options['myfixed_fade'], 'fade' );?> /> |
| 211 | <?php _e("Fade", 'mystickymenu'); ?> |
| 212 | </label> |
| 213 | </td> |
| 214 | </tr> |
| 215 | <tr> |
| 216 | <td> |
| 217 | <label for="myfixed_disable_small_screen" class="mysticky_title"><?php _e("Disable at Small Screen Sizes", 'mystickymenu')?></label> |
| 218 | <p class="description"><?php _e('Less than chosen screen width, set 0 to disable','mystickymenu');?></p> |
| 219 | </td> |
| 220 | <td> |
| 221 | <div class="px-wrap"> |
| 222 | <input type="number" class="" min="0" step="1" id="myfixed_disable_small_screen" name="mysticky_option_name[myfixed_disable_small_screen]" value="<?php echo $mysticky_options['myfixed_disable_small_screen'];?>" /> |
| 223 | <span class="input-px">PX</span> |
| 224 | </div> |
| 225 | </td> |
| 226 | <td> |
| 227 | <label for="mysticky_active_on_height" class="mysticky_title"><?php _e("Make visible on Scroll", 'mystickymenu')?></label> |
| 228 | <p class="description"><?php _e('If set to 0 auto calculate will be used.','mystickymenu');?></p> |
| 229 | </td> |
| 230 | <td> |
| 231 | <div class="px-wrap"> |
| 232 | <input type="number" class="small-text" min="0" step="1" id="mysticky_active_on_height" name="mysticky_option_name[mysticky_active_on_height]" value="<?php echo $mysticky_options['mysticky_active_on_height'];?>" /> |
| 233 | <span class="input-px">PX</span> |
| 234 | </div> |
| 235 | </td> |
| 236 | </tr> |
| 237 | <tr> |
| 238 | <td> |
| 239 | <label for="mysticky_active_on_height_home" class="mysticky_title"><?php _e("Make visible on Scroll at homepage", 'mystickymenu')?></label> |
| 240 | <p class="description"><?php _e( 'If set to 0 it will use initial Make visible on Scroll value.', 'mystickymenu' );?></p> |
| 241 | </td> |
| 242 | <td> |
| 243 | <div class="px-wrap"> |
| 244 | <input type="number" class="small-text" min="0" step="1" id="mysticky_active_on_height_home" name="mysticky_option_name[mysticky_active_on_height_home]" value="<?php echo $mysticky_options['mysticky_active_on_height_home'];?>" /> |
| 245 | <span class="input-px">PX</span> |
| 246 | </div> |
| 247 | </td> |
| 248 | <td> |
| 249 | <label for="myfixed_bgcolor" class="mysticky_title myssticky-remove-hand"><?php _e("Sticky Background Color", 'mystickymenu')?></label> |
| 250 | </td> |
| 251 | <td> |
| 252 | <input type="text" id="myfixed_bgcolor" name="mysticky_option_name[myfixed_bgcolor]" class="my-color-field" value="<?php echo $mysticky_options['myfixed_bgcolor'];?>" /> |
| 253 | |
| 254 | </td> |
| 255 | </tr> |
| 256 | <tr> |
| 257 | <td> |
| 258 | <label for="myfixed_transition_time" class="mysticky_title"><?php _e("Sticky Transition Time", 'mystickymenu')?></label> |
| 259 | </td> |
| 260 | <td> |
| 261 | <input type="number" class="small-text" min="0" step="0.1" id="myfixed_transition_time" name="mysticky_option_name[myfixed_transition_time]" value="<?php echo $mysticky_options['myfixed_transition_time'];?>" /> |
| 262 | </td> |
| 263 | <td> |
| 264 | <label for="myfixed_opacity" class="mysticky_title myssticky-remove-hand"><?php _e("Sticky Opacity", 'mystickymenu')?></label> |
| 265 | <p class="description"><?php _e( 'numbers 1-100.', 'mystickymenu');?></p> |
| 266 | </td> |
| 267 | <td> |
| 268 | <input type="hidden" class="small-text mysticky-slider" min="0" step="1" max="100" id="myfixed_opacity" name="mysticky_option_name[myfixed_opacity]" value="<?php echo $mysticky_options['myfixed_opacity'];?>" /> |
| 269 | <div id="slider"> |
| 270 | <div id="custom-handle" class="ui-slider-handle"><?php //echo $mysticky_options['myfixed_opacity'];?></div> |
| 271 | </div> |
| 272 | |
| 273 | </td> |
| 274 | </tr> |
| 275 | </table> |
| 276 | </div> |
| 277 | |
| 278 | <div class="mystickymenu-content-section <?php echo !$is_old?"mystickymenu-content-upgrade":""?>" > |
| 279 | |
| 280 | <div class="mystickymenu-content-option"> |
| 281 | <label class="mysticky_title css-style-title"><?php _e("Hide on Scroll Down", 'mystickymenu'); ?></label> |
| 282 | <?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 } ?> |
| 283 | <p> |
| 284 | <label class="mysticky_text"> |
| 285 | <input id="myfixed_disable_scroll_down" name="mysticky_option_name[myfixed_disable_scroll_down]" type="checkbox" <?php checked( $mysticky_options['myfixed_disable_scroll_down'], 'on' );?> <?php echo !$is_old?"disabled":"" ?> /> |
| 286 | <?php _e("Disable sticky menu at scroll down", 'mystickymenu'); ?> |
| 287 | </label> |
| 288 | </p> |
| 289 | </div> |
| 290 | <div class="mystickymenu-content-option"> |
| 291 | <label class="mysticky_title css-style-title"><?php _e("CSS style", 'mystickymenu'); ?></label> |
| 292 | <span class="mysticky_text"><?php _e( 'Add/edit CSS style. Leave it blank for default style.', 'mystickymenu');?></span> |
| 293 | <div class="mystickymenu-input-section"> |
| 294 | <textarea type="text" rows="4" cols="60" id="myfixed_cssstyle" name="mysticky_option_name[myfixed_cssstyle]" <?php echo !$is_old?"disabled":"" ?> ><?php echo $mysticky_options['myfixed_cssstyle'];?></textarea> |
| 295 | </div> |
| 296 | <p><?php esc_html_e( "CSS ID's and Classes to use:", "mystickymenu" );?></p> |
| 297 | <p> |
| 298 | #mysticky-wrap { }<br/> |
| 299 | #mysticky-nav.wrapfixed { }<br/> |
| 300 | #mysticky-nav.wrapfixed.up { }<br/> |
| 301 | #mysticky-nav.wrapfixed.down { }<br/> |
| 302 | #mysticky-nav .navbar { }<br/> |
| 303 | #mysticky-nav .navbar.myfixed { }<br/> |
| 304 | </p> |
| 305 | </div> |
| 306 | |
| 307 | <div class="mystickymenu-content-option"> |
| 308 | <label class="mysticky_title" for="disable_css"><?php _e("Disable CSS style", 'mystickymenu'); ?></label> |
| 309 | <div class="mystickymenu-input-section"> |
| 310 | <label> |
| 311 | <input id="disable_css" name="mysticky_option_name[disable_css]" type="checkbox" <?php echo !$is_old?"disabled":"" ?> <?php checked( $mysticky_options['disable_css'], 'on' );?> /> |
| 312 | <?php _e( 'Use this option if you plan to include CSS Style manually', 'mystickymenu' );?> |
| 313 | <label> |
| 314 | </div> |
| 315 | <p></p> |
| 316 | </div> |
| 317 | |
| 318 | <div class="mystickymenu-content-option"> |
| 319 | <label class="mysticky_title"><?php _e("Disable at", 'mystickymenu'); ?></label> |
| 320 | <?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 } ?> |
| 321 | <div class="mystickymenu-input-section"> |
| 322 | <ul class="mystickymenu-input-multicheckbox"> |
| 323 | <li> |
| 324 | <label> |
| 325 | <input id="mysticky_disable_at_front_home" name="mysticky_option_name[mysticky_disable_at_front_home]" type="checkbox" <?php echo !$is_old?"disabled":"" ?> <?php checked( $mysticky_options['mysticky_disable_at_front_home'], 'on' );?>/> |
| 326 | <span><?php _e('front page', 'mystickymenu' );?></span> |
| 327 | </label> |
| 328 | </li> |
| 329 | <li> |
| 330 | <label> |
| 331 | <input id="mysticky_disable_at_blog" name="mysticky_option_name[mysticky_disable_at_blog]" type="checkbox" <?php echo !$is_old?"disabled":"" ?> <?php checked( $mysticky_options['mysticky_disable_at_blog'], 'on' );?>/> |
| 332 | <span><?php _e('blog page', 'mystickymenu' );?></span> |
| 333 | </label> |
| 334 | </li> |
| 335 | <li> |
| 336 | <label> |
| 337 | <input id="mysticky_disable_at_page" name="mysticky_option_name[mysticky_disable_at_page]" type="checkbox" <?php echo !$is_old?"disabled":"" ?> <?php checked( $mysticky_options['mysticky_disable_at_page'], 'on' );?> /> |
| 338 | <span><?php _e('pages', 'mystickymenu' );?> </span> |
| 339 | </label> |
| 340 | </li> |
| 341 | <li> |
| 342 | <label> |
| 343 | <input id="mysticky_disable_at_tag" name="mysticky_option_name[mysticky_disable_at_tag]" type="checkbox" <?php echo !$is_old?"disabled":"" ?> <?php checked( $mysticky_options['mysticky_disable_at_tag'], 'on' );?> /> |
| 344 | <span><?php _e('tags', 'mystickymenu' );?> </span> |
| 345 | </label> |
| 346 | </li> |
| 347 | <li> |
| 348 | <label> |
| 349 | <input id="mysticky_disable_at_category" name="mysticky_option_name[mysticky_disable_at_category]" type="checkbox" <?php echo !$is_old?"disabled":"" ?> <?php checked( $mysticky_options['mysticky_disable_at_category'], 'on' );?>/> |
| 350 | <span><?php _e('categories', 'mystickymenu' );?></span> |
| 351 | </label> |
| 352 | </li> |
| 353 | <li> |
| 354 | <label> |
| 355 | <input id="mysticky_disable_at_single" name="mysticky_option_name[mysticky_disable_at_single]" type="checkbox" <?php echo !$is_old?"disabled":"" ?> <?php checked( $mysticky_options['mysticky_disable_at_single'], 'on' );?> /> |
| 356 | <span><?php _e('posts', 'mystickymenu' );?> </span> |
| 357 | </label> |
| 358 | </li> |
| 359 | <li> |
| 360 | <label> |
| 361 | <input id="mysticky_disable_at_archive" name="mysticky_option_name[mysticky_disable_at_archive]" type="checkbox" <?php echo !$is_old?"disabled":"" ?> <?php checked( $mysticky_options['mysticky_disable_at_archive'], 'on' );?> /> |
| 362 | <span><?php _e('archives', 'mystickymenu' );?> </span> |
| 363 | </label> |
| 364 | </li> |
| 365 | <li> |
| 366 | <label> |
| 367 | <input id="mysticky_disable_at_search" name="mysticky_option_name[mysticky_disable_at_search]" type="checkbox" <?php echo !$is_old?"disabled":"" ?> <?php checked( $mysticky_options['mysticky_disable_at_search'], 'on' );?> /> |
| 368 | <span><?php _e('search', 'mystickymenu' );?> </span> |
| 369 | </label> |
| 370 | </li> |
| 371 | <li> |
| 372 | <label> |
| 373 | <input id="mysticky_disable_at_404" name="mysticky_option_name[mysticky_disable_at_404]" type="checkbox" <?php echo !$is_old?"disabled":"" ?> <?php checked( $mysticky_options['mysticky_disable_at_404'], 'on' );?>/> |
| 374 | <span><?php _e('404', 'mystickymenu' );?> </span> |
| 375 | </label> |
| 376 | </li> |
| 377 | </ul> |
| 378 | |
| 379 | <?php |
| 380 | if (isset ( $mysticky_options['mysticky_disable_at_page'] ) == true ) { |
| 381 | echo '<div class="mystickymenu-input-section">'; |
| 382 | _e('<span class="description"><strong>Except for this pages:</strong> </span>', 'mystickymenu'); |
| 383 | |
| 384 | printf( |
| 385 | '<input type="text" size="26" class="mystickymenu_normal_text" id="mysticky_enable_at_pages" name="mysticky_option_name[mysticky_enable_at_pages]" value="%s" /> ', |
| 386 | isset( $mysticky_options['mysticky_enable_at_pages'] ) ? esc_attr( $mysticky_options['mysticky_enable_at_pages']) : '' |
| 387 | ); |
| 388 | |
| 389 | _e('<span class="description">Comma separated list of pages to enable. It should be page name, id or slug. Example: about-us, 1134, Contact Us. Leave blank if you realy want to disable sticky menu for all pages.</span>', 'mystickymenu'); |
| 390 | echo '</div>'; |
| 391 | } |
| 392 | |
| 393 | if (isset ( $mysticky_options['mysticky_disable_at_single'] ) == true ) { |
| 394 | |
| 395 | echo '<div class="mystickymenu-input-section">'; |
| 396 | _e('<span class="description"><strong>Except for this posts:</strong> </span>', 'mystickymenu'); |
| 397 | |
| 398 | printf( |
| 399 | '<input type="text" size="26" class="mystickymenu_normal_text" id="mysticky_enable_at_posts" name="mysticky_option_name[mysticky_enable_at_posts]" value="%s" /> ', |
| 400 | isset( $mysticky_options['mysticky_enable_at_posts'] ) ? esc_attr( $mysticky_options['mysticky_enable_at_posts']) : '' |
| 401 | ); |
| 402 | |
| 403 | _e('<span class="description">Comma separated list of posts to enable. It should be post name, id or slug. Example: about-us, 1134, Contact Us. Leave blank if you realy want to disable sticky menu for all posts.</span>', 'mystickymenu'); |
| 404 | echo '</div>'; |
| 405 | |
| 406 | } |
| 407 | ?> |
| 408 | <p></p> |
| 409 | </div> |
| 410 | </div> |
| 411 | </div> |
| 412 | <p class="submit"> |
| 413 | <input type="submit" name="submit" id="submit" class="button button-primary" value="<?php _e('Save', 'mystickymenu');?>"> |
| 414 | </p> |
| 415 | |
| 416 | </form> |
| 417 | <form class="mysticky-hideformreset" method="post" action=""> |
| 418 | <input name="reset" class="button button-secondary confirm" type="submit" value="<?php _e('Reset', 'mystickymenu');?>" > |
| 419 | <input type="hidden" name="action" value="reset" /> |
| 420 | </form> |
| 421 | <p class="myStickymenu-review"><a href="https://wordpress.org/support/plugin/mystickymenu/reviews/" target="_blank"><?php _e('Leave a review','mystickymenu'); ?></a></p> |
| 422 | </div> |
| 423 | <div id="sticky-header-upgrade" class="sticky-header-content"> |
| 424 | <div id="rpt_pricr" class="rpt_plans rpt_3_plans rpt_style_basic"> |
| 425 | <div class=""> |
| 426 | <div class="rpt_plan rpt_plan_0 "> |
| 427 | <div style="text-align:left;" class="rpt_title rpt_title_0">Basic</div> |
| 428 | <div class="rpt_head rpt_head_0"> |
| 429 | <div class="rpt_recurrence rpt_recurrence_0">For small website owners</div> |
| 430 | <div class="rpt_price rpt_price_0">$9</div> |
| 431 | <div class="rpt_description rpt_description_0">Per year. Renewals for 50% off</div> |
| 432 | <div style="clear:both;"></div> |
| 433 | </div> |
| 434 | <div class="rpt_features rpt_features_0"> |
| 435 | <div class="rpt_feature rpt_feature_0-0"><a href="javascript:;" class="rpt_tooltip"><span class="intool"><b></b>Use myStickymenu on 1 domain</span>1 website<span class="rpt_tooltip_plus" > +</span></a></div> |
| 436 | <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> |
| 437 | <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> |
| 438 | <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> |
| 439 | <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> |
| 440 | <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> |
| 441 | <div class="rpt_feature rpt_feature_0-6">Updates and support for 1 year</div> |
| 442 | </div> |
| 443 | <div style="clear:both;"></div> |
| 444 | <a target="_blank" href="https://go.premio.io/?edd_action=add_to_cart&download_id=2199&edd_options[price_id]=1" class="rpt_foot rpt_foot_0">Buy now</a> |
| 445 | </div> |
| 446 | <div class="rpt_plan rpt_plan_1 rpt_recommended_plan "> |
| 447 | <div style="text-align:left;" class="rpt_title rpt_title_1">Pro<img class="rpt_recommended" src="<?php echo plugins_url("") ?>/mystickymenu/images/rpt_recommended.png" style="top: 27px;"></div> |
| 448 | <div class="rpt_head rpt_head_1"> |
| 449 | <div class="rpt_recurrence rpt_recurrence_1">For businesses with multiple websites</div> |
| 450 | <div class="rpt_price rpt_price_1">$25</div> |
| 451 | <div class="rpt_description rpt_description_1">Per year. Renewals for 50% off</div> |
| 452 | <div style="clear:both;"></div> |
| 453 | </div> |
| 454 | <div class="rpt_features rpt_features_1"> |
| 455 | <div class="rpt_feature rpt_feature_1-0"><a href="javascript:;" class="rpt_tooltip"><span class="intool"><b></b>Use myStickymenu on 5 domains</span>5 websites<span class="rpt_tooltip_plus" > +</span></a></div> |
| 456 | <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> |
| 457 | <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> |
| 458 | <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> |
| 459 | <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> |
| 460 | <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> |
| 461 | <div class="rpt_feature rpt_feature_1-6">Updates and support for 1 year</div> |
| 462 | </div> |
| 463 | <div style="clear:both;"></div> |
| 464 | <a target="_blank" href="https://go.premio.io/?edd_action=add_to_cart&download_id=2199&edd_options[price_id]=2" class="rpt_foot rpt_foot_1">Buy now</a> |
| 465 | </div> |
| 466 | <div class="rpt_plan rpt_plan_2 "> |
| 467 | <div style="text-align:left;" class="rpt_title rpt_title_2">Agency</div> |
| 468 | <div class="rpt_head rpt_head_2"> |
| 469 | <div class="rpt_recurrence rpt_recurrence_2">For agencies who manage clients</div> |
| 470 | <div class="rpt_price rpt_price_2">$49</div> |
| 471 | <div class="rpt_description rpt_description_2">Per year. Renewals for 50% off</div> |
| 472 | <div style="clear:both;"></div> |
| 473 | </div> |
| 474 | <div class="rpt_features rpt_features_2"> |
| 475 | <div class="rpt_feature rpt_feature_2-0"><a href="javascript:;" class="rpt_tooltip"><span class="intool"><b></b>Use myStickymenu on 20 domains</span>20 websites<span class="rpt_tooltip_plus" > +</span></a></div> |
| 476 | <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> |
| 477 | <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> |
| 478 | <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> |
| 479 | <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> |
| 480 | <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> |
| 481 | <div class="rpt_feature rpt_feature_2-6">Updates and support for 1 year</div> |
| 482 | </div> |
| 483 | <div style="clear:both;"></div> |
| 484 | <a target="_blank" href="https://go.premio.io/?edd_action=add_to_cart&download_id=2199&edd_options[price_id]=3" class="rpt_foot rpt_foot_2">Buy now</a> |
| 485 | </div> |
| 486 | </div> |
| 487 | <div style="clear:both;"></div> |
| 488 | <div class="client-testimonial"> |
| 489 | <p class="text-center"><span class="dashicons dashicons-yes"></span> 30 days money back guaranteed</p> |
| 490 | <p class="text-center"><span class="dashicons dashicons-yes"></span> The plugin will always keep working even if you don't renew your license</p> |
| 491 | <div class="payment"> |
| 492 | <svg width="262" height="26" viewBox="0 0 262 26" fill="none" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"> |
| 493 | <g opacity="0.7"> |
| 494 | <rect width="261.088" height="26" fill="black" fill-opacity="0"></rect> |
| 495 | <rect x="216" width="45.0881" height="26" fill="url(#pattern5)"></rect> |
| 496 | <rect x="162" width="45.0881" height="26" fill="url(#pattern1)"></rect> |
| 497 | <rect x="107.965" width="45.0881" height="26" fill="url(#pattern2)"></rect> |
| 498 | <rect x="53.9824" width="45.0881" height="26" fill="url(#pattern3)"></rect> |
| 499 | <rect width="45.0881" height="26" fill="url(#pattern4)"></rect> |
| 500 | </g> |
| 501 | <defs> |
| 502 | <pattern id="pattern5" patternContentUnits="objectBoundingBox" width="1" height="1"> |
| 503 | <use xlink:href="#image5" transform="translate(0.0216438) scale(0.0131056 0.0227273)"></use> |
| 504 | </pattern> |
| 505 | <pattern id="pattern1" patternContentUnits="objectBoundingBox" width="1" height="1"> |
| 506 | <use xlink:href="#image1" transform="translate(0 -0.0226231) scale(0.0136986 0.0237556)"></use> |
| 507 | </pattern> |
| 508 | <pattern id="pattern2" patternContentUnits="objectBoundingBox" width="1" height="1"> |
| 509 | <use xlink:href="#image2" transform="translate(0 -0.0226231) scale(0.0136986 0.0237556)"></use> |
| 510 | </pattern> |
| 511 | <pattern id="pattern3" patternContentUnits="objectBoundingBox" width="1" height="1"> |
| 512 | <use xlink:href="#image3" transform="translate(0 -0.0226231) scale(0.0136986 0.0237556)"></use> |
| 513 | </pattern> |
| 514 | <pattern id="pattern4" patternContentUnits="objectBoundingBox" width="1" height="1"> |
| 515 | <use xlink:href="#image4" transform="translate(0 -0.0226231) scale(0.0136986 0.0237556)"></use> |
| 516 | </pattern> |
| 517 | <image id="image5" width="73" height="44" xlink:href="data:image/png;base64,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"></image> |
| 518 | <image id="image1" width="73" height="44" xlink:href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEkAAAAsCAYAAAApSpU1AAAOnElEQVRoQ9WaeYxU1RLGTw+yqciIIiru4r6L+76vGHf9Q4woUeOWhzHEkLgM2swMMw7OKIKCEsLDhURRQFFRFCHtvu8L7qAiitAug6DMy6/mfTfVh9MNvMcf792k07fPPffcqq+++qrOncmFEMIHH3zQqVgs1uVyuQEhhB6MtbW18ZV9c/7333+HqqqqkMvlVvrYZHdwvz4rVqywc75TH9bVOOf6rXM/pnl+7Xh9f417U3bgR7mjra1tUQhhfC6XG1JTU7Msx8RCodBcVVX1D5zv0aNHBkDKcQHENX+uuYx5gDzQckaAaZ4c8QByzY97IPUsradnaD1+l7umOdipQ/YoGJ988omC2pLP5wcxM1coFBZVVVVVr7/++uHXX38tuVmM0qCYFDMqZpEMjyMvZwVCJQZxzbMpZqFnZwx4fE33+oyIM0W/N9988/Ddd98B9OJ8Pt8DkDoWCoVlnTp1CsuXLy8hDwt7tGOARFkfFT8/RfNy7PApFoMTX/PA+1Tz7FsdkDwBYnkRYfL5fCdA6lwoFJbisAdFlPVOd+jQwVKMuQIsTjv/sFVpUqxFAifFoHK6tCYgebYpsOWAWmeddYw0w4YN6wJIXebMmdPKIIakxFdjHiSBJZBS+vW/BpJIgJ9eOz0RlHL4+tdff4Xa2tquBtLs2bNbO3bsaMjp5lS+AqTEek00Ka42in6lqlYu5WJxT2lepconTYr986LPufDIQJo1a1ZrzARfrbQgIHlwfMqJUXG6xRWtXAuQAizVCsTpVa4lqDRPjIqB8cDJj7q6unYmzZw5MwNJuerFWOdQMGZQLN4pTfJa4I0vp0kxOJ5Vq3I+DookJBZ7D1QKHNk8fPjwdpBmzJjRGoMSN4ws5AU7dT2lZ5WoX678x6BUaibjZjEFYrlKF4u2bPWBbmhoaAdp+vTpxiQchy3xuWdLquP24h2X0tUFKVXZUlWuksOpaxrz3wK9UlDFrsbGxnaQpk6daiAJIAEhodZvHiQgPZNSeiawYs1QLxNrU6oXWlUjWQmwlBb6+XGRkg+6TyDddttt7SBNnjzZ0i2uXDSYvi9atmyZVUClnUAVILp/3XXXDa2trVZCywmr16M4vXwaag2Bm+rYFTzuY77mqIwzpvu7d+9uZMA+X8lTTTBjGUiTJk0ykHxHzUKUQcYk2PzeeuutAyBgyM8//2wPqq6uDp07dzYDGfv888/DZpttZh918hjVpUsXW0uiyfw//vgjdO3atcTg3377Lfz0009hgw02sM+SJUvC999/b/ZsscUWAYYvXrzYHOfZrMMzsWmrrbYK6623Xli6dCkbdzvfZptt7JnY9vLLL9vWi99+7xkXHDGpqampnUkTJ05s9aIsUHCcA6MY69u3rxnFw7p162YAaLFisRho5Zk3e/bssP/++5vzOIOh6jsARcxhfdaBoQAjBjHGvRyAtfHGG2cZvXDhQgOWYHHMnz8/wA6erYMx9l8qRqyNXax5++23h2+++cZ8ijfoKaAykCZMmJClm2cTkZcG4dCxxx4b3nvvvfDOO+9YhE844QRjx7vvvhs+/PBDc5gx7sGIQqEQvvrqq7DllluGww47LMycOTMAJsYSaZw7+OCDw1NPPWXRBXQA+/3338MhhxxiTLz33nvDJZdcYmtz/ueff1qq9O/f34L1wAMPGECDBg0KPXv2DI899liYOnWqnd9666225i233GLPHDx4cBgxYoQBG2tq3ESr4IwYMaKdSffdd58xyW81QF4g4fBee+1lVH7kkUfsHOc32mijsM8++4S3337bIo4DALLnnnuaAy+++KIZB8CHHnpoePLJJy3Ce+yxR1ZBSZUHH3ww7LvvvnYfx0MPPWRrHX300eb02WefbWuxM7/wwgvNLu678847w+GHH25Bg+FcYz4BA/TtttsuXHrppaG5udmCdvXVV4empiYDyVfpuMopOwAqA2ns2LFW3eJdvmdSv379wmeffRZ413LWWWcZSG+88YY5gJEwAEPff//9cOaZZ1rukz6MzZs3Lxx33HHhhRdesPQDNNjQq1evcOCBB1rkCRBsoTCgP8cff7yxdcKECQYWKQyQMI/jueeeM6beeOONxu77778/1NfXhyeeeMLuZx7gDB061J5LEK+55hoDCXu0DxVA8YZXqZel2z333JMECWe4GepvuummYfr06ZYmvJiTcJ900kkBnfjxxx/DEUccER5//HHTEMZwjujPnTs3nHzyyXY/oPXp08fAQKsAZvLkyWYr1wCPe0499VQDafz48YFnPP/882Hbbbe1dThaWlrCokWLwiabbGKs+vLLL8MVV1wRfvjhBwvQ9ddfH0aNGmV28AxSe+DAgVSr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"></image> |
| 519 | <image id="image2" width="73" height="44" xlink:href="data:image/png;base64,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"></image> |
| 520 | <image id="image3" width="73" height="44" xlink:href="data:image/png;base64,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"></image> |
| 521 | <image id="image4" width="73" height="44" xlink:href="data:image/png;base64,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"></image> |
| 522 | </defs> |
| 523 | </svg> |
| 524 | </div> |
| 525 | <div class="testimonial-box"> |
| 526 | <div class="testimonial-image"> |
| 527 | <img src="<?php echo plugins_url("") ?>/mystickymenu/images/testimonial.png" style="top: 27px;"> |
| 528 | </div> |
| 529 | <div class="testimonial-content"> |
| 530 | This plugin does exactly what it should. It is simple but powerful. I would suggest to anyone who wants to make their menu sticky! I especially love the hide header on scroll down, show on scroll up feature that is built it. Great work! |
| 531 | <div class="author">Clayton Chase</div> |
| 532 | </div> |
| 533 | <div style="clear:both;"></div> |
| 534 | </div> |
| 535 | </div> |
| 536 | </div> |
| 537 | </div> |
| 538 | </div> |
| 539 | <?php |
| 540 | } |
| 541 | public function mysticky_default_options() { |
| 542 | |
| 543 | global $options; |
| 544 | $menu_locations = get_nav_menu_locations(); |
| 545 | $menu_object = wp_get_nav_menu_object( $menu_locations['menu-1'] ); |
| 546 | |
| 547 | if ( is_object($menu_object) && $menu_object->slug != '' ) { |
| 548 | $mysticky_class_id_selector = $menu_object->slug; |
| 549 | } else { |
| 550 | $mysticky_class_id_selector = 'custom'; |
| 551 | } |
| 552 | $default = array( |
| 553 | 'mysticky_class_id_selector' => $mysticky_class_id_selector, |
| 554 | 'mysticky_class_selector' => '.navbar', |
| 555 | 'device_desktop' => 'on', |
| 556 | 'device_mobile' => 'on', |
| 557 | 'myfixed_zindex' => '99990', |
| 558 | 'myfixed_bgcolor' => '#f7f5e7', |
| 559 | 'myfixed_opacity' => '90', |
| 560 | 'myfixed_transition_time' => '0.3', |
| 561 | 'myfixed_disable_small_screen' => '0', |
| 562 | 'myfixed_disable_large_screen' => '0', |
| 563 | 'mysticky_active_on_height' => '0', |
| 564 | 'mysticky_active_on_height_home'=> '0', |
| 565 | 'myfixed_fade' => 'slide', |
| 566 | 'myfixed_cssstyle' => '#mysticky-nav .myfixed { margin:0 auto; float:none; border:0px; background:none; max-width:100%; }' |
| 567 | ); |
| 568 | |
| 569 | if ( get_option('mysticky_option_name') == false ) { |
| 570 | $status = get_option("sticky_header_status"); |
| 571 | if($status == false) { |
| 572 | update_option("sticky_header_status", "done"); |
| 573 | update_option("has_sticky_header_old_version", "no"); |
| 574 | } |
| 575 | update_option( 'mysticky_option_name', $default ); |
| 576 | } else { |
| 577 | $status = get_option("sticky_header_status"); |
| 578 | if($status == false) { |
| 579 | update_option("sticky_header_status", "done"); |
| 580 | update_option("has_sticky_header_old_version", "yes"); |
| 581 | } |
| 582 | } |
| 583 | |
| 584 | if(isset($_POST['reset'])) { |
| 585 | update_option( 'mysticky_option_name', $default ); |
| 586 | } |
| 587 | |
| 588 | if ( !get_option( 'update_mysticky_version_2_6') ) { |
| 589 | $mysticky_option_name = get_option( 'mysticky_option_name' ); |
| 590 | $mysticky_option_name['mysticky_class_id_selector'] = 'custom'; |
| 591 | if ($mysticky_option_name['myfixed_fade'] == 'on'){ |
| 592 | $mysticky_option_name['myfixed_fade'] = 'slide'; |
| 593 | }else{ |
| 594 | $mysticky_option_name['myfixed_fade'] = 'fade'; |
| 595 | } |
| 596 | update_option( 'mysticky_option_name', $mysticky_option_name ); |
| 597 | update_option( 'update_mysticky_version_2_6', true ); |
| 598 | } |
| 599 | } |
| 600 | } |
| 601 | |
| 602 | |
| 603 | |
| 604 | class MyStickyMenuFrontend |
| 605 | { |
| 606 | |
| 607 | public function __construct() |
| 608 | { |
| 609 | add_action( 'wp_head', array( $this, 'mysticky_build_stylesheet_content' ) ); |
| 610 | add_action( 'wp_enqueue_scripts', array( $this, 'mysticky_disable_at' ) ); |
| 611 | } |
| 612 | |
| 613 | public function mysticky_build_stylesheet_content() { |
| 614 | |
| 615 | $mysticky_options = get_option( 'mysticky_option_name' ); |
| 616 | |
| 617 | if (isset($mysticky_options['disable_css'])) { |
| 618 | //do nothing |
| 619 | } else { |
| 620 | $mysticky_options['disable_css'] = false; |
| 621 | } |
| 622 | |
| 623 | if ($mysticky_options ['disable_css'] == false ) { |
| 624 | |
| 625 | echo '<style id="mystickymenu" type="text/css">'; |
| 626 | echo '#mysticky-nav { width:100%; position: static; }'; |
| 627 | echo '#mysticky-nav.wrapfixed { position:fixed; left: 0px; margin-top:0px; z-index: '. $mysticky_options ['myfixed_zindex'] .'; -webkit-transition: ' . $mysticky_options ['myfixed_transition_time'] . 's; -moz-transition: ' . $mysticky_options ['myfixed_transition_time'] . 's; -o-transition: ' . $mysticky_options ['myfixed_transition_time'] . 's; transition: ' . $mysticky_options ['myfixed_transition_time'] . 's; -ms-filter:"progid:DXImageTransform.Microsoft.Alpha(Opacity=' . $mysticky_options ['myfixed_opacity'] . ')"; filter: alpha(opacity=' . $mysticky_options ['myfixed_opacity'] . '); opacity:' . $mysticky_options ['myfixed_opacity'] / 100 . '; background-color: ' . $mysticky_options ['myfixed_bgcolor'] . ';}'; |
| 628 | |
| 629 | |
| 630 | if ($mysticky_options ['myfixed_disable_small_screen'] > 0 ){ |
| 631 | //echo '@media (max-width: '.$mysticky_options['myfixed_disable_small_screen'].'px) {#mysticky-nav.wrapfixed {position: static;} }'; |
| 632 | }; |
| 633 | if ( $mysticky_options['myfixed_cssstyle'] == "" ) { |
| 634 | echo '#mysticky-nav .myfixed { margin:0 auto; float:none; border:0px; background:none; max-width:100%; }'; |
| 635 | } |
| 636 | echo $mysticky_options ['myfixed_cssstyle']; |
| 637 | echo '</style>'; |
| 638 | } |
| 639 | } |
| 640 | |
| 641 | public function mystickymenu_script() { |
| 642 | |
| 643 | $mysticky_options = get_option( 'mysticky_option_name' ); |
| 644 | |
| 645 | if ( is_admin_bar_showing() ) { |
| 646 | $top = "true"; |
| 647 | } else { |
| 648 | $top = "false"; |
| 649 | } |
| 650 | |
| 651 | |
| 652 | // needed for update 1.7 => 1.8 ... will be removed in the future () |
| 653 | if (isset($mysticky_options['mysticky_active_on_height_home'])) { |
| 654 | //do nothing |
| 655 | } else { |
| 656 | $mysticky_options['mysticky_active_on_height_home'] = $mysticky_options['mysticky_active_on_height']; |
| 657 | } |
| 658 | |
| 659 | |
| 660 | if ($mysticky_options['mysticky_active_on_height_home'] == 0 ) { |
| 661 | $mysticky_options['mysticky_active_on_height_home'] = $mysticky_options['mysticky_active_on_height']; |
| 662 | } |
| 663 | |
| 664 | |
| 665 | if ( is_front_page() && is_home() ) { |
| 666 | |
| 667 | $mysticky_options['mysticky_active_on_height'] = $mysticky_options['mysticky_active_on_height_home']; |
| 668 | |
| 669 | } elseif ( is_front_page()){ |
| 670 | |
| 671 | $mysticky_options['mysticky_active_on_height'] = $mysticky_options['mysticky_active_on_height_home']; |
| 672 | |
| 673 | } |
| 674 | wp_register_script('detectmobilebrowser', plugins_url( 'js/detectmobilebrowser.js', __FILE__ ), array('jquery'), MYSTICKY_VERSION, true); |
| 675 | wp_enqueue_script( 'detectmobilebrowser' ); |
| 676 | |
| 677 | wp_register_script('mystickymenu', plugins_url( 'js/mystickymenu.min.js', __FILE__ ), array('jquery'), MYSTICKY_VERSION, true); |
| 678 | wp_enqueue_script( 'mystickymenu' ); |
| 679 | |
| 680 | $myfixed_disable_scroll_down = isset($mysticky_options['myfixed_disable_scroll_down']) ? $mysticky_options['myfixed_disable_scroll_down'] : 'false'; |
| 681 | $mystickyTransition = isset($mysticky_options['myfixed_fade']) ? $mysticky_options['myfixed_fade'] : 'fade'; |
| 682 | $mystickyDisableLarge = isset($mysticky_options['myfixed_disable_large_screen']) ? $mysticky_options['myfixed_disable_large_screen'] : '0'; |
| 683 | |
| 684 | $mystickyClass = ( $mysticky_options['mysticky_class_id_selector'] != 'custom') ? '.menu-' . $mysticky_options['mysticky_class_id_selector'] .'-container' : $mysticky_options['mysticky_class_selector']; |
| 685 | |
| 686 | $mysticky_translation_array = array( |
| 687 | 'mystickyClass' => $mystickyClass, |
| 688 | 'activationHeight' => $mysticky_options['mysticky_active_on_height'], |
| 689 | 'disableWidth' => $mysticky_options['myfixed_disable_small_screen'], |
| 690 | 'disableLargeWidth' => $mystickyDisableLarge, |
| 691 | 'adminBar' => $top, |
| 692 | 'device_desktop' => true, |
| 693 | 'device_mobile' => true, |
| 694 | 'mystickyTransition' => $mystickyTransition, |
| 695 | 'mysticky_disable_down' => $myfixed_disable_scroll_down, |
| 696 | |
| 697 | |
| 698 | ); |
| 699 | wp_localize_script( 'mystickymenu', 'option', $mysticky_translation_array ); |
| 700 | } |
| 701 | |
| 702 | public function mysticky_disable_at() { |
| 703 | |
| 704 | |
| 705 | $mysticky_options = get_option( 'mysticky_option_name' ); |
| 706 | |
| 707 | $mysticky_disable_at_front_home = isset($mysticky_options['mysticky_disable_at_front_home']); |
| 708 | $mysticky_disable_at_blog = isset($mysticky_options['mysticky_disable_at_blog']); |
| 709 | $mysticky_disable_at_page = isset($mysticky_options['mysticky_disable_at_page']); |
| 710 | $mysticky_disable_at_tag = isset($mysticky_options['mysticky_disable_at_tag']); |
| 711 | $mysticky_disable_at_category = isset($mysticky_options['mysticky_disable_at_category']); |
| 712 | $mysticky_disable_at_single = isset($mysticky_options['mysticky_disable_at_single']); |
| 713 | $mysticky_disable_at_archive = isset($mysticky_options['mysticky_disable_at_archive']); |
| 714 | $mysticky_disable_at_search = isset($mysticky_options['mysticky_disable_at_search']); |
| 715 | $mysticky_disable_at_404 = isset($mysticky_options['mysticky_disable_at_404']); |
| 716 | $mysticky_enable_at_pages = isset($mysticky_options['mysticky_enable_at_pages']) ? $mysticky_options['mysticky_enable_at_pages'] : ''; |
| 717 | $mysticky_enable_at_posts = isset($mysticky_options['mysticky_enable_at_posts']) ? $mysticky_options['mysticky_enable_at_posts'] : ''; |
| 718 | |
| 719 | // Trim input to ignore empty spaces |
| 720 | $mysticky_enable_at_pages_exp = array_map('trim', explode(',', $mysticky_enable_at_pages)); |
| 721 | $mysticky_enable_at_posts_exp = array_map('trim', explode(',', $mysticky_enable_at_posts)); |
| 722 | |
| 723 | |
| 724 | |
| 725 | |
| 726 | if ( is_front_page() && is_home() ) { /* Default homepage */ |
| 727 | |
| 728 | if ( $mysticky_disable_at_front_home == false ) { |
| 729 | $this->mystickymenu_script(); |
| 730 | } |
| 731 | } elseif ( is_front_page()){ /* Static homepage */ |
| 732 | |
| 733 | if ( $mysticky_disable_at_front_home == false ) { |
| 734 | $this->mystickymenu_script(); |
| 735 | } |
| 736 | |
| 737 | } elseif ( is_home()){ /* Blog page */ |
| 738 | |
| 739 | if ( $mysticky_disable_at_blog == false ) { |
| 740 | $this->mystickymenu_script(); |
| 741 | } |
| 742 | |
| 743 | } elseif ( is_page() ){ /* Single page*/ |
| 744 | |
| 745 | if ( $mysticky_disable_at_page == false ) { |
| 746 | $this->mystickymenu_script(); |
| 747 | } |
| 748 | if ( is_page( $mysticky_enable_at_pages_exp ) ){ |
| 749 | $this->mystickymenu_script(); |
| 750 | } |
| 751 | |
| 752 | } elseif ( is_tag()){ /* Tag page */ |
| 753 | |
| 754 | if ( $mysticky_disable_at_tag == false ) { |
| 755 | $this->mystickymenu_script(); |
| 756 | } |
| 757 | |
| 758 | } elseif ( is_category()){ /* Category page */ |
| 759 | |
| 760 | if ( $mysticky_disable_at_category == false ) { |
| 761 | $this->mystickymenu_script(); |
| 762 | } |
| 763 | |
| 764 | } elseif ( is_single()){ /* Single post */ |
| 765 | |
| 766 | if ( $mysticky_disable_at_single == false ) { |
| 767 | $this->mystickymenu_script(); |
| 768 | } |
| 769 | |
| 770 | if ( is_single( $mysticky_enable_at_posts_exp ) ){ |
| 771 | $this->mystickymenu_script(); |
| 772 | } |
| 773 | |
| 774 | } elseif ( is_archive()){ /* Archive */ |
| 775 | |
| 776 | if ( $mysticky_disable_at_archive == false ) { |
| 777 | $this->mystickymenu_script(); |
| 778 | } |
| 779 | |
| 780 | } elseif ( is_search()){ /* Search */ |
| 781 | |
| 782 | if ( $mysticky_disable_at_search == false ) { |
| 783 | $this->mystickymenu_script(); |
| 784 | } |
| 785 | |
| 786 | } elseif ( is_404()){ /* 404 */ |
| 787 | |
| 788 | if ( $mysticky_disable_at_404 == false ) { |
| 789 | $this->mystickymenu_script(); |
| 790 | } |
| 791 | } |
| 792 | |
| 793 | } |
| 794 | |
| 795 | } |
| 796 | |
| 797 | if( is_admin() ) { |
| 798 | new MyStickyMenuBackend(); |
| 799 | } else { |
| 800 | new MyStickyMenuFrontend(); |
| 801 | } |