| 开发者 | HsHHiri |
|---|---|
| 更新时间 | 2026年8月16日 16:22 |
| PHP版本: | 7.4 及以上 |
| WordPress版本: | 7.0 |
| 版权: | GPLv2 or later |
| 版权网址: | 版权信息 |
/wp-content/plugins/, or install it through the WordPress plugin installer.Use the "Check current webhook status" button in the settings page to diagnose the connection between your server and the Bale API.
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.
wp_upload_dir() (a randomized, per-site subfolder) instead of a custom path directly under WP_CONTENT_DIR, per the plugin directory's guidance on determining writable locations correctly.file_put_contents()/file_get_contents() calls for log files with WP_Filesystem, for better compatibility across hosting environments.WP_Filesystem fast./reply command) 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.mlc/MLC prefix (3 characters) to mlclich/MLCLICH, to comply with the WordPress.org plugin directory's uniqueness requirements. The plugin slug and text domain (mlc-live-chat) are unchanged.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.<script>/<style> blocks in admin pages and the chat widget to properly enqueued files via wp_enqueue_script()/wp_enqueue_style(), wp_localize_script(), and wp_add_inline_style().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).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).$wpdb->prepare() calls.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.$wpdb->prepare() identifier placeholders (%i), removing all direct-database-query warnings.%i placeholder) and updated "Tested up to" to the current release.wp_delete_file(), WP_Filesystem).load_plugin_textdomain() call and the unused Domain Path header.