Title: Stayrail – Sticky Widgets &amp; Elements
Author: Inovex AS
Published: <strong>October 27, 2026</strong>
Last modified: October 27, 2026

---

Search plugins

![](https://ps.w.org/stayrail/assets/banner-772x250.png?rev=3770690)

![](https://ps.w.org/stayrail/assets/icon.svg?rev=3767916)

# Stayrail – Sticky Widgets & Elements

 By [Inovex AS](https://profiles.wordpress.org/hasseandre/)

[Download](https://downloads.wordpress.org/plugin/stayrail.0.5.0.zip)

 * [Details](https://wordpress.org/plugins/stayrail/#description)
 * [Reviews](https://wordpress.org/plugins/stayrail/#reviews)
 *  [Installation](https://wordpress.org/plugins/stayrail/#installation)
 * [Development](https://wordpress.org/plugins/stayrail/#developers)

 [Support](https://wordpress.org/support/plugin/stayrail/)

## Description

Stayrail keeps your most important content in view: sidebar ads, sign-up forms, 
tables of contents, calls to action or anything else you choose.

It is a modern, actively maintained alternative to the “Fixed Widget” (Q2W3) plugin,
and it can import your existing Fixed Widget setup in one click.

#### Three ways to make something sticky

 * **Blocks** – select any block in the editor, site editor or block widget editor
   and switch on “Keep sticky while scrolling”.
 * **Classic widgets** – tick “Keep sticky while scrolling” on any widget under 
   Appearance  Widgets.
 * **Anything else** – add a CSS selector in the settings, or give an element the
   class `stayrail-sticky`. Works with page builders such as Elementor, Divi, Bricks
   and Brizy.

#### Built to just work

 * Stable width when zooming, resizing or rotating the screen.
 * Zero layout shift: a placeholder keeps the element’s spot in the page.
 * Automatically stays below the admin bar and sticky headers.
 * Automatically stops at the site footer, plus your own stop elements.
 * Several sticky widgets in one sidebar stack neatly.
 * Choose desktop, tablet and/or mobile, with your own breakpoints.
 * Elements taller than the screen scroll until their bottom is reached, then stick.
 * Plain JavaScript, no jQuery. Script loads deferred.
 * Translation-ready. Norwegian (bokmål) included.

#### Switching from Fixed Widget

Activate Stayrail and you’ll see an import notice. One click copies your margins,
stop elements, custom elements, minimum screen size and every widget you had marked
as fixed. Then deactivate Fixed Widget.

#### For developers

 * `window.Stayrail.refresh()` – re-scan the page after loading content with JavaScript(
   infinite scroll, AJAX).
 * `document.dispatchEvent( new Event( 'stayrail:refresh' ) )` – same, event-based.
 * `data-stayrail-devices="desktop,tablet"` – per-element device override.
 * `data-stayrail-after="30"` – only stick after 30 % of the page has been scrolled.
 * `.stayrail-is-stuck` – class added while an element is pinned.
 * `stayrail:stuck` / `stayrail:released` – events fired on the element when it 
   is pinned or released.
 * `stayrail_frontend_config` – filter the configuration sent to the script.

### External services

Stayrail includes the Freemius SDK, which is used only to sell and license the optional
Stayrail Pro add-on. It runs in anonymous mode: the free plugin shows no opt-in 
screen and sends no data on its own.

Data is sent to Freemius (https://freemius.com) only if you choose to opt in from
the Plugins screen, or when you buy or activate Stayrail Pro. In that case Freemius
receives your site address, WordPress and plugin versions, and the admin e-mail 
and name used for the license. Freemius terms: https://freemius.com/terms/ – privacy
policy: https://freemius.com/privacy/

## Screenshots

[⌊A newsletter widget stays in view while the visitor reads – and stops before the
footer.⌉⌊A newsletter widget stays in view while the visitor reads – and stops before
the footer.⌉[

A newsletter widget stays in view while the visitor reads – and stops before the
footer.

[⌊One clear settings screen: three ways to make something sticky, plus spacing.⌉⌊
One clear settings screen: three ways to make something sticky, plus spacing.⌉[

One clear settings screen: three ways to make something sticky, plus spacing.

[⌊Any block can be made sticky from the Sticky panel in the block editor.⌉⌊Any block
can be made sticky from the Sticky panel in the block editor.⌉[

Any block can be made sticky from the Sticky panel in the block editor.

[⌊Stop elements and per-device control.⌉⌊Stop elements and per-device control.⌉[

Stop elements and per-device control.

## Installation

 1. Install and activate the plugin.
 2. Go to Settings  Stayrail.
 3. Make a block, widget or element sticky using one of the three methods above.

## FAQ

### The sticky element doesn’t stick.

Check that the device type is enabled under Devices, and that your browser window
is wider than the minimum width (if set). Clear your page cache after changing settings.

### The element ends up behind other content.

Raise the layer (z-index) under Advanced.

### Does it work with caching and optimization plugins?

Yes. The script has no dependencies and can be deferred or combined.

## Reviews

There are no reviews for this plugin.

## Contributors & Developers

“Stayrail – Sticky Widgets & Elements” is open source software. The following people
have contributed to this plugin.

Contributors

 *   [ Inovex AS ](https://profiles.wordpress.org/hasseandre/)

[Translate “Stayrail – Sticky Widgets & Elements” into your language.](https://translate.wordpress.org/projects/wp-plugins/stayrail)

### Interested in development?

[Browse the code](https://plugins.trac.wordpress.org/browser/stayrail/), check out
the [SVN repository](https://plugins.svn.wordpress.org/stayrail/), or subscribe 
to the [development log](https://plugins.trac.wordpress.org/log/stayrail/) by [RSS](https://plugins.trac.wordpress.org/log/stayrail/?limit=100&mode=stop_on_copy&format=rss).

## Changelog

#### 0.5.0

 * Translations now come from translate.wordpress.org.

#### 0.4.0

 * Prepared for Stayrail Pro through Freemius (anonymous mode, no data sent by default).

#### 0.3.0

 * New events: stayrail:stuck and stayrail:released on pinned elements.

#### 0.2.0

 * Per-element rules via data attributes (devices, scroll depth).
 * Extension points for add-ons on the settings screen.

#### 0.1.0

 * First release.

## Meta

 *  Version **0.5.0**
 *  Last updated **3 days ago**
 *  Active installations **Fewer than 10**
 *  WordPress version ** 6.2 or higher **
 *  Tested up to **7.1.4**
 *  PHP version ** 7.4 or higher **
 * Tags
 * [fixed widget](https://wordpress.org/plugins/tags/fixed-widget/)[sticky](https://wordpress.org/plugins/tags/sticky/)
   [sticky block](https://wordpress.org/plugins/tags/sticky-block/)[sticky sidebar](https://wordpress.org/plugins/tags/sticky-sidebar/)
   [sticky widget](https://wordpress.org/plugins/tags/sticky-widget/)
 *  [Advanced View](https://wordpress.org/plugins/stayrail/advanced/)

## Ratings

No reviews have been submitted yet.

[Your review](https://wordpress.org/support/plugin/stayrail/reviews/#new-post)

[See all reviews](https://wordpress.org/support/plugin/stayrail/reviews/)

## Contributors

 *   [ Inovex AS ](https://profiles.wordpress.org/hasseandre/)

## Support

Got something to say? Need help?

 [View support forum](https://wordpress.org/support/plugin/stayrail/)