Chat Comments releases
Chat Comments adds a floating chat bubble to the bottom corner of every page. Visitors type a message, hit send, and the message is saved as a native WordPress comment
by Omnia Ahmed · github.com/topweb4all/chat-wordpress-plugin
Install
No release zip yet. The repository archive installs, but the folder name will carry the branch suffix and updates will not flow:
wp plugin install https://github.com/topweb4all/chat-wordpress-plugin/archive/refs/heads/main.zipReadme
=== Chat Comments === Contributors: topweb4all Tags: comments, chat, live chat, customer support, woocommerce Requires at least: 6.0 Tested up to: 6.7 Requires PHP: 7.4 Stable tag: trunk License: GPLv2 or later License URI: https://www.gnu.org/licenses/gpl-2.0.html Author: Omnia Ahmed Author URI: https://github.com/topweb4all
A floating Messenger-style chat widget that stores visitor messages as native WordPress comments.
== Description ==
Chat Comments adds a floating chat bubble to the bottom corner of every page. Visitors type a message, hit send, and the message is saved as a native WordPress comment on the post they were viewing. Site admins reply from the standard WordPress Comments screen, the dedicated Comments > Chat Messages tab, or via the REST API — and the reply shows up live in the visitor's chat window.
Because messages are native comments, the plugin works out of the box with:
- The default WordPress moderation queue
- Akismet and any other comment-anti-spam plugin
- Comment notifications and admin emails
- Per-page / per-product history
No jQuery. No external CDN. No build step. Vanilla ES2020+ JavaScript and CSS that you can override with custom properties.
= Features =
- Floating bubble (left or right) with customisable color and welcome text — draggable anywhere on screen, with a visitor-side dismiss option (lasts one browsing session)
- Native WP comments (no custom table, no migration risk)
- Admin reply flow with capability gating (
moderate_comments) - Light history polling (5 s) so visitors see admin replies without reloading
- Hashed-IP rate limit (per hour, GDPR-friendly: no raw IPs stored)
- Honeypot field for naive-bot filtering
- Per-product "ask a question" welcome on WooCommerce product pages
- Email notification when a new chat message arrives
- Translatable (text domain
chat-comments)
= Privacy =
Chat Comments never stores raw visitor IPs. The rate limiter uses a SHA-256 hash of the IP combined with a daily-rotating salt. On uninstall, the plugin's own options are removed; visitor messages and their metadata are intentionally preserved.
== Installation ==
- Upload the
chat-commentsfolder to/wp-content/plugins/. - Activate the plugin through the Plugins screen in WordPress.
- Visit Settings > Chat Comments to customise the bubble.
- (Optional) Install and activate WooCommerce to enable product-page chat.
If a visitor dismisses the bubble, it stays hidden for the rest of that browsing session and comes back automatically on their next visit. To bring it back immediately, open any page with ?cc_chat_unhide=1 in the address.
== Frequently Asked Questions ==
= Where are the messages stored? =
As native WordPress comments with comment_type = chat_message. They show up in wp-admin > Comments alongside regular comments and can be moderated, approved, spammed, or trashed using the standard tools.
= Can I reply from my phone? =
Yes. The chat messages admin tab and the standard Comments screen are both fully responsive. Replies appear in the visitor's chat window within ~5 seconds.
= Does this conflict with Akismet? =
No. The plugin uses wp_new_comment() so Akismet and any other comment-moderation plugin hooks run as they would for a regular site comment.
= Will this slow my site down? =
No. The frontend script is a single small file, enqueued only on the frontend, and the polling loop is 5 seconds while the chat is open. When the tab is hidden, polling pauses to save bandwidth.
= What happens if I uninstall? =
The plugin's options and version marker are removed. Your chat messages are preserved so you never lose user-generated content.
== Screenshots ==
- Floating bubble bottom-right of a single product page
- Chat window with admin reply
- Settings page
- Chat Messages admin tab
== Changelog ==
= 0.2.2 =
- Fix: dismissing the chat bubble now hides it for the current browsing session only. Visitors were permanently losing the widget after dismissing it once; it now returns automatically on their next session. The
?cc_chat_unhide=1recovery URL still restores it instantly within the session.
= 0.2.1 =
- Fix: after dragging the bubble near the top or a side edge of the screen, the chat window now opens on the side with enough room and stays fully inside the viewport — the header, welcome message, and history are no longer cut off. The window re-fits itself on drag end and window resize.
= 0.2.0 =
- New: the chat bubble is now draggable — visitors can move it anywhere on the screen, and the position persists in the browser. Works with mouse, touch, and pen via Pointer Events.
- New: a dismiss (×) control on the bubble hides the widget permanently for that visitor (per browser), with a documented recovery path (
?cc_chat_unhide=1on any page).
= 0.1.7 =
- Fix: server-side failures (500) during sending are now isolated — broken third-party comment hooks no longer lose the visitor's message (bare-insert fallback), a broken cache layer can't block sending, and the widget displays the exact PHP error detail for one-click diagnosis.
= 0.1.6 =
- Fix: sending now falls back to a core admin-post.php endpoint when the REST API is blocked (security plugins, some hosts, WAFs), and errors show the exact failure code in the chat status for easy diagnosis.
= 0.1.5 =
- Improvement: mobile layout is now compact and respects bottom bars — smaller bubble/controls on phones, dynamic viewport units (dvh), iOS safe-area insets, and a new "Bottom offset (px)" setting to lift the widget above fixed bottom menus.
= 0.1.4 =
- Fix: sending a message always failed with an error on sites where "Comment author must fill out name and email" is enabled (the WordPress default). Visitor messages are now accepted anonymously, with name/email pre-filled from cookies or the logged-in user when available.
= 0.1.3 =
- Fix: the welcome message now always stays as the first bubble in the chat, even after message history loads.
= 0.1.2 =
- New: modern Messenger-style chat window design (gradient header, avatar, online status, message timestamps, circular send button, smooth open animation).
- New: full Arabic translation — the widget and admin screens follow the site language automatically (Arabic on Arabic sites, English on English sites) with RTL support.
- Fix: untouched English default texts are now migrated to the site language.
= 0.1.1 =
- Fix: chat window could refuse to close on sites whose theme CSS overrode the closed state.
- Fix: widget is now rendered site-wide (homepage, archives, posts, pages, products) with a smart post-id fallback.
= 0.1.0 =
- Initial release.
== Upgrade Notice ==
= 0.2.2 = Dismissing the bubble now lasts one browsing session instead of forever — visitors can no longer lose the widget permanently.
= 0.2.1 = Fixes the chat window opening off-screen (welcome message cut off) after the bubble is dragged near the top of the screen.
= 0.2.0 = The bubble is now draggable, and visitors can dismiss it permanently (per browser).
= 0.1.7 = Server failures can no longer lose messages, and errors reveal their exact PHP cause.
= 0.1.6 = Sending is more resilient (admin-post.php fallback) and errors show their real code.
= 0.1.5 = Compact mobile layout that respects bottom bars, plus a configurable bottom offset.
= 0.1.4 = Fixes sending messages on sites with the default "name and email required" comment setting.
= 0.1.3 = Keeps the welcome message visible as the first chat bubble at all times.
= 0.1.2 = Modern widget design, Arabic + RTL support, and locale-aware default texts.
= 0.1.1 = Fixes the chat window refusing to close and renders the widget on every page.
= 0.1.0 = First public release.
Read the full README on GitHub →
Releases
| Tag | Published |
|---|---|
| New-release | Aug 30, 2026 |
| Wordpress-plugin | Aug 30, 2026 |
These releases are tags only. The author does not attach a packaged zip, so there are no download counts to report.