تفصیل
MLC Live Chat adds a live chat widget to your site that forwards visitor messages to your Bale bot, and lets you reply either from Bale itself or directly from the WordPress dashboard. The plugin stores all conversation data in your own WordPress database, ensuring full privacy and control.
Features
- Live chat delivered through the Bale messenger
- Dedicated conversations dashboard in wp-admin with direct reply support
- Floating admin-bar/dashboard notification for new messages
- Customizable chat widget (colors, position, welcome message)
- Automatic or manual naming of guest conversations
- Compatible with Elementor and other page builders — the widget does not load inside the live-preview editor to avoid conflicts
External services
This plugin connects to the Bale messenger’s Bot API (tapi.bale.ai), which is required for its core functionality: delivering visitor chat messages to your Bale bot and receiving the admin’s replies back to the visitor.
It sends data to this service in two situations:
* When a visitor sends a message through the chat widget, the message text is sent to tapi.bale.ai so it can be forwarded to the site owner’s Bale bot.
* When the site owner replies (from Bale or from the WordPress dashboard), the plugin calls tapi.bale.ai to deliver that reply, and Bale calls back a webhook URL on your own site to pass admin replies to the plugin.
No data is sent unless the plugin is enabled and a Bale bot token has been configured by the site owner in the plugin settings.
This service is provided by "Bale” (Sadad Informatics Corporation / Bank Melli Iran): Terms of Service, API documentation.
انسٹالیشن
- Upload the plugin folder to
/wp-content/plugins/, or install it through the WordPress plugin installer. - Activate the plugin from the "Plugins” menu.
- Go to the plugin settings, enter your Bale bot token and admin chat ID.
- Click "Set webhook automatically” so the plugin registers the delivery URL with your bot.
عمومی سوالات
-
Why aren’t messages being delivered to Bale?
-
Use the "Check current webhook status” button in the settings page to diagnose the connection between your server and the Bale API.
-
Is this plugin compatible with Elementor?
-
Yes. The chat widget is automatically disabled while editing in Elementor’s live preview (as well as Divi, Beaver Builder, and Visual Composer) to avoid interfering with the builder’s editing tools; it displays normally for visitors on the published site.
جائزے
There are no reviews for this plugin.
شراکت دار اور ڈیویلپرز
“MLC Live Chat” اوپن سورس سافٹ ویئر ہے۔ مندرجہ ذیل لوگوں نے اس پلگ ان میں حصہ لیا:
شراکت دار“MLC Live Chat” کا اپنی زبان میں ترجمہ کریں۔
ڈویلپمینٹ میں دلچسپی ہے؟
کوڈ براؤز کریں، ایس این وی ریپوزیٹری کو چیک کریں یا ڈویلپمینٹ لاگ کو سبسکرائب کریں بذریعہ آر ایس ایس۔
چینج لاگ
2.4.8
- Hardened the WooCommerce-active check (now uses
function_exists('WC')instead ofclass_exists('WooCommerce')) used to enable the product picker, for more reliable detection. - Fixed the page-context (auto page-link) logic silently failing if the browser blocks or throws on
sessionStorageaccess (e.g. some private-browsing modes or hardened browser settings); it now falls back gracefully instead of stopping. - Added a visible error message in the product picker when the request to load products fails, instead of leaving the list empty with no explanation.
- Added debug-log entries (visible when Debug Mode is enabled in settings) for both features, to make it possible to pinpoint the exact cause if either still doesn’t work in a specific environment.
2.4.7
- Found and fixed the actual root cause of the invisible send-button icon: some WordPress themes apply a very generic CSS rule like
:is(.btn,.button,button,[type=submit]) { padding: 5px 20px; min-height: 42px; }to every button on the site. This overrode the plugin’s ownpadding: 0on the small round send/product-picker buttons, squeezing the icon down to nothing. All critical sizing properties (padding, width, height, display) on the chat widget’s buttons are now marked!importantso they can no longer be overridden by a theme’s generic button styling.
2.4.6
- Added the plugin version to the widget’s HTML diagnostic comment (visible in "View Page Source”) to make it possible to verify exactly which code version is actually running on a live site versus a cached one.
- No functional changes; this release exists primarily as a fresh cache-busting version bump. If the send-button icon, page-link, or product-picker issues persist after installing this version, they are very likely caused by a caching layer (browser, page cache plugin, or CDN) serving old CSS/JS files rather than a code issue — see the plugin’s support page for cache-clearing steps.
2.4.5
- Fixed the send-message icon being invisible (showing only a colored circle): the icon used
currentColor, which resolved to the default text color instead of white on the colored button background. - Moved the product-picker button to sit directly above the send button (in a vertical stack) instead of beside the text field.
2.4.4
- Refined the main floating chat icon and the customer’s send-message icon to a cleaner, simpler style.
2.4.3
- Fixed the "send page link automatically” and "manual product picker” checkboxes not being reliably saved from the settings page, which also prevented the product-link feature from working end-to-end.
- Fixed the product-picker button not appearing on mobile: it was toggled with jQuery’s
.show(), which set an incompatibledisplayvalue that conflicted with the button’s flex layout on some screens/browsers. It’s now toggled with a CSS class instead.
2.4.2
- Fixed the same "all: unset” CSS reset conflict (previously fixed only for the product-picker button) in several other buttons — the name-prompt buttons, the chat header close button, the send button, the admin toast close button, and the admin popover send button — which could make icons render incorrectly or inconsistently depending on the browser.
- Refined the floating chat button icon to a simpler, rounder speech-bubble shape.
2.4.1
- Fixed the manual product-picker button being invisible (it was still clickable, but the icon didn’t render) due to a CSS reset conflict.
- Changed the default floating chat button color to yellow with a simplified single-shape speech bubble icon. Existing sites that never customized this color are updated automatically; sites with a custom color are left untouched.
2.4.0
- New: the chat can now automatically include a link to the page the customer is currently on with their message, so the admin knows what they’re asking about (enabled by default, can be turned off in settings).
- New: on WooCommerce stores, customers can optionally pick a specific product from a searchable dropdown in the chat box to reference it in their question (opt-in, requires WooCommerce).
- Both options are independent and can be used together or separately from the settings page.
2.3.2
- Moved the debug log directory back under
wp_upload_dir()(a randomized, per-site subfolder) instead of a custom path directly underWP_CONTENT_DIR, per the plugin directory’s guidance on determining writable locations correctly. - Replaced all direct
file_put_contents()/file_get_contents()calls for log files withWP_Filesystem, for better compatibility across hosting environments. - Log files are now capped at 500KB (oldest entries are trimmed) to keep the read-then-write pattern required by
WP_Filesystemfast.
2.3.1
- Fixed the Bale "Reply” button (and
/replycommand) not delivering replies after upgrading from 2.2.x. The REST API namespace changed in 2.3.0, which left the webhook URL previously registered with Bale pointing to a route that no longer existed; the plugin now automatically re-registers the webhook on the new route the first time it runs after this update, without any action needed from the site owner. Sites still on 2.3.0 can also fix this immediately by clicking "Set webhook automatically” in the settings page.
2.3.0
- Renamed all PHP classes, functions, constants, option names, AJAX actions, the REST API namespace, and JS globals from the
mlc/MLCprefix (3 characters) tomlclich/MLCLICH, to comply with the WordPress.org plugin directory’s uniqueness requirements. The plugin slug and text domain (mlc-live-chat) are unchanged. - Security fix: the webhook signature check (
verify_secret()) previously allowed requests through when no secret was configured yet; it now rejects them instead, closing a window where replies could be spoofed on a freshly-activated site. - Moved all inline
<script>/<style>blocks in admin pages and the chat widget to properly enqueued files viawp_enqueue_script()/wp_enqueue_style(),wp_localize_script(), andwp_add_inline_style(). - The
register_setting()sanitize callback now fully sanitizes every settings field (previously only two of the fields were handled there, relying on the AJAX handler for the rest). - Lowered the admin menu position so it no longer competes with WordPress core menu items.
- Moved the debug log files out of
wp-content/uploads(a web-accessible directory) to a dedicated folder outside of it, with a randomized per-site filename, so log contents are not exposed regardless of web server type (this previously relied on.htaccess, which Nginx ignores by default). - Documented the plugin’s use of the Bale Bot API as an external service in the readme, per the plugin directory’s guidelines.
2.2.9
- Fixed two unescaped/unprepared SQL warnings in the sessions-overview and new-messages queries by inlining the SQL directly into
$wpdb->prepare()calls. - Added a lightweight object-cache layer (
wp_cache_get()/wp_cache_set()) to frequently-read queries to reduce direct-database-query notices and improve performance; the cache is invalidated on every write. - Polling queries (new admin replies, live message count) remain intentionally uncached to keep the chat real-time.
2.2.8
- Removed the temporary connectivity diagnostic tool (ping-test buttons and its unauthenticated logging endpoint) from the settings page.
- Replaced remaining direct SQL string interpolation with
$wpdb->prepare()identifier placeholders (%i), removing all direct-database-query warnings. - Bumped minimum required WordPress version to 6.2 (required by the
%iplaceholder) and updated "Tested up to” to the current release.
2.2.7
- Plugin now supports the Bale messenger exclusively; other messenger integrations have been removed.
- Security hardening: added missing input unslashing/sanitization, escaped all admin-page output, and reduced direct database query warnings.
- Replaced direct filesystem calls with WordPress-recommended equivalents (
wp_delete_file(),WP_Filesystem). - Removed the deprecated
load_plugin_textdomain()call and the unusedDomain Pathheader.
2.2.1
- Fixed a critical bug where the settings sanitize function always returned "enabled” as active.
- Fixed conflicts with Elementor’s live preview mode.
- Added ABSPATH security guard to all PHP files.
- Added readme.txt for release on the WordPress plugin repository.
2.1.0 – 2.2.0
- Added the conversations dashboard, floating notification icon, automatic webhook detection, and various security and UI improvements.
