Skip to content
WordPress.org

English (UK)

  • Themes
  • Plugins
  • News
  • About
  • Support
  • Patterns
  • Get Involved
  • Translate
  • Team P2
  • Get WordPress
Get WordPress
WordPress.org

Plugin Directory

Sharezel – Social Share Buttons

  • Submit a plugin
  • My favourites
  • Log in
  • Submit a plugin
  • My favourites
  • Log in

Sharezel – Social Share Buttons

By estiakahamed
Download
  • Details
  • Reviews
  • Installation
  • Development
Support

Description

Sharezel adds a clean, animated share menu to your posts and pages so readers can share your content on Facebook, WhatsApp, X (Twitter), Telegram, LinkedIn, Pinterest, Reddit, Threads, Bluesky, email, or copy the link — all with a single click.

Key features:

  • Five display styles: floating popup button, floating bar, inline (below content), inline (below title), or sticky (left of content)
  • 11 built-in platforms, individually toggled on or off
  • Optional native “Share…” button using the device’s own OS share sheet (Web Share API), pure progressive enhancement
  • Optional “Show QR code” button — generates a scannable QR code for the current page entirely in the visitor’s browser, handy for mobile-to-mobile or offline sharing. No external QR image service is ever contacted.
  • Optional text-selection share popup — when enabled, highlighting text inside a post shows a small “share this quote” popup using your chosen platforms
  • Optional share count badge (“1.2K Shares”) — blends an admin-set seed number (site-wide or per post) with real counts cached by a background job; safe by design with no counting service configured, and never runs on a visitor’s page load
  • Optional UTM campaign builder — automatically appends utm_source/utm_medium/utm_campaign to every generated share link (including Copy Link, QR code, and native share), with a {platform} token for automatic per-channel attribution
  • Optional exit-intent share prompt — a one-time, session-throttled “share before you go” modal for engaged visitors, detected via cursor movement on desktop and scroll velocity on mobile
  • Optional Pinterest image picker — lets a visitor choose which image from the post gets pinned, instead of leaving it to Pinterest’s own auto-detection
  • Choose which post types the menu appears on
  • Circle, rounded, or square icon shapes
  • Custom accent and background colors with the native WordPress color picker, plus a live theme preview in Settings
  • Automatic dark mode adaptation for visitors whose browser/OS prefers it (CSS-only, no flash of the wrong theme)
  • Optional text labels next to icons
  • [sharezel_share_menu] shortcode for manual placement anywhere
  • 100% inline SVG icons — no icon fonts, no external image requests
  • Screen-reader announcements for share actions (link copied, QR code opened, share window opening) via an accessible live region
  • Built for zero Cumulative Layout Shift: every button has a fixed size before any JS runs, and all open/close/reveal animations use only transform/opacity
  • CSS/JS are only ever loaded on pages where the menu actually renders (matching post type, or shortcode usage) — never site-wide
  • No analytics, no visitor tracking, no data sent anywhere by the plugin itself
  • Translation-ready
  • Clean uninstall — removes its single settings option, nothing left behind

Privacy note: This plugin does not collect, store, or transmit any visitor data itself. When a reader clicks a share icon, their browser opens that platform’s own official share dialog directly — see “External services” below for exactly what that involves. The one exception is the optional Share count feature, which is off by default and, even when turned on, only ever contacts an external counting service if you separately configure your own API key — see “External services” for details.

External services

