Fix: fixed widget might increase its height when scrolling
6.2.2
Fix: improve bottom offset calculation when scrolling up
6.2.1
Fix: widget height increasing
Fix: widget scrolling align position
Fix: compatibility with existing CSS transition rules
6.2.0
Improvement: requires PHP 7.2
Fix: various improvements in cases where the fixed widget flickered, or the height was could not be determined correctly
6.1.1
Improvement: reposition the fixed widget when the screen is resized, e.g., a mobile device turned into landscape mode
Improvement: various optimizations for specific themes and setups reported by users
6.1.0
Feature: Add the FixedWidget__fixed_widget__pinned class to the fixed widget while it is sticky and remove it when it is unfixed. This allows users to apply their own styling only during a fixed state.
Improvement: rename “Test new version” option into “Improved version” and changed the option description to make it more clear that both script versions will be kept.
Improvement: change “Fixed Widget Options” menu item into “Fixed Widget”
Improvement: Handle edge cases where the Minimum Width option doesn’t work for specific themes
6.0.7
Improvement: Compatibility with relative padding values
6.0.6
Improvement: Compatibility with dynamically loaded content pages, i.e., infinite scroll
Improvement: Compatibility with widgets that have large offsets
Fix: Prevent padding from increasing on scroll
6.0.5
Fix: Prevent overlapping of fixed widgets with non-fixed widgets when scrolling up
6.0.4
Fix: Prevent fixed widgets overlapping non-fixed elements in certain themes
Fix: Class selectors saved under the Custom Elements were wrongly prefixed with ‘#’
6.0.3
Improvement: Check lazy elements and stop elements for changing their size and recalculate fixed position
Improvement: Lower check interval from 1000 to 500 ms
6.0.2
Improvement: Fall back to previous version when the theme does not support the new script – mainly because of using float instead of flex
Improvement: Stop Elements work also when they are in a different column or sidebar than the fixed element
Improvement: Recalculate Fixed Widget height on scroll
6.0.1
Fix: use the previous Stop ID value in the new Stop Elements section
6.0.0
Version 6.0.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 enable “Improved version” under Appearance > Fixed Widget.
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.
fixed blocks in sidebars as introduced in WordPress 5.8
define stop blocks in sidebars that move up fixed blocks on scrolling
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
5.3.0
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/
5.2.0
Added q2w3-fixed-widget-sidebar-options filter for widget options in the frontend.
5.1.9
Fixed JavaScript events which were not called in some setups.
5.1.8
Fixed JavaScript bug that caused jumping / flickering of fixed widgets.
5.1.7
Fixed “a.target.className.indexOf is not a function” bug
5.1.6
linguistic corrections
cleanup of the options page
5.1.5
author change
5.1.4
Added filter “q2w3-fixed-widgets”. It allows to filter array of widgets marked as fixed.
5.1.3
Now compatible with WP Page Widget plugin
5.1.2
Now works fine with Shortcodes Ultimate widgets!
5.1.1
Resolves problems with Margin Bottom and Stop ID from version 5.1!
5.1
New options load method!
Tested with WordPress 4.9
5.0.4
Compatibility patch for Better WordPress Minify plugin.
5.0.3
Improved solution for “q2w3_sidebar_options is not defined” error.
5.0.2
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!
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!
4.1
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 code to automatically fix “widget id problem”
Added new compatibility option (plugin priority)
Added complete uninstall (uninstall script launched automatically when you DELETE plugin)
Added Spanish translation
Removed depricated options
3.0
This version brings you a long waited capability to stick widgets located in different sidebars! Enjoy!
Fixed conflict with WP Page Widget plugin
A few small bugs cleaned
Warning! “Disable plugin on mobile devices” and “Disable plugin on tablet devices” options now are depricated and will be removed in the next release. Use “Screen Max Width” option instead!
2.3
Now user can disable plugin, when browser window width is less then specified value (check plugin options).
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
2.1
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.
2.0
Fixed footer overlapping problem! Now users can customize top and bottom margins for the fixed widgets from the admin area (Appearance -> Fixed Widget).
Added localization support
1.0.3
Normalized plugin behavior when sidebar is longer then main content. Note: possible overlapping with footer is still exists.
1.0.2
Fixed problem with widgets displayed only on certain pages.
Optimized javascript code.
1.0.1
Improved compatibility with Webkit based browsers (like Chrome and Safari).
I have used this plugin on my website for the last 5+ years and it always worked very well. Updates were always stress free and never broke any layout.
With version 6 I had some layout issues and Thomas helped me fix it. It's really hard to make a plugin compatible with the vast amount of themes out there and I would have totally understood if he didn't want to spend the time to fix my specific issue. But I was in for a pleasant surprise.
I recommend this plugin and I wish him all the best. Thank you for your time and efforts.
Kind regards,
Arun
This plugin surprised us with its efficiency and ease of use.
It is very efficient and does not slow down the loading of pages.
We hesitated for a long time with other plugins. But I think we made the right choice, the zones are very easy to configure, which is not the case with other fixed widget type plugins.
This one is completely free and is not restricted.
Kudos to the team
Il nostro tema Mh Magazine non ha l'infinite scroll e questo ha sempre creato enormi problemi al sito. L'unica soluzione era quella di cambiare tema, ma costava tanto in termini di fatiche. Il sito contiene tanti media ed era molto impegnativo farlo. Abbiamo sempre cercato qualcosa che potesse risolvere il problema, ma nulla era valido. Poi ci siamo imbattuti (dopo circa 10 anni di ricerche) in questo plugin e dobbiamo dire che è stato come un sogno. Lo abbiamo scaricato e testato e già al primo test aveva modificato l'aspetto del nostro sito, rendendolo più agile e più bello con infinite scroll. Solo un piccolo bug nella sezione commenti che Tommaso ha subito risolto con un nuovo aggiornamento del plugin. Che dire ci ha modificato la vita redendo più facile il nostro lavoro di giornalista. Non lo cambieremo mai per un altro. Grazie
CEO
Umbria Journal
Marcello Migliosi
This is, by far, the best solution if you are looking for a plugin that makes your widgets sticky. I use it for ads. It does not slow down the website, at least, I could not notice any difference. The biggest plus: The authors of the plugin are extremely helpful if you encounter any unexpected behaviour and constantly update the plugin. They invest a lot of time for this FREE plugin. I really appreciate this gem of a plugin!