Sticky CTA Button: Floating Call-to-Action Buttons for WordPress

Sticky CTA Button WordPress Plugin Icon

WORDPRESS PLUGIN · FREE · GPLv2

Turn Every Scroll Into a Click

Your best button, always one tap away.

Free & GPLv2 · Works with any theme · No jQuery, no external fonts · Tested up to WordPress 7.0 · Live in three steps

Schematic web page with two floating call-to-action buttons and a back-to-top button pinned to the bottom right corner, next to a phone showing the same buttons as a full-width action bar

The problem: your best link scrolls off the screen

Visitors read, scroll, and by the third screen the booking link is somewhere far above them. Acting now means scrolling back or hunting through a menu — two steps too many. The traffic was paid for, the interest was there, and the click still does not happen.

The solution: a button that simply stays

The plugin places a discreet, always-visible call-to-action above the page. You choose the text, the target and the corner it lives in. On phones the same buttons become a full-width bar within thumb reach. The next step is never more than one tap away, on any device.

Works with any theme

The buttons sit on their own layer above the layout, not inside it. Block theme, classic theme or page builder — nothing has to be edited to make room.

Nothing extra to load

Dependency-free vanilla JavaScript with throttled scroll handling, no jQuery, no icon font from a CDN. Assets are only enqueued when a button is actually switched on.

Configured, not coded

A tabbed settings screen with a live preview and the native WordPress colour picker. You see the button change while you set it up.

Plugin features

Everything you need to keep a call-to-action in view — and nothing that slows the page down.

Two call-to-action buttons

Run a primary and an optional second CTA at the same time, each with its own text, icon, link, target and colours. “Book a call” next to “Download the price list”, both always in view.

Mobile and tablet action bar

Below a breakpoint you choose — phones, tablets or small laptops — the CTAs snap into a full-width bar pinned to the bottom or top edge, with its own background colour. The back-to-top button floats just above it.

Back-to-top button

Smooth scrolling back to the start of the page, with eight arrow styles to choose from. It is a real <button> element, so keyboards and screen readers treat it correctly.

Eight positions, your offsets

Pin the button group to any corner, edge centre or side of the screen, then nudge it with your own horizontal and vertical offsets in pixels. Stack the buttons vertically or place them side by side.

Appear on scroll — or right away

Show the buttons immediately, or let them arrive once the visitor has scrolled past the hero, so they never compete with your opening. Pages too short to scroll still show them.

Four ways to do icons

Colourful emoji icons, a single-colour set that follows your button text colour, your own PNG, SVG or WebP from the media library, or no icon at all for a clean text button. Nothing is fetched from an external font service.

Your colours, your corners

Background and text colour per button through the native WordPress colour picker, plus an optional custom corner radius between 0 and 50 pixels — from full pill to sharp square.

Tabbed settings with live preview

Buttons, Position & Layout, Mobile Bar and Styling, each on its own tab, with a preview that updates as you type. After saving you land back on the tab you were working in.

Accessible by default

Visible keyboard focus styles, support for reduced-motion and high-contrast preferences, and semantic markup — without you having to configure anything.

Translation ready and tidy

Every admin string is translatable through the sticky-cta-button text domain, settings are sanitised against whitelists, and an uninstall routine removes all options when you delete the plugin.

What people use it for

Local businesses

“Call now” on the phone, “Book an appointment” on the desktop — the two things people actually came for, never more than a tap away.

Coaches & service providers

A booking link that survives a long sales page, plus a second button for the free intro call.

Shops & landing pages

Keep the cart or the offer in view through a long product story, with the mobile bar doing the work on phones.

Blogs & magazines

A newsletter button that rides along through a 3,000-word article, and a back-to-top that makes the length bearable.

Live in three steps

  1. Install and activate the plugin from the WordPress plugin directory.
  2. Open Settings → Sticky CTA Button and fill in text, link and colours on the Buttons tab.
  3. Pick a position, switch on the mobile bar if you want one, and save. The CTA is live on every page.

No shortcodes, no template edits, nothing to place by hand. Switching a button off removes it everywhere at once, and deleting the plugin cleans up its options.

Technical details

Version2.3.0
WordPress5.0 or higher
Tested up to7.0
PHP7.4 or higher
SettingsSettings → Sticky CTA Button
Dependenciesnone — no jQuery
LicenseGPLv2 or later

Screenshots