This plugin does not run any background requests, analytics, or tracking of its own by default. However, several of the share buttons are simple links that open each platform’s own public share dialog directly in the visitor’s browser when they are clicked. No data is sent by the plugin or its author — the visitor’s browser communicates directly with the platform they chose to share to, the same as clicking a normal link to that site. Only the current page’s URL and title are included in that link, and only when the visitor deliberately clicks the corresponding icon.

  • Facebook — opens Facebook’s share dialog. Used when a visitor clicks the Facebook icon. Terms, Privacy Policy
  • WhatsApp (Meta) — opens WhatsApp’s click-to-chat page. Used when a visitor clicks the WhatsApp icon. Terms, Privacy Policy
  • X (Twitter) — opens X’s tweet-composer page. Used when a visitor clicks the X icon. Terms, Privacy Policy
  • Telegram — opens Telegram’s share page. Used when a visitor clicks the Telegram icon. Terms, Privacy Policy
  • LinkedIn — opens LinkedIn’s share dialog. Used when a visitor clicks the LinkedIn icon. Terms, Privacy Policy
  • Pinterest — opens Pinterest’s pin-creation dialog. Used when a visitor clicks the Pinterest icon. If the optional “Pinterest image picker” setting is on, the dialog also includes the URL of whichever image from the post the visitor picked (found and selected entirely in their own browser — the images are never sent anywhere until Pinterest’s own dialog opens). Terms, Privacy Policy
  • Reddit — opens Reddit’s submit page. Used when a visitor clicks the Reddit icon. Terms, Privacy Policy
  • Threads (Meta) — opens Threads’ post composer. Used when a visitor clicks the Threads icon. Terms, Privacy Policy
  • Bluesky — opens Bluesky’s post composer. Used when a visitor clicks the Bluesky icon. Terms, Privacy Policy
  • SharedCount.com (optional, off by default) — if you turn on “Share count display” in Settings AND separately filter in your own SharedCount API key (sharezel_sharedcount_api_key), a background WP-Cron job periodically sends each enabled post’s URL to SharedCount.com to look up its real Facebook/Pinterest share counts, so real numbers can be cached and shown alongside the admin-configured seed number. This never runs during a visitor’s page load, never sends any visitor data (only the post’s own public URL), and is completely inactive — no request is ever made — unless both the setting and the API key are configured. Terms, Privacy Policy
  • Cloudflare (optional, off by default) — if you enter your own Cloudflare Zone ID and API Token under Settings > Sharezel > Cache & CDN, the plugin sends a “purge everything” request to Cloudflare’s API (api.cloudflare.com) whenever you save the Sharezel settings, or when you click “Purge Cache Now” — so your cache reflects the change immediately. No visitor data is ever involved; this is an admin-triggered, site-configuration action only, and nothing is sent to Cloudflare unless you provide both credentials yourself. Terms, Privacy Policy

The Email icon only opens the visitor’s own local email client via a standard mailto: link — no external service is involved. The Copy Link button only uses the browser’s built-in clipboard API — no external service is involved either. The QR code button generates the code entirely client-side using a bundled, MIT-licensed JavaScript library — no external QR image API is contacted, and the URL is never sent anywhere.

Installation

A) Install from within WordPress (recommended)

  1. In your WordPress dashboard, go to Plugins > Add New Plugin.
  2. Search for “Sharezel”.
  3. Click Install Now, then Activate.
  4. Go to Settings > Sharezel to choose your platforms, style, and colors.

B) Upload the ZIP manually

  1. Download the plugin ZIP file.
  2. In your dashboard, go to Plugins > Add New Plugin > Upload Plugin.
  3. Choose the ZIP file and click Install Now.
  4. Click Activate Plugin.
  5. Go to Settings > Sharezel to configure it.

C) Upload via FTP/SFTP

  1. Unzip the plugin package on your computer.
  2. Upload the resulting sharezel-social-share-buttons folder to /wp-content/plugins/ on your server.
  3. In your dashboard, go to Plugins, find “Sharezel – Social Share Buttons”, and click Activate.
  4. Go to Settings > Sharezel to configure it.

After activation

The plugin works immediately with sensible defaults (a floating popup button near the top-right of the screen, showing 8 of the 11 available platforms) — you don’t have to configure anything to start sharing. Visit Settings > Sharezel any time to adjust:

  • Show on — which public post types display the menu (Posts, Pages, or any custom post type).
  • Platforms — tick the networks you want; untick any you don’t. Order follows the list top-to-bottom.
  • Menu style — Floating popup button, Floating bar, Inline (below the content), Inline (below the title), or Sticky (left of the content).
  • Position — Left/Right for the floating style, Top/Bottom for the bar style (not used by the inline or sticky styles).
  • Icon shape — Circle, rounded square, or square.
  • Toggle button color — pick any accent color with the built-in WordPress color picker.
  • Background color — pick the background shown behind each icon for the floating, bar, and sticky styles.
  • Show text labels — adds the platform name next to each icon (floating bar always shows icons only, by design).
  • Vertical offset (px) — fine-tune the distance from the top of the screen for the floating and bar styles.
  • Native share sheet — adds a “Share…” button that opens the visitor’s device/browser’s own native share sheet, for browsers that support it (mainly mobile). On by default; safe to leave on since it adds nothing for unsupported browsers.
  • Auto dark mode — automatically adapts the menu’s background for visitors whose browser/OS is set to dark mode, using CSS only. On by default; only touches a light Background color, never a deliberately-chosen dark one.
  • QR code button — adds a button that opens a modal with a scannable QR code for the current page, generated entirely in the visitor’s browser. On by default; useful for mobile-to-mobile or offline sharing.
  • Text-selection share popup — shows a small share popup when a visitor highlights text inside the post, using the platforms selected above. Off by default.

