| 开发者 |
markasstudio
studiomarkas |
|---|---|
| 更新时间 | 2026年6月10日 13:16 |
| PHP版本: | 7.4 及以上 |
| WordPress版本: | 7.0 |
| 版权: | GPLv2 or later |
| 版权网址: | 版权信息 |
[talkdock_button] anywhere in posts or pages.[talkdock_button] for inline embedswa.me link — identical to any hand-coded WhatsApp link. The plugin never contacts WhatsApp's servers on your behalf.
/wp-content/plugins/.https://wa.me/15551234567 and customize colors and position.Use the format https://wa.me/<country-code><phone-number> — for example https://wa.me/15551234567. No plus sign, no spaces.
Yes. TalkDock enqueues static assets and a sanitized generated stylesheet, so the button renders correctly regardless of page caching.
The free plugin supports targeting by login state and screen size (hide on mobile). Per-page, per-product, and URL-pattern targeting is available in TalkDock Pro.
No. Deactivation leaves settings intact. Data is removed only when you delete the plugin — and even then you can opt in to keep it.
Free support is available through the WordPress.org support forum for this plugin.
talkdock across plugin headers, gettext calls, and the POT template, external service disclosure is explicit, Report-a-Bug uploads are sanitized and validated at the boundary, and frontend design CSS is generated from validated values instead of printed as raw inline CSS.https://studio.markashosting.com/plugins/talkdock/, including docs, support, TalkDock Pro, Terms of Use, and Privacy Policy permalinks.wp_remote_post as success, so a 413 / 429 / 500 from the receiver slipped through as ok = true; (b) the receiver's body cap was 1 MB while the plugin permits up to 3 × 5 MB images, so a typical multi-screenshot bug report exceeded the cap. The dispatcher now requires an actual 2xx status before reporting success; on non-2xx the modal shows an honest "Saved locally — receiver was unreachable" warning and leaves itself open so the user can resend. The receiver-side cap (in the Markas Studio dashboard's plugin-bug intake) has been raised to 12 MB to match the plugin's spec'd wire budget with comfortable headroom.{ success: true, id: <post_id>, message: '...' } on a successful intake, where id is the reference number of the recorded report on the receiver side. The previous dispatcher discarded the body entirely on 2xx and returned only { ok, status } upstream, so the receiver's reference number was lost between layers. The dispatcher now decodes the response body, extracts the id field (accepting entry_id as a forward-compat alias), and propagates it as remote_entry_id through the dispatch result → local log row → AJAX response → modal history pill. The user-facing success message now includes the receiver-assigned reference ("Thanks — your report has been recorded (ref #847)."), and the Previous Reports panel renders sent rows as "Sent · #847" so the user has a number to cite in any follow-up. Pre-1.0.8 log entries that lack the field render as "Sent" with no reference, gracefully — no data migration required.Sent / Local only / Not delivered). Reads from the existing bounded local log; no new options are created. Lazy-loaded on first expand.tlkd_feedback_log option no longer stores the base64-encoded attachment binary. With 50 entries × up to 15 MB raw attachments, the option row could theoretically reach ~750 MB and slow every admin page load. The log now stores per-attachment metadata only (name, MIME, byte count); the audit trail is preserved, the bloat hazard is gone.User-Agent no longer includes home_url(). The readme privacy section already promised the plugin never auto-attaches your site URL, but the previous header TalkDock/1.0.7; <home_url> shipped it on every dispatch. The receiver-side dashboard derives the source host from the Origin / Referer header (unchanged), so the User-Agent is now plain TalkDock/1.0.8.$_FILES superglobal is read in three places inside process_attachments() (existence check, raw-array capture, per-file loop). The previous build used an inline phpcs:ignore that only covered one line and left the other two flagged. Replaced with a method-scoped phpcs:disable / phpcs:enable pair stacking both WordPress.Security.NonceVerification.Missing and WordPress.Security.ValidatedSanitizedInput.InputNotSanitized. Each suppression carries a one-line justification naming the mitigation. No behavioural change.target="_blank" link in the plugin's admin views now uses rel="noopener noreferrer" (was rel="noopener"). noopener neutralizes reverse-tabnabbing; noreferrer additionally suppresses the Referer header so the destination site does not learn which wp-admin/admin.php?page=… page the click came from.User-Agent header no longer contains home_url(), per the readme's privacy guarantee.max-height cap. The status banner is also auto-scrolled into view when it appears. The dialog now also offsets for the WordPress admin bar (32px / 46px) so it never sits beneath it on desktop.backdrop-filter: blur(8px) scrim with a solid dim (rgba(15, 16, 20, 0.62)) that renders deterministically regardless of WP admin chrome stacking contexts. The previous blur approach caused "ghost" rendering where tabs and buttons bled through the backdrop. Removed the associated defensive isolation: isolate and z-index: 0 hacks that were only propping up the broken filter.filemtime()-based version. Any byte-level change to admin/css/admin.css or admin/js/admin.js now forces an immediate browser refetch even when the plugin version has not been bumped. The headline plugin version stays visible in ?ver=… because the new format is TLKD_VERSION.MTIME with a graceful fallback to plain TLKD_VERSION if the file cannot be stat'd.100dvh (fixes iOS Safari toolbar overlap), added safe-area-inset padding for notched devices, and reduced the body padding so all fields stay reachable on narrow screens.prefers-reduced-motion; the spinner is hidden from assistive tech; the live status region continues to announce send/success/error.TLKD_Feedback. No behavioural change.tlkd_feedback_log, 50 most recent entries, removed on uninstall unless data is preserved).talkdock_feedback_payload and talkdock_feedback_dispatch filters let extensions modify the payload or replace the default dispatcher.== Privacy == section to this readme describing exactly what the Report-a-Bug flow transmits.[talkdock_button].custom_wa_* standalone snippet.