{"id":33346508,"url":"https://github.com/wpdevup/tap-chat","last_synced_at":"2025-11-22T07:02:20.015Z","repository":{"id":317923552,"uuid":"1063557815","full_name":"wpdevup/tap-chat","owner":"wpdevup","description":"Lightweight WordPress plugin to add a floating WhatsApp click-to-chat button with shortcode, greeting bubble, and country picker.  ","archived":false,"fork":false,"pushed_at":"2025-11-21T21:17:31.000Z","size":182,"stargazers_count":3,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2025-11-21T23:14:35.414Z","etag":null,"topics":["clicktochat","whatsapp","wordpress","wordpress-plugin"],"latest_commit_sha":null,"homepage":"","language":"PHP","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/wpdevup.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2025-09-24T19:45:13.000Z","updated_at":"2025-11-21T21:17:35.000Z","dependencies_parsed_at":"2025-10-03T23:25:27.661Z","dependency_job_id":"f6d4280d-4e27-433d-a4e3-2366e8afb916","html_url":"https://github.com/wpdevup/tap-chat","commit_stats":null,"previous_names":["wpdevup/tap-chat"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/wpdevup/tap-chat","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/wpdevup%2Ftap-chat","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/wpdevup%2Ftap-chat/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/wpdevup%2Ftap-chat/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/wpdevup%2Ftap-chat/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/wpdevup","download_url":"https://codeload.github.com/wpdevup/tap-chat/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/wpdevup%2Ftap-chat/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":285748794,"owners_count":27225088,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-11-22T02:00:05.934Z","response_time":64,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["clicktochat","whatsapp","wordpress","wordpress-plugin"],"created_at":"2025-11-22T07:01:18.494Z","updated_at":"2025-11-22T07:02:20.009Z","avatar_url":"https://github.com/wpdevup.png","language":"PHP","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Tap Chat - WordPress Click-to-Chat Plugin\n\n**Version:** 1.4.0 | **Requires:** WordPress 5.8+ | **PHP:** 7.4+\n\n[![WordPress Plugin Version](https://img.shields.io/wordpress/plugin/v/tap-chat.svg)](https://wordpress.org/plugins/tap-chat/)\n[![WordPress Plugin Downloads](https://img.shields.io/wordpress/plugin/dt/tap-chat.svg)](https://wordpress.org/plugins/tap-chat/)\n[![License](https://img.shields.io/badge/license-GPL--2.0%2B-blue.svg)](https://www.gnu.org/licenses/gpl-2.0.html)\n\nLightweight WordPress plugin for adding a professional floating chat button to your website. Connect with visitors instantly through popular messaging platforms with zero configuration complexity.\n\n## 🚀 Features\n\n### Core Features\n- ✨ **Floating Chat Button** - Beautiful, customizable button that sticks to your site\n- 💬 **Welcome Bubble** - Friendly greeting message with Modern \u0026 Simple styles\n- 🎯 **Smart Triggers** - Show bubble at the perfect moment based on visitor behavior\n- 🌍 **Country Selector** - 150+ country codes with flags\n- ⏰ **Working Hours** - Display button only during business hours\n- 👁️ **Page Visibility** - Control where button appears\n- 🎨 **Fully Customizable** - Colors, sizes, positions, labels\n- 📱 **Mobile Optimized** - Separate mobile/desktop configurations\n- 🔒 **GDPR Compliant** - Zero tracking, no cookies\n- 🌐 **Translation Ready** - Fully translatable with .pot file\n\n### Smart Triggers (New in 1.4.0)\n\nControl when the welcome bubble appears based on visitor behavior:\n\n- ⏱️ **Time on Page** - After visitor stays for X seconds (enabled by default, recommended)\n- 📜 **Scroll Depth** - When visitor scrolls to X% of page\n- 🚪 **Exit Intent** - When visitor moves mouse to close tab\n- 💤 **Idle Detection** - When visitor is inactive for X seconds\n\n**How it works:** When multiple triggers are enabled, the bubble shows when ANY condition is met first. This gives you flexible control over user engagement.\n\n### Welcome Bubble Styles\n\n**Modern Style:**\n- Avatar image\n- Agent/team name\n- Online status indicator\n- Positioned above button\n\n**Simple Style:**\n- Clean, minimal design\n- Message only\n- Positioned above or beside button\n- Faster configuration\n\n## 📦 Installation\n\n### From WordPress.org\n\n1. Go to **WordPress Dashboard → Plugins → Add New**\n2. Search for \"**Tap Chat**\"\n3. Click **Install Now** and then **Activate**\n4. Go to **Settings → Tap Chat** to configure\n\n### Manual Installation\n\n1. Download the latest release from [WordPress.org](https://wordpress.org/plugins/tap-chat/)\n2. Upload to `/wp-content/plugins/` directory\n3. Activate through the **Plugins** menu in WordPress\n4. Configure via **Settings → Tap Chat**\n\n### For Developers\n```bash\n# Clone the repository\ngit clone https://github.com/wpdevup/tap-chat.git\n\n# Navigate to plugin directory\ncd tap-chat\n\n# Link to WordPress plugins directory\nln -s $(pwd) /path/to/wordpress/wp-content/plugins/tap-chat\n```\n\n## ⚙️ Configuration\n\n### Basic Setup\n\n1. **General Tab:**\n   - Select country code\n   - Enter phone number (without country code)\n   - Customize appearance (color, size, position)\n   - Set default message and label\n\n2. **Welcome Bubble Tab:**\n   - Enable welcome bubble\n   - Choose style (Modern or Simple)\n   - Customize message, name, avatar\n   - **Configure smart triggers:**\n     - Time on Page (default: 3 seconds)\n     - Scroll Depth (customize percentage)\n     - Exit Intent (mouse leaves viewport)\n     - Idle Detection (no activity timeout)\n\n3. **Business Hours Tab:**\n   - Set working hours per day\n   - Choose timezone\n   - Add optional offline message\n\n4. **Visibility Tab:**\n   - Show on specific pages only\n   - Hide on specific pages\n   - Combine rules for precise control\n\n5. **Advanced Tab:**\n   - Page context appending\n   - Additional options\n\n### Shortcode Usage\n\nBasic shortcode:\n```php\n[tapchat]\n```\n\nWith custom parameters:\n```php\n[tapchat phone=\"+1234567890\" message=\"Hello!\" label=\"Contact us\"]\n```\n\n### Programmatic Usage\n```php\n// Get plugin instance\n$tap_chat = \\Tap_Chat\\Plugin::instance();\n\n// Hooks available\nadd_action( 'tapchat_click', 'my_custom_function' );\n```\n\n## 🎯 Smart Triggers Usage\n\n### Best Practices\n\n**For E-commerce Sites:**\n```\nRecommended: Scroll Depth + Exit Intent\n- Enable Scroll Depth: 50%\n- Enable Exit Intent\n```\n\n**For Service/Support Sites:**\n```\nRecommended: Time on Page (default)\n- Enable Time on Page: 3-5 seconds\n```\n\n**For High-Traffic Blogs:**\n```\nRecommended: Scroll Depth + Idle\n- Enable Scroll Depth: 30%\n- Enable Idle Detection: 30 seconds\n```\n\n### Trigger Priority\n\nWhen multiple triggers are enabled:\n1. Whichever condition is met **first** will trigger the bubble\n2. Once shown, bubble won't show again in the same session\n3. User can manually close bubble at any time\n4. Closed bubbles are remembered for the current session only\n\n### Testing Triggers\n```javascript\n// Clear session storage to reset bubble\nsessionStorage.clear();\n\n// Reload page to test triggers again\nlocation.reload();\n```\n\n## 🎨 Customization\n\n### CSS Customization\n\nOverride default styles in your theme:\n```css\n/* Custom button color */\n.tapchat-fab {\n    --tapchat-color: #your-color !important;\n}\n\n/* Custom bubble style */\n.tapchat-welcome-bubble {\n    border-radius: 20px;\n    box-shadow: 0 4px 20px rgba(0,0,0,0.15);\n}\n\n/* Custom positioning */\n.tapchat-fab.tapchat-pos-right {\n    bottom: 30px;\n    right: 30px;\n}\n```\n\n### JavaScript Hooks\n```javascript\n// Listen for button clicks\njQuery(document).on('click', '.tapchat-fab', function() {\n    console.log('Tap Chat button clicked!');\n});\n\n// WordPress hook (if wp.hooks available)\nwp.hooks.addAction('tapchat_click', 'myNamespace', function() {\n    // Custom tracking or analytics\n});\n```\n\n## 🛠️ Development\n\n### Requirements\n- WordPress 5.8 or higher\n- PHP 7.4 or higher\n- Modern browser with ES6 support\n\n### File Structure\n```\ntap-chat/\n├── assets/\n│   ├── css/\n│   │   ├── tapchat.css          # Frontend styles\n│   │   └── admin.css            # Admin styles\n│   ├── js/\n│   │   ├── tapchat.js           # Frontend scripts\n│   │   └── admin.js             # Admin scripts\n│   └── images/\n├── includes/\n│   ├── class-tap-chat.php       # Main plugin class\n│   └── admin/\n│       ├── class-tap-chat-admin.php      # Admin controller\n│       ├── class-tap-chat-settings.php   # Settings handler\n│       └── class-tap-chat-fields.php     # Field renderer\n├── languages/\n│   └── tap-chat.pot             # Translation template\n├── tap-chat.php                 # Plugin entry point\n└── readme.txt                   # WordPress.org readme\n```\n\n### Coding Standards\n\nThis plugin follows:\n- [WordPress Coding Standards](https://developer.wordpress.org/coding-standards/)\n- [WordPress Plugin Handbook](https://developer.wordpress.org/plugins/)\n- [WordPress Security Best Practices](https://developer.wordpress.org/plugins/security/)\n\n### Building for Production\n```bash\n# Run WordPress coding standards check\nphpcs --standard=WordPress tap-chat.php includes/\n\n# Check for translation strings\nwp i18n make-pot . languages/tap-chat.pot\n\n# Create release package\nzip -r tap-chat.zip . -x \"*.git*\" \"node_modules/*\" \"*.DS_Store\"\n```\n\n## 🧪 Testing\n\n### Manual Testing Checklist\n\n- [ ] Button displays correctly on frontend\n- [ ] Welcome bubble shows with enabled triggers\n- [ ] Smart triggers work as expected (Time, Scroll, Exit, Idle)\n- [ ] Country selector works properly\n- [ ] Phone number validation works\n- [ ] Working hours logic is correct\n- [ ] Visibility controls work as expected\n- [ ] Mobile responsiveness is good\n- [ ] Shortcode works in posts/pages\n- [ ] Settings save correctly\n- [ ] No JavaScript console errors\n- [ ] No PHP errors in debug mode\n\n### Browser Compatibility\n\nTested and working on:\n- ✅ Chrome/Edge (latest)\n- ✅ Firefox (latest)\n- ✅ Safari (latest)\n- ✅ Mobile Safari (iOS)\n- ✅ Chrome Mobile (Android)\n\n## 🌍 Translations\n\nTap Chat is translation-ready! We welcome translations in all languages.\n\n### How to Translate\n\n1. Download [POEdit](https://poedit.net/)\n2. Open `languages/tap-chat.pot`\n3. Create translation for your language\n4. Save as `tap-chat-{locale}.po` and `tap-chat-{locale}.mo`\n5. Submit via [WordPress.org translation system](https://translate.wordpress.org/)\n\n### Available Translations\n\n- 🇬🇧 English (default)\n- 🇩🇪 German (coming soon)\n- 🇪🇸 Spanish (coming soon)\n- 🇫🇷 French (coming soon)\n\nWant to contribute a translation? [Contact us](https://wordpress.org/support/plugin/tap-chat/)!\n\n## 📊 Performance\n\nTap Chat is optimized for performance:\n\n- **Tiny Footprint:** \u003c 15KB total (CSS + JS)\n- **No External Requests:** Everything loads locally\n- **Async Loading:** Scripts load asynchronously\n- **No jQuery Dependency:** Vanilla JavaScript on frontend\n- **Optimized CSS:** Minimal, modern CSS3\n- **No Database Queries on Frontend:** Settings cached\n\n### Performance Metrics\n\n- ✅ GTmetrix Grade: A\n- ✅ Google PageSpeed: 95+/100\n- ✅ Pingdom Speed: A\n- ✅ Load Time: \u003c 50ms\n\n## 🔒 Security\n\nSecurity is our priority:\n\n- ✅ All inputs sanitized and validated\n- ✅ Nonces for all form submissions\n- ✅ Capability checks for admin actions\n- ✅ SQL injection prevention\n- ✅ XSS attack prevention\n- ✅ CSRF protection\n- ✅ No external dependencies\n- ✅ Regular security audits\n\nFound a security issue? Please report privately to [WordPress.org](https://wordpress.org/support/plugin/tap-chat/)\n\n## 🤝 Contributing\n\nWe welcome contributions! Here's how you can help:\n\n### Ways to Contribute\n\n1. **Code Contributions**\n   - Fork the repository\n   - Create a feature branch (`git checkout -b feature/amazing-feature`)\n   - Commit your changes (`git commit -m 'Add amazing feature'`)\n   - Push to the branch (`git push origin feature/amazing-feature`)\n   - Open a Pull Request\n\n2. **Bug Reports**\n   - Use GitHub Issues\n   - Provide detailed description\n   - Include steps to reproduce\n   - Add screenshots if applicable\n\n3. **Feature Requests**\n   - Open an issue with [FEATURE] prefix\n   - Explain the use case\n   - Describe expected behavior\n\n4. **Documentation**\n   - Improve README\n   - Add code comments\n   - Write tutorials or guides\n\n5. **Translations**\n   - Translate to your language\n   - Submit via WordPress.org\n\n### Development Setup\n```bash\n# Clone repository\ngit clone https://github.com/wpdevup/tap-chat.git\ncd tap-chat\n\n# Create development branch\ngit checkout -b feature/your-feature-name\n\n# Make changes and test\n\n# Follow WordPress coding standards\nphpcs --standard=WordPress .\n\n# Commit with clear message\ngit commit -m \"Add: Description of your changes\"\n```\n\n## 📝 Changelog\n\n### [1.4.0] - 2025-11-21\n**Added:**\n- 🎯 Smart Triggers system for welcome bubble\n  - Time on Page trigger (enabled by default, 3 seconds)\n  - Scroll Depth trigger (show after X% scroll)\n  - Exit Intent trigger (show on exit attempt)\n  - Idle Detection trigger (show after inactivity)\n- Improved trigger configuration interface\n\n**Improved:**\n- Simplified UX for trigger settings\n- Better default settings for new installations (Time on Page auto-enabled)\n- Enhanced performance for trigger detection algorithms\n- Optimized JavaScript for multiple trigger combinations\n\n**Fixed:**\n- Removed duplicate Display Delay field\n- Fixed trigger priority when multiple conditions met\n- Improved session storage handling for bubble display\n- Various minor bug fixes and stability improvements\n\n### [1.3.0] - 2025-08-15\n**Added:**\n- Welcome Bubble feature with Modern \u0026 Simple styles\n- Bubble customization options (message, name, avatar)\n- Session-based display control\n\n**Improved:**\n- Better mobile experience\n- Optimized CSS animations\n\n**Fixed:**\n- Avatar upload functionality\n\n### [1.2.0] - 2025-06-10\n**Added:**\n- Business Hours with timezone support\n- Page visibility controls\n- Offline message option\n\n**Improved:**\n- Settings organization with tabs\n- Enhanced admin UI\n\n### [1.1.0] - 2025-04-20\n**Added:**\n- Country selector (150+ countries)\n- Separate mobile/desktop controls\n- Page context appending\n\n**Improved:**\n- Phone number validation\n- URL encoding for messages\n\n### [1.0.0] - 2025-03-01\n- Initial release\n\n## 📜 License\n\nThis project is licensed under the GPL v2 or later.\n```\nTap Chat - WordPress Click-to-Chat Plugin\nCopyright (C) 2025 iruserwp9\n\nThis program is free software; you can redistribute it and/or modify\nit under the terms of the GNU General Public License as published by\nthe Free Software Foundation; either version 2 of the License, or\n(at your option) any later version.\n\nThis program is distributed in the hope that it will be useful,\nbut WITHOUT ANY WARRANTY; without even the implied warranty of\nMERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\nGNU General Public License for more details.\n```\n\n## 🙏 Credits\n\n- Icons from messaging platform brand resources\n- Country flags from Unicode emoji standard\n- Developed with ❤️ by [iruserwp9](https://profiles.wordpress.org/iruserwp9/)\n\n## 📞 Support\n\nNeed help? We're here for you!\n\n- 📖 [Documentation](https://wordpress.org/plugins/tap-chat/)\n- 💬 [Support Forum](https://wordpress.org/support/plugin/tap-chat/)\n- 🐛 [Report Bug](https://github.com/wpdevup/tap-chat/issues)\n- ✨ [Request Feature](https://github.com/wpdevup/tap-chat/issues)\n- ⭐ [Rate Plugin](https://wordpress.org/support/plugin/tap-chat/reviews/)\n\n## 🗺️ Roadmap\n\n### Completed ✅\n- ✅ Smart Triggers (v1.4.0)\n- ✅ Welcome Bubble (v1.3.0)\n- ✅ Working Hours (v1.2.0)\n- ✅ Country Selector (v1.1.0)\n\n### Coming Soon 🚀\n- [ ] Multiple agents support with round-robin\n- [ ] Analytics dashboard (privacy-friendly)\n- [ ] More bubble styles and animations\n- [ ] Pre-chat form integration\n- [ ] Quick replies templates\n- [ ] Team chat widget\n- [ ] A/B testing for triggers\n- [ ] Advanced trigger combinations\n- [ ] Custom trigger scheduling\n\n## ⭐ Show Your Support\n\nIf you find this plugin helpful, please:\n\n- ⭐ Star this repository\n- 🔄 Share with others\n- ✍️ Write a review on [WordPress.org](https://wordpress.org/support/plugin/tap-chat/reviews/)\n- 🐛 Report bugs and help improve\n\n---\n\nMade with ❤️ for the WordPress community\n\n[WordPress.org](https://wordpress.org/plugins/tap-chat/) | [GitHub](https://github.com/yourusername/tap-chat) | [Support](https://wordpress.org/support/plugin/tap-chat/)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fwpdevup%2Ftap-chat","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fwpdevup%2Ftap-chat","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fwpdevup%2Ftap-chat/lists"}