Q2W3 Fixed Widget for WordPress


Use the fixed widget plugin to create sticky widgets that stay in the visible screen area when the page is scrolled up or down.

Sticky widgets are perceived much better by your visitors than unfixed widgets and therefore have a significantly higher click-through rate. Therefore, this option is especially useful for ads or other items that visitors want to interact with.

The recommended solution for integrating ads in WordPress is the free ad management plugin Advanced Ads.

Test version 6.0.0

Please download and test version 6.0.0.

It solves a lot of edge cases with various themes and improves PageSpeed scores.

Most changes are available when you switch on “Test new version” under Appearance > Fixed Widget Options.

Please test and let us know if you discover any issues.


The plugin is not working with all themes! Theme requirements:

  • jQuery 1.7 is vereist, jQuery 1.8.3 (of hoger) wordt aanbevolen.
  • Geen JavaScript fouten veroorzaakt door andere plugins en scripts.
  • wp_head() en wp_footer() functies in header.php en footer.php bestanden.
  • Widgets must have an ID attribute.

In some themes fixed widgets „jump“ during scrolling, etc. Some CSS changes at your theme will be required in this case.


  • The Fixed Widget for WordPress plugin in action


  1. Volg de standaard installatieprocedure voor WordPress plugins
  2. Activeer de plugin via het menu plugins in WordPress
  3. Go to Appearance -> Widgets, enable the “Fixed Widget” option on any active widget
  4. Fine tune plugin parameters on Appearance -> Fixed Widget Options page


Why is the Fixed Widget plugin not working?

There are several reasons:

  1. Javascript errors on the page. Commonly caused by buggy plugins. Check javascript console of your browser. If you find errors, try to locate and fix its source.
  2. No wp_head() and wp_footer() functions in template. Check header.php and footer.php files of your active theme.
  3. Conflicts with other plugins and scripts
  4. CSS incompatibility

Is it possible to fix multiple widgets?

Yes, it is possible to fix more than one widget even if they are located in different sidebars.

Why is the plugin not working in Chrome (and other Webkit based browsers)?

Check your CSS files for these two instructions:
-webkit-transform: translate3d(0,0,0);

If found, disable them and see the result.

How to prevent overlapping with the footer?

Go to WP admin area, Appearance -> Fixed Widget Options. Here you can define the top and bottom margins. Set bottom margin value >= footer height. Check the result, please.
If your footer height is changing from page to page it is better to use the Stop ID option. Here you need to provide the HTML tag ID. The position of that HTML element will determine the margin bottom value. For example, let’s take the Twenty Sixteen default theme. The theme’s footer container has an id=”colophon”. In the Stop ID option I need to enter just the colophon, without any other symbols!

Hoe de plugin op mobiele apparaten uit te schakelen?

There are two options: Disable Width and Disable Height. They works the same way. If the browser window width/height is less then or equals specified value, the plugin is disabled. You can also use the visitor conditions of Advanced Ads to target specific user groups.


3 september 2021
I used this plugin and I am very satisfied. I used it in the sidebar section of my website, it worked flawlessly and it looked very nice. Thanks. I recommend this plugin to everyone.
21 juli 2021
Super easy to deploy and set up Fixed widget plugin. It also has great and responsive support in the background. Highly recommend!
4 mei 2021
perfectly fulfills the declared functions
23 maart 2021
Works perfectly and has a clean menu without intrusive upsells or ads.
Lees alle 241 beoordelingen

Bijdragers & ontwikkelaars

“Q2W3 Fixed Widget for WordPress” is open source software. De volgende personen hebben bijgedragen aan deze plugin.


“Q2W3 Fixed Widget for WordPress” is vertaald in 20 talen. Dank voor de vertalers voor hun bijdragen.

Vertaal “Q2W3 Fixed Widget for WordPress” naar jouw taal.

Interesse in ontwikkeling?

Bekijk de code, haal de SVN repository op, of abonneer je op het ontwikkellog via RSS.



Please download and test version 6.0.0.

Version 6.0 is a full rewrite of the frontend script. It fixes many edge cases like jumping, reloading, or resizing widgets.
The rewrite also resolves bad Cumulative Layout Shifts.

Most changes are available when you switch on “Test new version” under Appearance > Fixed Widget Options.

