{"id":342999,"date":"2026-07-21T13:57:18","date_gmt":"2026-07-21T13:57:18","guid":{"rendered":"https:\/\/wordpress.org\/plugins\/shareflow-social-share-buttons\/"},"modified":"2026-08-08T00:29:32","modified_gmt":"2026-08-08T00:29:32","slug":"sharezel-social-share-buttons","status":"publish","type":"plugin","link":"https:\/\/fa.wordpress.org\/plugins\/sharezel-social-share-buttons\/","author":13988993,"comment_status":"closed","ping_status":"closed","template":"","meta":{"version":"1.2.0","stable_tag":"1.2.0","tested":"7.0.4","requires":"5.8","requires_php":"7.4","requires_plugins":null,"header_name":"Sharezel \u2013 Social Share Buttons","header_author":"Estiak","header_description":"A lightweight, customizable floating\/bar\/inline social share menu for your posts and pages. No analytics, no visitor tracking \u2014 all icons are inline SVG. See the External services section of the readme for what happens when a share icon is clicked.","assets_banners_color":"0e1157","last_updated":"2026-08-08 00:29:32","external_support_url":"","external_repository_url":"","donate_link":"","header_plugin_uri":"https:\/\/wordpress.org\/plugins\/sharezel-social-share-buttons\/","header_author_uri":"https:\/\/profiles.wordpress.org\/estiakahamed\/","rating":0,"author_block_rating":0,"active_installs":0,"downloads":321,"num_ratings":0,"support_threads":0,"support_threads_resolved":0,"author_block_count":0,"sections":["description","installation","faq","changelog"],"tags":{"1.0.0":{"tag":"1.0.0","author":"estiakahamed","date":"2026-07-21 13:56:53"},"1.0.1":{"tag":"1.0.1","author":"estiakahamed","date":"2026-07-22 12:33:18"},"1.1.0":{"tag":"1.1.0","author":"estiakahamed","date":"2026-07-22 12:33:18"},"1.2.0":{"tag":"1.2.0","author":"estiakahamed","date":"2026-08-08 00:29:32"}},"upgrade_notice":{"1.2.0":"<p>Adds Reddit, Threads, and Bluesky; a native device share button; a client-side QR code button; a text-selection share popup; a live theme preview; automatic dark mode; a share count badge; a UTM campaign builder; an exit-intent prompt; a Pinterest image picker; and a new Cache &amp; CDN settings section (auto-purges popular caching plugins and, optionally, Cloudflare on save). Also fixes the Sticky style so it renders as a vertical, truly centered column and hides near the footer as documented. No breaking changes \u2014 all new behavior-changing features default off, and existing settings are unaffected.<\/p>","1.1.0":"<p>Adds two new menu styles (Inline below title, and a Sticky left-of-content style) plus a separate Background color setting. No breaking changes \u2014 existing settings are unaffected.<\/p>","1.0.1":"<p>Bug-fix release: platform\/post-type selections can now be intentionally empty, position options are validated per style, Copy Link has a reliable fallback, and the Messenger button (which needed an app ID this plugin never had) has been removed.<\/p>","1.0.0":"<p>Initial release.<\/p>"},"ratings":[],"assets_icons":{"icon-256x256.png":{"filename":"icon-256x256.png","revision":3617286,"resolution":"256x256","location":"assets","locale":"","width":256,"height":256}},"assets_banners":{"banner-772x250.png":{"filename":"banner-772x250.png","revision":3638370,"resolution":"772x250","location":"assets","locale":"","width":1911,"height":823}},"assets_blueprints":{},"all_blocks":[],"tagged_versions":["1.0.0","1.0.1","1.1.0","1.2.0"],"block_files":[],"assets_screenshots":[],"screenshots":{"1":"Floating popup share menu, open, on a single blog post.","2":"Settings &gt; Sharezel admin page \u2014 platforms, style, position, color, and labels.","3":"Floating bar style, centered at the bottom of the screen.","4":"Inline style with text labels, placed directly below the post content."}},"plugin_section":[],"plugin_tags":[156415,138,3091,154,680],"plugin_category":[56],"plugin_contributors":[272654],"plugin_business_model":[],"class_list":["post-342999","plugin","type-plugin","status-publish","hentry","plugin_tags-floating-share","plugin_tags-share","plugin_tags-share-buttons","plugin_tags-social-media","plugin_tags-social-share","plugin_category-social-and-sharing","plugin_contributors-estiakahamed","plugin_committers-estiakahamed"],"banners":{"banner":"https:\/\/ps.w.org\/sharezel-social-share-buttons\/assets\/banner-772x250.png?rev=3638370","banner_2x":false,"banner_rtl":false,"banner_2x_rtl":false},"icons":{"svg":false,"icon":"https:\/\/ps.w.org\/sharezel-social-share-buttons\/assets\/icon-256x256.png?rev=3617286","icon_2x":"https:\/\/ps.w.org\/sharezel-social-share-buttons\/assets\/icon-256x256.png?rev=3617286","generated":false},"screenshots":[],"raw_content":"<!--section=description-->\n<p>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 \u2014 all with a single click.<\/p>\n\n<p><strong>Key features:<\/strong><\/p>\n\n<ul>\n<li>Five display styles: floating popup button, floating bar, inline (below content), inline (below title), or sticky (left of content)<\/li>\n<li>11 built-in platforms, individually toggled on or off<\/li>\n<li>Optional native \"Share\u2026\" button using the device's own OS share sheet (Web Share API), pure progressive enhancement<\/li>\n<li>Optional \"Show QR code\" button \u2014 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.<\/li>\n<li>Optional text-selection share popup \u2014 when enabled, highlighting text inside a post shows a small \"share this quote\" popup using your chosen platforms<\/li>\n<li>Optional share count badge (\"1.2K Shares\") \u2014 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<\/li>\n<li>Optional UTM campaign builder \u2014 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<\/li>\n<li>Optional exit-intent share prompt \u2014 a one-time, session-throttled \"share before you go\" modal for engaged visitors, detected via cursor movement on desktop and scroll velocity on mobile<\/li>\n<li>Optional Pinterest image picker \u2014 lets a visitor choose which image from the post gets pinned, instead of leaving it to Pinterest's own auto-detection<\/li>\n<li>Choose which post types the menu appears on<\/li>\n<li>Circle, rounded, or square icon shapes<\/li>\n<li>Custom accent and background colors with the native WordPress color picker, plus a live theme preview in Settings<\/li>\n<li>Automatic dark mode adaptation for visitors whose browser\/OS prefers it (CSS-only, no flash of the wrong theme)<\/li>\n<li>Optional text labels next to icons<\/li>\n<li><code>[sharezel_share_menu]<\/code> shortcode for manual placement anywhere<\/li>\n<li>100% inline SVG icons \u2014 no icon fonts, no external image requests<\/li>\n<li>Screen-reader announcements for share actions (link copied, QR code opened, share window opening) via an accessible live region<\/li>\n<li>Built for zero Cumulative Layout Shift: every button has a fixed size before any JS runs, and all open\/close\/reveal animations use only <code>transform<\/code>\/<code>opacity<\/code><\/li>\n<li>CSS\/JS are only ever loaded on pages where the menu actually renders (matching post type, or shortcode usage) \u2014 never site-wide<\/li>\n<li>No analytics, no visitor tracking, no data sent anywhere by the plugin itself<\/li>\n<li>Translation-ready<\/li>\n<li>Clean uninstall \u2014 removes its single settings option, nothing left behind<\/li>\n<\/ul>\n\n<p><strong>Privacy note:<\/strong> 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 \u2014 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 \u2014 see \"External services\" for details.<\/p>\n\n<h3>External services<\/h3>\n\n<p>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 \u2014 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.<\/p>\n\n<ul>\n<li><strong>Facebook<\/strong> \u2014 opens Facebook's share dialog. Used when a visitor clicks the Facebook icon. <a href=\"https:\/\/www.facebook.com\/legal\/terms\">Terms<\/a>, <a href=\"https:\/\/www.facebook.com\/policy.php\">Privacy Policy<\/a><\/li>\n<li><strong>WhatsApp<\/strong> (Meta) \u2014 opens WhatsApp's click-to-chat page. Used when a visitor clicks the WhatsApp icon. <a href=\"https:\/\/www.whatsapp.com\/legal\/terms-of-service\">Terms<\/a>, <a href=\"https:\/\/www.whatsapp.com\/legal\/privacy-policy\">Privacy Policy<\/a><\/li>\n<li><strong>X (Twitter)<\/strong> \u2014 opens X's tweet-composer page. Used when a visitor clicks the X icon. <a href=\"https:\/\/twitter.com\/en\/tos\">Terms<\/a>, <a href=\"https:\/\/twitter.com\/en\/privacy\">Privacy Policy<\/a><\/li>\n<li><strong>Telegram<\/strong> \u2014 opens Telegram's share page. Used when a visitor clicks the Telegram icon. <a href=\"https:\/\/telegram.org\/tos\">Terms<\/a>, <a href=\"https:\/\/telegram.org\/privacy\">Privacy Policy<\/a><\/li>\n<li><strong>LinkedIn<\/strong> \u2014 opens LinkedIn's share dialog. Used when a visitor clicks the LinkedIn icon. <a href=\"https:\/\/www.linkedin.com\/legal\/user-agreement\">Terms<\/a>, <a href=\"https:\/\/www.linkedin.com\/legal\/privacy-policy\">Privacy Policy<\/a><\/li>\n<li><strong>Pinterest<\/strong> \u2014 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 \u2014 the images are never sent anywhere until Pinterest's own dialog opens). <a href=\"https:\/\/policy.pinterest.com\/en\/terms-of-service\">Terms<\/a>, <a href=\"https:\/\/policy.pinterest.com\/en\/privacy-policy\">Privacy Policy<\/a><\/li>\n<li><strong>Reddit<\/strong> \u2014 opens Reddit's submit page. Used when a visitor clicks the Reddit icon. <a href=\"https:\/\/www.redditinc.com\/policies\/user-agreement\">Terms<\/a>, <a href=\"https:\/\/www.reddit.com\/policies\/privacy-policy\">Privacy Policy<\/a><\/li>\n<li><strong>Threads<\/strong> (Meta) \u2014 opens Threads' post composer. Used when a visitor clicks the Threads icon. <a href=\"https:\/\/help.instagram.com\/769983657850450\">Terms<\/a>, <a href=\"https:\/\/www.facebook.com\/privacy\/policy\/\">Privacy Policy<\/a><\/li>\n<li><strong>Bluesky<\/strong> \u2014 opens Bluesky's post composer. Used when a visitor clicks the Bluesky icon. <a href=\"https:\/\/bsky.social\/about\/support\/tos\">Terms<\/a>, <a href=\"https:\/\/bsky.social\/about\/support\/privacy-policy\">Privacy Policy<\/a><\/li>\n<li><strong>SharedCount.com<\/strong> (optional, off by default) \u2014 if you turn on \"Share count display\" in Settings AND separately filter in your own SharedCount API key (<code>sharezel_sharedcount_api_key<\/code>), 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 \u2014 no request is ever made \u2014 unless both the setting and the API key are configured. <a href=\"https:\/\/www.sharedcount.com\/terms\">Terms<\/a>, <a href=\"https:\/\/www.sharedcount.com\/privacy\">Privacy Policy<\/a><\/li>\n<li><strong>Cloudflare<\/strong> (optional, off by default) \u2014 if you enter your own Cloudflare Zone ID and API Token under Settings &gt; Sharezel &gt; Cache &amp; CDN, the plugin sends a \"purge everything\" request to Cloudflare's API (<code>api.cloudflare.com<\/code>) whenever you save the Sharezel settings, or when you click \"Purge Cache Now\" \u2014 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. <a href=\"https:\/\/www.cloudflare.com\/service-specific-terms-application\/\">Terms<\/a>, <a href=\"https:\/\/www.cloudflare.com\/privacypolicy\/\">Privacy Policy<\/a><\/li>\n<\/ul>\n\n<p>The <strong>Email<\/strong> icon only opens the visitor's own local email client via a standard <code>mailto:<\/code> link \u2014 no external service is involved. The <strong>Copy Link<\/strong> button only uses the browser's built-in clipboard API \u2014 no external service is involved either. The <strong>QR code<\/strong> button generates the code entirely client-side using a bundled, MIT-licensed JavaScript library \u2014 no external QR image API is contacted, and the URL is never sent anywhere.<\/p>\n\n<!--section=installation-->\n<h4>A) Install from within WordPress (recommended)<\/h4>\n\n<ol>\n<li>In your WordPress dashboard, go to <strong>Plugins &gt; Add New Plugin<\/strong>.<\/li>\n<li>Search for <strong>\"Sharezel\"<\/strong>.<\/li>\n<li>Click <strong>Install Now<\/strong>, then <strong>Activate<\/strong>.<\/li>\n<li>Go to <strong>Settings &gt; Sharezel<\/strong> to choose your platforms, style, and colors.<\/li>\n<\/ol>\n\n<h4>B) Upload the ZIP manually<\/h4>\n\n<ol>\n<li>Download the plugin ZIP file.<\/li>\n<li>In your dashboard, go to <strong>Plugins &gt; Add New Plugin &gt; Upload Plugin<\/strong>.<\/li>\n<li>Choose the ZIP file and click <strong>Install Now<\/strong>.<\/li>\n<li>Click <strong>Activate Plugin<\/strong>.<\/li>\n<li>Go to <strong>Settings &gt; Sharezel<\/strong> to configure it.<\/li>\n<\/ol>\n\n<h4>C) Upload via FTP\/SFTP<\/h4>\n\n<ol>\n<li>Unzip the plugin package on your computer.<\/li>\n<li>Upload the resulting <code>sharezel-social-share-buttons<\/code> folder to <code>\/wp-content\/plugins\/<\/code> on your server.<\/li>\n<li>In your dashboard, go to <strong>Plugins<\/strong>, find \"Sharezel \u2013 Social Share Buttons\", and click <strong>Activate<\/strong>.<\/li>\n<li>Go to <strong>Settings &gt; Sharezel<\/strong> to configure it.<\/li>\n<\/ol>\n\n<h4>After activation<\/h4>\n\n<p>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) \u2014 you don't have to configure anything to start sharing. Visit <strong>Settings &gt; Sharezel<\/strong> any time to adjust:<\/p>\n\n<ul>\n<li><strong>Show on<\/strong> \u2014 which public post types display the menu (Posts, Pages, or any custom post type).<\/li>\n<li><strong>Platforms<\/strong> \u2014 tick the networks you want; untick any you don't. Order follows the list top-to-bottom.<\/li>\n<li><strong>Menu style<\/strong> \u2014 Floating popup button, Floating bar, Inline (below the content), Inline (below the title), or Sticky (left of the content).<\/li>\n<li><strong>Position<\/strong> \u2014 Left\/Right for the floating style, Top\/Bottom for the bar style (not used by the inline or sticky styles).<\/li>\n<li><strong>Icon shape<\/strong> \u2014 Circle, rounded square, or square.<\/li>\n<li><strong>Toggle button color<\/strong> \u2014 pick any accent color with the built-in WordPress color picker.<\/li>\n<li><strong>Background color<\/strong> \u2014 pick the background shown behind each icon for the floating, bar, and sticky styles.<\/li>\n<li><strong>Show text labels<\/strong> \u2014 adds the platform name next to each icon (floating bar always shows icons only, by design).<\/li>\n<li><strong>Vertical offset (px)<\/strong> \u2014 fine-tune the distance from the top of the screen for the floating and bar styles.<\/li>\n<li><strong>Native share sheet<\/strong> \u2014 adds a \"Share\u2026\" 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.<\/li>\n<li><strong>Auto dark mode<\/strong> \u2014 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.<\/li>\n<li><strong>QR code button<\/strong> \u2014 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.<\/li>\n<li><strong>Text-selection share popup<\/strong> \u2014 shows a small share popup when a visitor highlights text inside the post, using the platforms selected above. Off by default.<\/li>\n<\/ul>\n\n<p>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.<\/p>\n\n<p>Click <strong>Save Changes<\/strong> and the menu updates on your site immediately \u2014 no cache to clear beyond your usual page cache, if you use one.<\/p>\n\n<p>You can also drop the menu manually into any post, page, or widget using the shortcode <code>[sharezel_share_menu]<\/code>, regardless of the global style setting (it always renders inline where you place it).<\/p>\n\n<!--section=faq-->\n<dl>\n<dt id=\"does%20this%20plugin%20track%20visitors%20or%20send%20data%20anywhere%3F\"><h3>Does this plugin track visitors or send data anywhere?<\/h3><\/dt>\n<dd><p>The plugin itself does not run analytics or tracking. Share icons are plain links to each platform's own official share dialog \u2014 see the \"External services\" section above for exactly what that involves and links to each platform's terms and privacy policy.<\/p><\/dd>\n<dt id=\"can%20i%20place%20the%20menu%20manually%20inside%20a%20specific%20post%3F\"><h3>Can I place the menu manually inside a specific post?<\/h3><\/dt>\n<dd><p>Yes \u2014 use the <code>[sharezel_share_menu]<\/code> shortcode anywhere in your content, widgets, or template files (with <code>do_shortcode()<\/code>).<\/p><\/dd>\n<dt id=\"can%20i%20control%20which%20post%20types%20show%20the%20menu%3F\"><h3>Can I control which post types show the menu?<\/h3><\/dt>\n<dd><p>Yes, under Settings &gt; Sharezel &gt; \"Show on\" you can enable it per public post type (posts, pages, or any custom post type).<\/p><\/dd>\n<dt id=\"will%20it%20slow%20down%20my%20site%3F\"><h3>Will it slow down my site?<\/h3><\/dt>\n<dd><p>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 <code>transform<\/code>\/<code>opacity<\/code>.<\/p><\/dd>\n\n<\/dl>\n\n<!--section=changelog-->\n<h4>1.2.0<\/h4>\n\n<ul>\n<li>New: Reddit, Threads, and Bluesky added to the platform list (11 total), each toggleable under Settings like any other platform.<\/li>\n<li>New: Native \"Share\u2026\" button using the device's own OS share sheet (Web Share API) \u2014 progressive enhancement, only appears for visitors whose browser supports it, toggleable under Settings.<\/li>\n<li>New: \"Show QR code\" button \u2014 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 &gt; Sharezel.<\/li>\n<li>New: Text-selection share popup \u2014 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.<\/li>\n<li>New: Live theme preview in Settings \u2014 every style\/color\/shape\/platform change updates a real, instant preview panel without saving or reloading.<\/li>\n<li>New: Automatic dark mode adaptation (<code>prefers-color-scheme<\/code>) 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.<\/li>\n<li>New: Share count badge (\"1.2K Shares\") \u2014 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 \u2014 see \"External services\" for the full disclosure.<\/li>\n<li>New: \"Sharezel Share Count\" box on the post edit screen \u2014 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.<\/li>\n<li>New: UTM campaign builder \u2014 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.<\/li>\n<li>New: Exit-intent share prompt \u2014 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.<\/li>\n<li>New: Pinterest image picker \u2014 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.<\/li>\n<li>New: \"Cache &amp; CDN\" settings section \u2014 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.<\/li>\n<li>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 \u2014 matching what the style's own description always promised.<\/li>\n<li>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.<\/li>\n<li>Improvement: Share actions now announce themselves to screen readers via the existing accessible live region \u2014 copying the link, opening the QR code, and opening any platform's share window are all announced.<\/li>\n<li>Improvement: Zero-JS fallback for the floating style \u2014 the share menu is fully visible and usable with JavaScript disabled.<\/li>\n<li>Improvement: Frontend CSS reworked so every button has a fixed size before any JS runs and all open\/close animations use only <code>transform<\/code>\/<code>opacity<\/code>, eliminating layout shift (CLS) from the share menu.<\/li>\n<li>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.<\/li>\n<li>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 \u2014 no query, no HTTP request \u2014 while the feature is switched off.<\/li>\n<li>Improvement: <code>uninstall.php<\/code> now also removes all cached share-count post meta and unschedules the cron job, alongside the existing settings cleanup.<\/li>\n<li>Improvement: Author link added to the plugin listing.<\/li>\n<li>Fix: The automatic Cloudflare cache purge (on Settings save) no longer blocks the Save Changes request \u2014 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.<\/li>\n<li>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.<\/li>\n<li>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 \u2014 a save like that is now safely ignored instead of partially resetting your settings to defaults.<\/li>\n<\/ul>\n\n<h4>1.1.0<\/h4>\n\n<ul>\n<li>New: \"Inline (below title)\" menu style \u2014 places the menu at the very start of the post content, which in virtually all themes lands below the title and any author byline.<\/li>\n<li>New: \"Sticky (left of content)\" menu style \u2014 stays vertically centered beside the content column while the visitor scrolls, and automatically hides once the footer scrolls into view.<\/li>\n<li>New: \"Background color\" setting \u2014 controls the background shown behind each icon for the floating, floating bar, and sticky styles, separately from the existing \"Toggle button color\".<\/li>\n<\/ul>\n\n<h4>1.0.1<\/h4>\n\n<ul>\n<li>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.<\/li>\n<li>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.<\/li>\n<li>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.<\/li>\n<li>Fix: Removed the Messenger share button \u2014 its link required a Meta App ID that the plugin never had a valid value for.<\/li>\n<li>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 <code>aria-controls<\/code> for a clearer accessible relationship.<\/li>\n<\/ul>\n\n<h4>1.0.0<\/h4>\n\n<ul>\n<li>Initial release.<\/li>\n<\/ul>","raw_excerpt":"A lightweight, customizable floating\/bar\/inline social share menu for your posts and pages. No analytics, no visitor tracking.","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/fa.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin\/342999","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/fa.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin"}],"about":[{"href":"https:\/\/fa.wordpress.org\/plugins\/wp-json\/wp\/v2\/types\/plugin"}],"replies":[{"embeddable":true,"href":"https:\/\/fa.wordpress.org\/plugins\/wp-json\/wp\/v2\/comments?post=342999"}],"author":[{"embeddable":true,"href":"https:\/\/fa.wordpress.org\/plugins\/wp-json\/wporg\/v1\/users\/estiakahamed"}],"wp:attachment":[{"href":"https:\/\/fa.wordpress.org\/plugins\/wp-json\/wp\/v2\/media?parent=342999"}],"wp:term":[{"taxonomy":"plugin_section","embeddable":true,"href":"https:\/\/fa.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_section?post=342999"},{"taxonomy":"plugin_tags","embeddable":true,"href":"https:\/\/fa.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_tags?post=342999"},{"taxonomy":"plugin_category","embeddable":true,"href":"https:\/\/fa.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_category?post=342999"},{"taxonomy":"plugin_contributors","embeddable":true,"href":"https:\/\/fa.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_contributors?post=342999"},{"taxonomy":"plugin_business_model","embeddable":true,"href":"https:\/\/fa.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_business_model?post=342999"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}