Honest about what a button can do

A sticky call-to-action removes friction: the step someone already wanted to take stops being three scrolls away. That is a real and well-understood effect, and it is the whole job this plugin does. It will not repair a weak offer or an unclear page — if the button is ignored, the wording above it is usually the thing to change first.

There is no analytics here either. The plugin does not count clicks, set cookies or send anything to an external service. If you want numbers, measure the button in the analytics tool you already run.

And one design note worth taking seriously: a floating element covers part of the page. Keep it small, keep the contrast high, and check on a phone that it never sits on top of something people need to read. The plugin gives you offsets and a breakpoint for exactly that reason.

Frequently asked questions

How do I add a floating call-to-action button in WordPress?

Install Sticky CTA Button, open Settings → Sticky CTA Button, enable the primary button and enter its text, link and colours. Choose a screen position on the Position & Layout tab and save — the button then appears on every page of the site. No shortcode and no theme editing are involved.

Can I show two call-to-action buttons at once?

Yes. Enable the secondary button on the Buttons tab. Each button has its own text, icon, link, target and colours, and they can be stacked vertically or placed side by side.

How does the mobile action bar work?

Switch it on under the Mobile Bar tab and pick a breakpoint. Below that width your CTAs become a full-width bar pinned to the bottom or top edge of the screen, with its own background colour, while the back-to-top button floats just above it. On desktop the buttons keep their normal floating position.

Does it slow down my site?

The front end is dependency-free vanilla JavaScript with throttled scroll handling — no jQuery, no external icon font — and the assets are only loaded when a button is actually enabled.

Do I need Font Awesome or another icon font?

No. You can use the bundled emoji icons, a single-colour icon set that follows your button text colour, your own PNG, SVG or WebP from the media library, or no icon at all.

Can the button link to a phone number or an anchor?

Yes. The link field accepts any value — a full URL, a tel: or mailto: link, or an anchor such as #contact — and is sanitised on the server. Each button also has its own link target.

Does it work with my theme?

Yes. The buttons are rendered as their own layer above the page rather than inside the theme’s layout, so block themes, classic themes and page builders all work without changes.

Is it accessible?

The back-to-top control is a real <button> element, keyboard focus is clearly visible, and the plugin honours reduced-motion and high-contrast preferences. Contrast between your chosen background and text colour is still your call — pick a combination that passes.

Does the plugin track clicks?

No. It sets no cookies, collects no data and sends nothing to external services. Measure the button in whichever analytics tool your site already uses.

Is Sticky CTA Button free?

Yes. It is published in the official WordPress plugin directory under GPLv2 or later, with no paid tier and no upsell inside the plugin.

Changelog

2.3.0
  • Fixed: in the horizontal layout the CTA buttons lost their right-side rounding — all buttons keep their full pill shape again.
  • New: background colour option for the mobile and tablet action bar.
  • Improved: the floating back-to-top button keeps more distance from the action bar.
2.2.0
  • New: upload your own button icon (PNG, SVG or WebP) from the media library for either button.
  • Improved: Phone and Email redrawn as crisp single-colour SVG icons that follow the button text colour.
  • Improved: Download, Play and Heart moved to the single-colour set, with existing settings migrated automatically.
2.1.0
  • New: single-colour icon set and a “No Icon” option for text-only buttons.
  • Fixed: settings could not be saved when a link was # or a URL without a scheme.
  • Fixed: with “Show after scrolling”, buttons stayed hidden on pages too short to scroll.
  • Fixed: the plugin’s fallback icon styles could override a theme’s own Font Awesome icons — they are now scoped to the plugin.
  • Added: uninstall.php so all options are removed on deletion; the settings screen returns to the active tab after saving.
2.0.0
  • New: optional second CTA button with independent text, icon, link, target and colours.
  • New: responsive mobile and tablet action bar with selectable edge and breakpoint.
  • New: tabbed settings screen with live preview and the native WordPress colour picker.
  • Improved: full internationalisation, dependency-free front-end JavaScript, stricter sanitisation.
  • Compatibility: tested up to WordPress 7.0.
1.0.0
  • Initial release: sticky action button, back-to-top button, automatic combination of both, full customisation, responsive and accessible design.

Put your best button in view

Free, GPL-licensed, and set up in three steps from the WordPress plugin directory.

Version 2.3.0 · GPLv2 or later · Desk9 Design