A live preview panel next to the settings form updates instantly as you change any option, so you can see exactly how the menu will look before saving.

Click Save Changes and the menu updates on your site immediately — no cache to clear beyond your usual page cache, if you use one.

You can also drop the menu manually into any post, page, or widget using the shortcode [sharezel_share_menu], regardless of the global style setting (it always renders inline where you place it).

FAQ

Does this plugin track visitors or send data anywhere?

The plugin itself does not run analytics or tracking. Share icons are plain links to each platform’s own official share dialog — see the “External services” section above for exactly what that involves and links to each platform’s terms and privacy policy.

Can I place the menu manually inside a specific post?

Yes — use the [sharezel_share_menu] shortcode anywhere in your content, widgets, or template files (with do_shortcode()).

Can I control which post types show the menu?

Yes, under Settings > Sharezel > “Show on” you can enable it per public post type (posts, pages, or any custom post type).

Will it slow down my site?

No. CSS and JS are only enqueued on pages where the menu actually renders, and everything is dependency-free vanilla JS. The frontend is also built to avoid Cumulative Layout Shift: every button has a fixed size before any JS runs, and animations use only transform/opacity.

Reviews

There are no reviews for this plugin.

Contributors and Developers

“Sharezel – Social Share Buttons” is open source software. The following people have contributed to this plugin.

Contributors
  • estiakahamed

Translate “Sharezel – Social Share Buttons” into your language.

Interested in development?

Browse the code, check out the SVN repository, or subscribe to the development log by RSS.

Change Log

1.2.0

  • New: Reddit, Threads, and Bluesky added to the platform list (11 total), each toggleable under Settings like any other platform.
  • New: Native “Share…” button using the device’s own OS share sheet (Web Share API) — progressive enhancement, only appears for visitors whose browser supports it, toggleable under Settings.
  • New: “Show QR code” button — opens a modal with a scannable QR code for the current page, generated entirely client-side (bundled MIT-licensed library, no external QR image service). On by default; toggle under Settings > Sharezel.
  • New: Text-selection share popup — optional; when a visitor highlights text inside the post content, a small popup appears with your chosen share platforms plus a “Copy quote” button. Off by default.
  • New: Live theme preview in Settings — every style/color/shape/platform change updates a real, instant preview panel without saving or reloading.
  • New: Automatic dark mode adaptation (prefers-color-scheme) for a light Background color, so the menu stays legible for visitors browsing in dark mode. Off switch available; deliberately-chosen dark backgrounds are never overridden.
  • New: Share count badge (“1.2K Shares”) — optional social-proof display. An admin-set seed number (site-wide default, overridable per post) blends with real counts a background WP-Cron job fetches and caches in post meta every 6 hours. Off by default. Real counts require your own SharedCount.com API key (filterable); with none configured, the badge shows only the seed number, and stays hidden while that number is 0 — see “External services” for the full disclosure.
  • New: “Sharezel Share Count” box on the post edit screen — set a per-post seed override, see the currently cached real count and when it was last checked, and manually refresh a single post’s real count on demand.
  • New: UTM campaign builder — optionally appends utm_source, utm_medium, and utm_campaign to every generated share link (every platform, plus Copy Link, QR code, and native share). Each field supports a {platform} token for automatic per-channel attribution. Off by default; doesn’t change link destinations, only adds tracking parameters.
  • New: Exit-intent share prompt — an optional, one-time-per-session modal offering your active platforms (plus Copy Link) when an engaged visitor looks like they’re about to leave. Requires a minimum engaged time (default 8 seconds) before it can trigger. Off by default.
  • New: Pinterest image picker — an optional thumbnail grid, built from the images already in the post, letting a visitor choose exactly which image gets pinned before Pinterest’s dialog opens. Falls back to Pinterest’s normal (auto-detected) sharing if the post has no usable images. Off by default.
  • New: “Cache & CDN” settings section — auto-purges WP Rocket, LiteSpeed Cache, W3 Total Cache, WP Super Cache, and Autoptimize (whichever are active) whenever settings are saved, plus optional Cloudflare cache purging if you provide a Zone ID and API Token. A “Purge Cache Now” button is also available for on-demand purging.
  • Fix: “Sticky (left of content)” style now actually renders as a vertical column of icons, truly vertically centered beside the content while scrolling, and fades out once the footer scrolls into view — matching what the style’s own description always promised.
  • Improvement: CSS/JS asset URLs now use each file’s own last-modified time for cache-busting instead of a manually-maintained version number, so a browser or CDN (e.g. Cloudflare) can never keep serving an outdated file after an update.
  • Improvement: Share actions now announce themselves to screen readers via the existing accessible live region — copying the link, opening the QR code, and opening any platform’s share window are all announced.
  • Improvement: Zero-JS fallback for the floating style — the share menu is fully visible and usable with JavaScript disabled.
  • Improvement: Frontend CSS reworked so every button has a fixed size before any JS runs and all open/close animations use only transform/opacity, eliminating layout shift (CLS) from the share menu.
  • Improvement: Asset loading is now centralized in one method shared by the automatic menu and the shortcode, so CSS/JS are always loaded on demand only, never speculatively.
  • Improvement: The share-count cron job only ever queries a small batch of the stalest posts per run (default 15), and does nothing at all — no query, no HTTP request — while the feature is switched off.
  • Improvement: uninstall.php now also removes all cached share-count post meta and unschedules the cron job, alongside the existing settings cleanup.
  • Improvement: Author link added to the plugin listing.
  • Fix: The automatic Cloudflare cache purge (on Settings save) no longer blocks the Save Changes request — it now fires non-blocking, so a slow or unreachable Cloudflare API can’t delay saving your settings. The manual “Purge Cache Now” button still waits for and reports Cloudflare’s response, since that’s the one meant to show you the result.
  • Fix: The Cloudflare Zone ID is now validated before use; an invalid/malformed value is safely ignored (with a clear notice from “Purge Cache Now”) instead of being used to build a request.
  • Fix: Saving settings no longer risks PHP warnings or losing your existing configuration if something ever submits malformed (non-array) data to the settings option — a save like that is now safely ignored instead of partially resetting your settings to defaults.