Please test and let us know if you discover any issues.

  • added new (and optional) script version that uses position: sticky instead of position: fixed
  • the frontend script does not need jQuery anymore
  • removed unneeded options that previously helped resolving edge cases
  • “Stop Elements” and “Custom Fixed Elements” now accept any selector, including IDs, Class, and Type selectors.
  • improved option descriptions on the admin page
  • improved behavior for elements higher than the screen – they first stick at the top and scroll to the bottom later
  • removed duplicating widget code


  • fixed option not saving when using the Gutenberg plugin to edit sidebars with block editor
  • disabled scripts and output on AMP pages since sticky widgets are not part of the AMP standard
  • removed explicit translation files since all translations are handled through https://translate.wordpress.org/projects/wp-plugins/q2w3-fixed-widget/


  • Added q2w3-fixed-widget-sidebar-options filter for widget options in the frontend.


  • Fixed JavaScript events which were not called in some setups.


  • Fixed JavaScript bug that caused jumping / flickering of fixed widgets.


  • Fixed “a.target.className.indexOf is not a function” bug


  • linguistic corrections
  • cleanup of the options page


  • author change


  • Added filter “q2w3-fixed-widgets”. It allows to filter array of widgets marked as fixed.


  • Now compatible with WP Page Widget plugin


  • Now works fine with Shortcodes Ultimate widgets!


  • Resolves problems with Margin Bottom and Stop ID from version 5.1!


  • New options load method!
  • Tested with WordPress 4.9


  • Compatibility patch for Better WordPress Minify plugin.


  • Improved solution for “q2w3_sidebar_options is not defined” error.


  • Plugin javascript optimization
  • To resolve “q2w3_sidebar_options is not defined” error wp_add_inline_script function is used. WordPress 4.5 required for this fix!
  • Added option Disable MutationObserver. Use this option only as a backup to restore version 4 behavior!


  • Fixed problem in multiple sidebars layout


  • Optimized client side performance. Detection of page changes is now based on MutationObserver API. Widget parameters recount is fired only when needed! Refresh interval option used only for campatibility with old browsers (no MutationObserver API support).
  • Improved compatibility with caching plugins (W3TC, Autoptimize and etc.). No need to exclude jQuery and plugin files from cache!
  • Async/Defer script load method support
  • Added Disable Width and Disable Height options
  • Note for cache plugins users: don’t forget to clear cache after upgrading to version 5! Options format has been changed!


  • Added Stop ID option. Use it when you cannot specify Margin Bottom value. Solution provided by Julian_Kingman!
  • Now the plugin is aware of the WordPress admin bar presence!
  • Fixed destruction of jQuery(window).load hook. There should be no problems with other jQuery plugins now!
  • Added German translation
  • Updated internationalization support


  • Een kleine bugfix
  • Franse vertaling toegevoegd


  • Nieuwe optie “Widget breedte overnemen van de hoofd container” om responsive lay-outs beter te ondersteunen.
  • Javascript optimalisatie.


  • Optie “Auto fix widget id” toegevoegd. Het is standaard ingeschakeld. Als de plugin werkt met deze optie uitgeschakeld, laat deze dan in de uit-stand!



  • Hotfix! Lost het probleem op met gedupliceerde widget code.


  • Opgelost widget springen
  • Code toegevoegd om automatisch ‘widget id probleem’ op te lossen
  • Nieuwe compatibiliteitsoptie toegevoegd (prioriteit plugin)
  • Volledige de-installatie toegevoegd (verwijderingsscript wordt automatisch gestart wanneer je de DELETE plugin gebruikt)
  • Spaanse vertaling toegevoegd
  • Verouderde opties verwijderd


  • Deze versie biedt je een langverwachte mogelijkheid om widgets in verschillende zijbalken te plakken! Genieten!
  • Conflict opgelost met de plugin WP pagina widget
  • Een paar kleine bugs opgeruimd
  • Waarschuwing! “Schakel plugin op mobiele apparaten uit” en “Schakel plugin op tabletapparaten uit” zijn nu niet meer beschikbaar en zullen in de volgende release worden verwijderd. Gebruik in plaats daarvan de optie “Max. Schermbreedte”!


  • Nu kan de gebruiker de plugin uitschakelen als de breedte van het browservenster kleiner is dan de opgegeven waarde (controleer de plugin opties).


  • Deze versie is compatibel met jQuery 1.9 en 1.1 0


  • Kleine interne verbeteringen
  • Mobile Detect geüpdatet naar versie 2.6.0




  • Now the plugin is able to reflect dynamic page content changes (infinite scroll, ajax basket and other javascript stuff)!!!
  • Added new option to plugin settings: Refresh interval. Recommended values between 500 – 2000 milliseconds. Note: setting have impact on the site performance (client side). If you don’t have dynamic content, set Refresh interval = 0.
  • Mobile Detect class updated to version 2.5.7


  • New option to define custom widget IDs for static sidebars and etc.
  • New option to disable plugin on mobile devices.
  • Fixed javascript error when no sidebars exists on a page.


  • Fixed footer overlapping problem! Now users can customize top and bottom margins for the fixed widgets from the admin area (Appearance -> Fixed Widget Options).
  • Added localization support


  • Normalized plugin behavior when sidebar is longer then main content. Note: possible overlapping with footer is still exists.


  • Fixed problem with widgets displayed only on certain pages.
  • Optimized javascript code.


  • Improved compatibility with Webkit based browsers (like Chrome and Safari).
  • Removed unnecessary CSS.


  • First public release.