Description

Enable “Fixed widget” option in the widget settings and it will be always in sight when page is scrolled down or up. There is no problem to “fix” or “stick” more than one widget even located in different sidebars!

New in version 5.0:
1. 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).
2. Improved compatibility with caching plugins (W3TC, Autoptimize and etc.). No need to exclude jQuery and plugin files from cache!
3. Async/Defer script load method support
4. Added Disable Width and Disable Height options

Note for cache plugins users. Don’t forget to clear the cache after upgrading to version 5! Options format has been changed!

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

jQuery 1.7 required. jQuery 1.8.3 (or later) is recommended.

No JavaScript errors, coused by other plugins and scripts.

wp_head() and wp_footer() functions in header.php and footer.php files.

Widgets must have an id attribute.

In some cases (widget “jumping” during scroll and etc.) theme CSS changes may be required.

FAQ

Javascript errors on page. Commonly caused by buggy plugins. Check javascript console of your browser. If you find errors, try to locate and fix its source.

No wp_head() and wp_footer() functions in template. Check header.php and footer.php files of your active theme.

Conflicts with other plugins and scripts

CSS incompatibility

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

Check your CSS files for these two instructions:
-webkit-backface-visibility:hidden;
-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 top and bottom margins. Set bottom margin value >= footer height. Check the result.
If your footer height is changing from page to page it is better to use Stop ID option. Here you need to provide html tag id. The position of that html element will determine margin bottom value. For example let’s take Twenty Sixteen default theme. Theme’s footer container has an id=”colophon”. In the Stop ID option I need to enter just colophon, without any other symbols!

How to disable the plugin on mobile devices?

There are two options: Disable Width and Disable Height. They works the same way. If browser window width/height is less then or equals specified value – the plugin is disabled.

Changelog

5.0.4

5.0.3

5.0.2

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!

5.0.1

Fixed problem in multiple sidebars layout

5.0

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!