1.1.0

  • New: “Inline (below title)” menu style — places the menu at the very start of the post content, which in virtually all themes lands below the title and any author byline.
  • New: “Sticky (left of content)” menu style — stays vertically centered beside the content column while the visitor scrolls, and automatically hides once the footer scrolls into view.
  • New: “Background color” setting — controls the background shown behind each icon for the floating, floating bar, and sticky styles, separately from the existing “Toggle button color”.

1.0.1

  • Fix: unticking every platform, or every post type, and saving is now respected (previously reverted to defaults); an empty selection now correctly shows no menu.
  • Fix: Position dropdown now only offers combinations that are actually valid for the selected style (Left/Right for floating, Top/Bottom for the bar), with the field hidden for the inline style; invalid/old saved combinations are normalized automatically.
  • Fix: Copy Link now retries with a fallback method if the clipboard permission is denied, and shows an error message if copying truly fails, instead of always claiming success.
  • Fix: Removed the Messenger share button — its link required a Meta App ID that the plugin never had a valid value for.
  • Improvement: Floating menu now returns keyboard focus to the toggle button when closed via Escape or an outside click, and the toggle/list now use aria-controls for a clearer accessible relationship.

1.0.0

  • Initial release.

Meta

  • Version 1.2.0
  • Last updated 3 days ago
  • Active installations Fewer than 10
  • WordPress version 5.8 or higher
  • Tested up to 7.0.3
  • PHP version 7.4 or higher
  • Language
    English (US)
  • Tags
    floating shareshareshare buttonssocial mediasocial share
  • Advanced View

Ratings

No reviews have been submitted yet.

Your review

See all reviews

Contributors

  • estiakahamed

Support

Got something to say? Need help?

View support forum

  • About
  • News
  • Hosting
  • Privacy
  • Showcase
  • Themes
  • Plugins
  • Patterns
  • Learn
  • Support
  • Developers
  • WordPress.tv ↗
  • Get Involved
  • Events
  • Donate ↗
  • Swag ↗
  • WordPress.com ↗
  • Matt ↗
  • bbPress ↗
  • BuddyPress ↗
WordPress.org
WordPress.org

English (UK)

  • Visit our X (formerly Twitter) account
  • Visit our Bluesky account
  • Visit our Mastodon account
  • Visit our Threads account
  • Visit our Facebook page
  • Visit our Instagram account
  • Visit our LinkedIn account
  • Visit our TikTok account
  • Visit our YouTube channel
  • Visit our Tumblr account
Code is Poetry
The WordPress® trademark is the intellectual property of the WordPress Foundation.