{"id":289100,"date":"2026-03-24T14:22:00","date_gmt":"2026-03-24T14:22:00","guid":{"rendered":"https:\/\/wordpress.org\/plugins\/buttonflow\/"},"modified":"2026-04-01T04:28:42","modified_gmt":"2026-04-01T04:28:42","slug":"buttonflow","status":"publish","type":"plugin","link":"https:\/\/et.wordpress.org\/plugins\/buttonflow\/","author":21096513,"comment_status":"closed","ping_status":"closed","template":"","meta":{"_crdt_document":"","version":"1.2.0","stable_tag":"1.2.0","tested":"6.9.4","requires":"6.5","requires_php":"8.0","requires_plugins":null,"header_name":"ButtonFlow","header_author":"Ga Satrya","header_description":"Add a permanent floating CTA button to your site on mobile. One tap to call, book, or message. Zero code required.","assets_banners_color":"","last_updated":"2026-04-01 04:28:42","external_support_url":"","external_repository_url":"","donate_link":"","header_plugin_uri":"https:\/\/www.ctaflow.com\/plugins\/buttonflow\/","header_author_uri":"https:\/\/www.ctaflow.com\/","rating":0,"author_block_rating":0,"active_installs":0,"downloads":123,"num_ratings":0,"support_threads":0,"support_threads_resolved":0,"author_block_count":0,"sections":["description","installation","faq","changelog"],"tags":{"1.1.0":{"tag":"1.1.0","author":"gasatrya","date":"2026-03-24 14:21:28"},"1.2.0":{"tag":"1.2.0","author":"gasatrya","date":"2026-04-01 04:28:42"}},"upgrade_notice":{"1.0.1":"<p>Rebranded to ButtonFlow. No functionality changes.<\/p>","1.0.0":"<p>Initial release. No upgrade steps required.<\/p>"},"ratings":[],"assets_icons":{"icon-256x256.png":{"filename":"icon-256x256.png","revision":3490098,"resolution":"256x256","location":"assets","locale":""}},"assets_banners":[],"assets_blueprints":{"blueprint.json":{"filename":"blueprint.json","revision":3498577,"resolution":false,"location":"assets","locale":"","contents":"{\"landingPage\":\"\\\/wp-admin\\\/options-general.php?page=buttonflow\",\"features\":{\"networking\":true},\"steps\":[{\"step\":\"login\",\"username\":\"admin\",\"password\":\"password\"},{\"step\":\"installPlugin\",\"options\":{\"activate\":true},\"pluginData\":{\"resource\":\"wordpress.org\\\/plugins\",\"slug\":\"buttonflow\"}}]}"}},"all_blocks":[],"tagged_versions":["1.1.0","1.2.0"],"block_files":[],"assets_screenshots":{"screenshot-1.png":{"filename":"screenshot-1.png","revision":3490098,"resolution":"1","location":"assets","locale":""},"screenshot-2.png":{"filename":"screenshot-2.png","revision":3490098,"resolution":"2","location":"assets","locale":""}},"screenshots":{"1":"The settings page with Live Preview.","2":"The floating CTA button as seen by a mobile visitor."},"jetpack_post_was_ever_published":false},"plugin_section":[],"plugin_tags":[60390,8857,1290,3160,149318],"plugin_category":[],"plugin_contributors":[226940],"plugin_business_model":[],"class_list":["post-289100","plugin","type-plugin","status-publish","hentry","plugin_tags-click-to-chat","plugin_tags-cta","plugin_tags-notification-bar","plugin_tags-whatsapp","plugin_tags-whatsapp-business","plugin_contributors-gasatrya","plugin_committers-gasatrya"],"banners":[],"icons":{"svg":false,"icon":"https:\/\/ps.w.org\/buttonflow\/assets\/icon-256x256.png?rev=3490098","icon_2x":"https:\/\/ps.w.org\/buttonflow\/assets\/icon-256x256.png?rev=3490098","generated":false},"screenshots":[{"src":"https:\/\/ps.w.org\/buttonflow\/assets\/screenshot-1.png?rev=3490098","caption":"The settings page with Live Preview."},{"src":"https:\/\/ps.w.org\/buttonflow\/assets\/screenshot-2.png?rev=3490098","caption":"The floating CTA button as seen by a mobile visitor."}],"raw_content":"<!--section=description-->\n<p>65\u201375% of local business website traffic comes from mobile \u2014 yet most WordPress themes bury the phone number in the header and hide the \"Book Now\" button at the top of the page. Once a visitor scrolls, your most important CTA disappears.<\/p>\n\n<p><strong>ButtonFlow<\/strong> fixes this in minutes.<\/p>\n\n<p>Install the plugin, set your button label and action, and a beautiful floating button will appear at the bottom of every mobile screen \u2014 staying permanently visible as the user scrolls. One tap to call. One tap to book. One tap to start a WhatsApp conversation.<\/p>\n\n<p>No page builder. No theme editing. No code.<\/p>\n\n<h4>Who is this for?<\/h4>\n\n<ul>\n<li>Aesthetic clinics &amp; medspas<\/li>\n<li>Restaurants &amp; cafes<\/li>\n<li>Law firms &amp; consultants<\/li>\n<li>Real estate agents<\/li>\n<li>Any local business that gets mobile traffic and wants more leads<\/li>\n<\/ul>\n\n<h4>Core Features<\/h4>\n\n<ul>\n<li><strong>Click-to-Call<\/strong> \u2014 Tapping the button instantly dials your phone number.<\/li>\n<li><strong>Open URL<\/strong> \u2014 Send visitors directly to your booking page, menu, or any link.<\/li>\n<li><strong>WhatsApp Chat<\/strong> \u2014 Opens WhatsApp with a pre-filled message (fully customizable).<\/li>\n<li><strong>Smooth Scroll<\/strong> \u2014 Scrolls the page to a specific section using an anchor ID (#contact).<\/li>\n<li><strong>Custom Label &amp; Icon<\/strong> \u2014 Set any button text and choose from preset icons (phone, calendar, WhatsApp, message).<\/li>\n<li><strong>Appearance Control<\/strong> \u2014 Customize background color, text color, and choose from 3 button sizes (Small, Medium, Large).<\/li>\n<li><strong>Live Preview<\/strong> \u2014 See exactly how your button looks in real-time as you edit the settings.<\/li>\n<li><strong>Mobile-Only Display<\/strong> \u2014 The button is never shown on tablets or desktops (CSS + JS dual enforcement).<\/li>\n<li><strong>Page-Level Hide Rules<\/strong> \u2014 Suppress the button on specific pages (e.g., the contact page itself) using slugs or IDs.<\/li>\n<li><strong>Entrance Animation<\/strong> \u2014 Button slides up from the bottom after a configurable delay.<\/li>\n<li><strong>Performance Optimized<\/strong> \u2014 Total asset size under 5kb. No jQuery. No React. No bloat.<\/li>\n<\/ul>\n\n<h4>Privacy First<\/h4>\n\n<p>This plugin is built with privacy as a priority. No tracking, no external scripts, and no \"Powered by\" branding. No personal data is collected, stored, or transmitted. Full GDPR compliance out of the box.<\/p>\n\n<h4>Coming in Pro (v2)<\/h4>\n\n<ul>\n<li>Multi-button dock (Call + WhatsApp + Book fan-out on tap)<\/li>\n<li>A\/B testing \u2014 test two CTA labels and auto-promote the winner<\/li>\n<li>Session frequency control \u2014 hide for visitors who already clicked<\/li>\n<li>Click analytics dashboard \u2014 clicks, click rate by page, device breakdown<\/li>\n<\/ul>\n\n<p><a href=\"https:\/\/www.ctaflow.com\/plugins\/buttonflow\/\">Read more detail<\/a><\/p>\n\n<!--section=installation-->\n<ol>\n<li>Upload the <code>buttonflow<\/code> folder to the <code>\/wp-content\/plugins\/<\/code> directory, or install via <strong>Plugins \u2192 Add New<\/strong> in your WordPress dashboard.<\/li>\n<li>Activate the plugin through the <strong>Plugins<\/strong> menu.<\/li>\n<li>Go to <strong>Settings \u2192 ButtonFlow<\/strong> to configure your button.<\/li>\n<li>Set your button label, choose an action type, and enter the action value.<\/li>\n<li>Customize colors, size, and entrance delay to match your brand.<\/li>\n<li>Click <strong>Save Settings<\/strong> and visit your site on a mobile device to see the button in action.<\/li>\n<\/ol>\n\n<!--section=faq-->\n<dl>\n<dt id=\"will%20this%20button%20show%20on%20desktop%3F\"><h3>Will this button show on desktop?<\/h3><\/dt>\n<dd><p>No. The button is hidden on all screens wider than 767px using both CSS media queries and JavaScript. Desktop visitors will never see it.<\/p><\/dd>\n<dt id=\"does%20it%20work%20with%20elementor%2C%20divi%2C%20or%20astra%3F\"><h3>Does it work with Elementor, Divi, or Astra?<\/h3><\/dt>\n<dd><p>Yes. The plugin injects directly into the page footer and is fully theme-agnostic. It has been tested with Astra, GeneratePress, OceanWP, and Elementor-based themes.<\/p><\/dd>\n<dt id=\"can%20i%20hide%20the%20button%20on%20specific%20pages%3F\"><h3>Can I hide the button on specific pages?<\/h3><\/dt>\n<dd><p>Yes. In the settings page, you can enter a comma-separated list of page IDs or slugs where the button should be hidden (for example: your contact page or checkout page).<\/p><\/dd>\n<dt id=\"how%20do%20i%20set%20up%20the%20whatsapp%20action%3F\"><h3>How do I set up the WhatsApp action?<\/h3><\/dt>\n<dd><p>Select \"WhatsApp\" as the action type, then enter your phone number in international format (e.g., <code>628123456789<\/code>). You can also customize the pre-filled message text.<\/p><\/dd>\n<dt id=\"is%20this%20plugin%20free%3F\"><h3>Is this plugin free?<\/h3><\/dt>\n<dd><p>Yes. The core plugin is 100% free and always will be. A Pro version with advanced features is planned for a future release.<\/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. The CSS and JS files combined weigh less than 5kb and are only loaded on the frontend. The plugin uses no external dependencies.<\/p><\/dd>\n\n<\/dl>\n\n<!--section=changelog-->\n<h4>1.2.0<\/h4>\n\n<ul>\n<li>Modernized JavaScript codebase with ES6+ standards (const\/let, arrow functions).<\/li>\n<li>Fixed case-sensitivity issue in WhatsApp color auto-selection.<\/li>\n<li>Improved code consistency and safety checks in admin settings.<\/li>\n<\/ul>\n\n<h4>1.1.0<\/h4>\n\n<ul>\n<li>Fixed version sync across core files.<\/li>\n<li>Added uninstall.php for proper data cleanup on deletion.<\/li>\n<li>Improved mobile detection using matchMedia for better consistency.<\/li>\n<li>Readiness audit and final refinements for WordPress.org submission.<\/li>\n<\/ul>\n\n<h4>1.0.1<\/h4>\n\n<ul>\n<li>Rebranded the plugin to ButtonFlow.<\/li>\n<li>Minor UI\/UX refinements.<\/li>\n<li>Code cleanup and consistency improvements.<\/li>\n<\/ul>\n\n<h4>1.0.0<\/h4>\n\n<ul>\n<li>Initial release.<\/li>\n<li>Features: Action types (Phone, URL, WhatsApp, Scroll), Custom Colors, Icons, Button Sizing, and Page Exclusion.<\/li>\n<li>Includes: Live Preview and Reset to Defaults functionality.<\/li>\n<\/ul>","raw_excerpt":"Boost conversions with a permanent floating CTA button on mobile. One tap to call, message, or book. Zero code required.","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/et.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin\/289100","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/et.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin"}],"about":[{"href":"https:\/\/et.wordpress.org\/plugins\/wp-json\/wp\/v2\/types\/plugin"}],"replies":[{"embeddable":true,"href":"https:\/\/et.wordpress.org\/plugins\/wp-json\/wp\/v2\/comments?post=289100"}],"author":[{"embeddable":true,"href":"https:\/\/et.wordpress.org\/plugins\/wp-json\/wporg\/v1\/users\/gasatrya"}],"wp:attachment":[{"href":"https:\/\/et.wordpress.org\/plugins\/wp-json\/wp\/v2\/media?parent=289100"}],"wp:term":[{"taxonomy":"plugin_section","embeddable":true,"href":"https:\/\/et.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_section?post=289100"},{"taxonomy":"plugin_tags","embeddable":true,"href":"https:\/\/et.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_tags?post=289100"},{"taxonomy":"plugin_category","embeddable":true,"href":"https:\/\/et.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_category?post=289100"},{"taxonomy":"plugin_contributors","embeddable":true,"href":"https:\/\/et.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_contributors?post=289100"},{"taxonomy":"plugin_business_model","embeddable":true,"href":"https:\/\/et.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_business_model?post=289100"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}