Sticky Menu (or Anything!) on Scroll

Wordpress Plugin
Download latest - 2.32



Download Stats

Today 261
Yesterday 390
Last Week 2,458
All Time 260,560
Banner 772x250

The WP Sticky Menu (or Sticky Header) On Scroll plugin allows you to make any element on your pages "sticky" as soon as it hits the top of the page when you scroll down. Although this is commonly used to keep menus at the top of your page to create floating menus, the plugin allows you to make any element sticky. Make a sticky header, stick menu, sticky widget (fixed widget), sticky logo, sticky call to action or a floating menu.

You just need to know how to pick the right selector for the element you want to make sticky, and you need to be sure it's a unique selector. Sometimes a simple selector like "nav", "#main-menu", ".menu-main-menu-1" is enough. Other times you will have to be more detailed and use a more specific selector such as "header > ul:first-child" or " .menu-header ul.main". If you don't like messing with any code check out out the visual element picker in WP Sticky PRO.


  • Any element can stick: although common use is for navigation menus, or header the plugin will let you pick any unique element with a name, class or ID to stick at the top of the page once you scroll past it. Use it for sticky widget, sticky sidebar, sticky header, sticky menu, sticky header, sticky call-to-action box, sticky banner ad, etc. Need to make multiple elements sticky? Check out WP Sticky PRO.
  • Positioning from top: optionally, you can add any amount of space between the sticky element and the top of the page, so that the element is not always stuck at the "ceiling" of the page.
  • Enable for certain screen sizes only: optionally, you can set a minimum and/or maximum screen size where the stickiness should work. This can be handy if you have a responsive site and you don't want your element to be sticky on smaller screens, for example.
  • Enable only on some pages: sometimes you don't want the element to be sticky on the entire site. WP Sticky PRO gives you the option to pick posts, pages, categories, tags and CPTs where you don't want the element to be sticky.
  • Push-up element: optionally, you can pick any other element lower on the page that will push the sticky element up again (for example a sidebar widget).
  • Admin Bar aware: checks if the current user has an Admin Toolbar at the top of the page. If it has, the sticky element will not obscure it (or be obscured by it).
  • Z-index: in case there are other elements on the page that obscure or peek through your sticky element, you can add a Z-index easily.
  • Legacy Mode: in 2.0, a new method of making things sticky was introduced. In Legacy Mode, the old method will be used. See FAQ for details.
  • Dynamic Mode: some issues that frequently appear in responsive themes have been address by adding a Dynamic Mode (Legacy Mode only). See FAQ for details.
  • Debug Mode: find out possible reasons why your element doesn't stick by switching on Debug Mode, and error messages will appear in your browser's console.

Having problems with SSL? Moving a site from HTTP to HTTPS? Install our free WP Force SSL plugin. Its a great way to fix all SSL problems.

GDPR compatibility

We are not lawyers. Please do not take any of the following as legal advice. Sticky does not track, collect or process any user data on the front end or in the admin. Nothing is logged or pushed to any 3rd parties. We also don't use any 3rd party services or CDNs. Based on that, we feel it's GDPR compatible, but again, please, don't take this as legal advice.

Releases (24 )

Version Release Date Change Log
2.32 2022-11-20
  • 2022-11-20
  • minor security fixes
2.31 2021-02-19
  • 2021-02-19
  • fixed one really really visible typo
  • added custom footer text on plugin's admin page
  • lowered the price for the team package
2.30 2021-02-13
  • 2021-02-13
  • better clean-up on delete and deactivate
2.29 2021-01-30
  • 2021-01-30
  • added flyout menu
  • added monthly price
2.28 2021-01-06
  • 2021-01-05
  • minor bug fixes and improvements
  • removed promo campaign for WP 301 Redirects
2.25 2020-10-16
  • 2020-10-16
  • PRO version is here
  • bug fixes and improvements
2.23 2020-10-01
  • 2020-10-01
  • more CSS fixes
  • added promo campaign for WP 301 Redirects
2.22 2020-09-08
  • 2020-09-08
  • improvement for themes with !important rule at margin top and left within sticky element
2.21 2020-06-19
  • 2020-06-19
  • security fix - thanks to Antony from Sucuri
2.2 2020-04-25
  • 2020-02-01
  • bug fixes
  • minor GUI improvements
  • 100,000 users hit on 2020-01-31
2.1.1 2017-11-29
  • Fixed minification bug
2.1 2017-11-11
  • Sticky element has specific classes to target sticky/non-sticky state: ".element-is-sticky" and ".element-is-not-sticky"
2.0.1 2016-08-29
  • fixed padding calculation bug (percentages are off when sticky)
  • fixed bug where assigned styles loop caused JS error
2.0 2016-05-23
  • Introduced a new/better method for making elements sticky
  • Added Legacy Mode (for those who want to continue the old method)
  • Split up settings screen in Basic and Advanced
  • Debug mode uses uncompressed JS file for easier remote debugging
1.3.1 2016-04-17
  • Minor bug fix for push-up element
1.3 2015-05-25
  • Added functionality to move sticky element down in case there is an Administrator Toolbar at the top of the page
  • Added functionality to push sticky element up by another element lower down the page
1.2.1 2015-04-22
  • Bug with Dynamic Mode select box/label fixed
  • Bug with Z-index fixed (thanks @aguseo for reporting)
  • All text in plugin fully translatable
  • Added FAQ tab to settings screen
  • Added infobox to settings screen
  • Added a few comments to source code
1.2 2015-02-12
  • Dynamic Mode added (addressing problems with dynamically created menus -- see Frequently Asked Questions above for details).
1.1.4 2014-12-14
  • Ready for WordPress 4.1 (and TwentyFifteen).
  • Fixes issue when element has padding in percentages.
1.1.3 2014-10-13
  • Fixes width calculation bug introduced in previous version (sorry about that), box sizing now supported.
1.1.2 2014-10-12
  • Fixes element width calculation bug.
1.1.1 2014-10-12
  • Fixes viewport calculation bug.
1.1 2014-10-12
  • Added functionality for optional minimum/maximum screen size
1.0 2014-09-19
  • initial release (using v1.1 of the standalone jQuery plugin)