{"id":324378,"date":"2026-06-13T22:01:47","date_gmt":"2026-06-13T22:01:47","guid":{"rendered":"https:\/\/wordpress.org\/plugins\/echothread-comments\/"},"modified":"2026-09-08T21:52:17","modified_gmt":"2026-09-08T21:52:17","slug":"threadbridge-comments-for-echothread","status":"publish","type":"plugin","link":"https:\/\/ibo.wordpress.org\/plugins\/threadbridge-comments-for-echothread\/","author":23493243,"comment_status":"closed","ping_status":"closed","template":"","meta":{"version":"1.3.1","stable_tag":"1.3.1","tested":"7.1","requires":"5.8","requires_php":"7.4","requires_plugins":null,"header_name":"Comments \u2013 EchoThread","header_author":"cigan1","header_description":"Replace WordPress or Disqus comments with EchoThread \u2014 fast, privacy-first comments with threaded replies, reactions, and ML spam filtering. No tracking, no ads.","assets_banners_color":"352822","last_updated":"2026-09-08 21:52:17","external_support_url":"","external_repository_url":"","donate_link":"","header_plugin_uri":"https:\/\/echothread.io\/docs#wordpress","header_author_uri":"https:\/\/echothread.io","rating":5,"author_block_rating":0,"active_installs":0,"downloads":266,"num_ratings":1,"support_threads":0,"support_threads_resolved":0,"author_block_count":0,"sections":["description","installation","faq","changelog"],"tags":{"1.0.0":{"tag":"1.0.0","author":"cigan1","date":"2026-06-13 22:01:26","revision":3571362},"1.1.0":{"tag":"1.1.0","author":"cigan1","date":"2026-08-28 03:54:58","revision":3669744},"1.2.0":{"tag":"1.2.0","author":"cigan1","date":"2026-08-28 05:19:09","revision":3669824},"1.3.0":{"tag":"1.3.0","author":"cigan1","date":"2026-09-08 19:16:32","revision":3687210},"1.3.1":{"tag":"1.3.1","author":"cigan1","date":"2026-09-08 21:52:17","revision":3687326}},"upgrade_notice":{"1.3.1":"<p>Fixes a display issue in 1.3.0&#039;s archive comment counts and makes sure the feature stays off until you turn it on. Recommended for everyone on 1.3.0.<\/p>","1.3.0":"<p>Fixes the &quot;0 Comments&quot; your category and home pages have been showing since you moved off WordPress comments. Enable <strong>Archive comment counts<\/strong> under Settings \u2192 EchoThread Comments.<\/p>","1.2.0":"<p>A rename only \u2014 the plugin is now \u201cComments \u2013 EchoThread\u201d and its settings screen is at Settings \u2192 EchoThread Comments. No configuration changes, nothing to redo.<\/p>","1.1.0":"<p>Fixes &quot;Replace the theme comments&quot; on block themes, where it previously did nothing. Recommended for anyone on Twenty Twenty-Two or later.<\/p>","1.0.0":"<p>First release of ThreadBridge Comments for EchoThread.<\/p>"},"ratings":{"1":0,"2":0,"3":0,"4":0,"5":1},"assets_icons":{"icon-128x128.png":{"filename":"icon-128x128.png","revision":3571383,"resolution":"128x128","location":"assets","locale":"","width":128,"height":128},"icon-256x256.png":{"filename":"icon-256x256.png","revision":3571383,"resolution":"256x256","location":"assets","locale":"","width":256,"height":256}},"assets_banners":{"banner-1544x500.png":{"filename":"banner-1544x500.png","revision":3571383,"resolution":"1544x500","location":"assets","locale":"","width":1544,"height":500},"banner-772x250.png":{"filename":"banner-772x250.png","revision":3571383,"resolution":"772x250","location":"assets","locale":"","width":772,"height":250}},"assets_blueprints":{},"all_blocks":[],"tagged_versions":["1.0.0","1.1.0","1.2.0","1.3.0","1.3.1"],"block_files":[],"assets_screenshots":{"screenshot-1.png":{"filename":"screenshot-1.png","revision":3669746,"resolution":"1","location":"assets","locale":"","width":1280,"height":896},"screenshot-2.png":{"filename":"screenshot-2.png","revision":3669746,"resolution":"2","location":"assets","locale":"","width":1280,"height":2408},"screenshot-3.png":{"filename":"screenshot-3.png","revision":3669746,"resolution":"3","location":"assets","locale":"","width":1280,"height":1159},"screenshot-4.png":{"filename":"screenshot-4.png","revision":3669746,"resolution":"4","location":"assets","locale":"","width":828,"height":2146}},"screenshots":{"1":"The whole setup: paste your shortname and API key, choose where comments go, save. No code, no database tables.","2":"EchoThread on a post \u2014 threaded replies, emoji reactions, and one-tap Google or GitHub sign-in. No ads anywhere in the thread.","3":"The hosted moderation queue: ML spam filtering flags the junk before readers see it, and you can approve, reject, ban, or trust a commenter in one click.","4":"The same thread on a phone \u2014 the widget is responsive out of the box and inherits your theme's light or dark mode."}},"plugin_section":[],"plugin_tags":[6074,107,396,2419,6007],"plugin_category":[44,54],"plugin_contributors":[263413],"plugin_business_model":[],"class_list":["post-324378","plugin","type-plugin","status-publish","hentry","plugin_tags-comment-moderation","plugin_tags-comments","plugin_tags-privacy","plugin_tags-spam-protection","plugin_tags-threaded-comments","plugin_category-discussion-and-community","plugin_category-security-and-spam-protection","plugin_contributors-cigan1","plugin_committers-cigan1"],"banners":{"banner":"https:\/\/ps.w.org\/threadbridge-comments-for-echothread\/assets\/banner-772x250.png?rev=3571383","banner_2x":"https:\/\/ps.w.org\/threadbridge-comments-for-echothread\/assets\/banner-1544x500.png?rev=3571383","banner_rtl":false,"banner_2x_rtl":false},"icons":{"svg":false,"icon":"https:\/\/ps.w.org\/threadbridge-comments-for-echothread\/assets\/icon-128x128.png?rev=3571383","icon_2x":"https:\/\/ps.w.org\/threadbridge-comments-for-echothread\/assets\/icon-256x256.png?rev=3571383","generated":false},"screenshots":[{"src":"https:\/\/ps.w.org\/threadbridge-comments-for-echothread\/assets\/screenshot-1.png?rev=3669746","caption":"The whole setup: paste your shortname and API key, choose where comments go, save. No code, no database tables."},{"src":"https:\/\/ps.w.org\/threadbridge-comments-for-echothread\/assets\/screenshot-2.png?rev=3669746","caption":"EchoThread on a post \u2014 threaded replies, emoji reactions, and one-tap Google or GitHub sign-in. No ads anywhere in the thread."},{"src":"https:\/\/ps.w.org\/threadbridge-comments-for-echothread\/assets\/screenshot-3.png?rev=3669746","caption":"The hosted moderation queue: ML spam filtering flags the junk before readers see it, and you can approve, reject, ban, or trust a commenter in one click."},{"src":"https:\/\/ps.w.org\/threadbridge-comments-for-echothread\/assets\/screenshot-4.png?rev=3669746","caption":"The same thread on a phone \u2014 the widget is responsive out of the box and inherits your theme's light or dark mode."}],"raw_content":"<!--section=description-->\n<p><strong>EchoThread<\/strong> is a lightweight, privacy-first comment system \u2014 a modern <a href=\"https:\/\/echothread.io\">Disqus alternative<\/a> that doesn't sell your readers' data or inject ads. This plugin drops EchoThread into any WordPress theme with no code: enter your site key, choose where comments appear, and you're live.<\/p>\n\n<p>It's a thin wrapper around the hosted EchoThread widget (~55 KB gzipped, loaded async from a CDN). All storage, rendering, moderation, and spam filtering happen in the hosted service, so the plugin adds <strong>no tracking, no database tables, and no page-weight beyond the widget script<\/strong>.<\/p>\n\n<h4>Why EchoThread<\/h4>\n\n<ul>\n<li><strong>Privacy-first<\/strong> \u2014 no ad tech, no third-party trackers, no data resale. GDPR-friendly.<\/li>\n<li><strong>AI \/ ML spam filtering<\/strong> \u2014 machine-learning moderation catches AI-generated comment spam that keyword filters miss.<\/li>\n<li><strong>Real moderation controls<\/strong> \u2014 a per-site restricted-word list, ban or trust individual commenters in one click, and auto-close discussions on older posts.<\/li>\n<li><strong>Threaded replies &amp; reactions<\/strong> \u2014 a modern discussion UX, not a flat list.<\/li>\n<li><strong>Fast<\/strong> \u2014 one async script, zero render-blocking, no jQuery.<\/li>\n<li><strong>Free tier<\/strong> \u2014 get started without a credit card.<\/li>\n<li><strong>Disqus migration<\/strong> \u2014 import your existing comments via WXR so no conversations are lost.<\/li>\n<li><strong>Real counts on your archives<\/strong> \u2014 category, tag and home-page teasers show the live EchoThread count instead of the stale WordPress number a migration leaves behind.<\/li>\n<\/ul>\n\n<h4>How it works<\/h4>\n\n<ol>\n<li>Create a free account and a site at <a href=\"https:\/\/echothread.io\/register?utm_source=wordpress&amp;utm_medium=plugin&amp;utm_campaign=readme\">echothread.io<\/a>.<\/li>\n<li>Install and activate this plugin.<\/li>\n<li>Go to <strong>Settings \u2192 EchoThread Comments<\/strong>, paste your <strong>shortname<\/strong> and <strong>API key<\/strong>.<\/li>\n<li>Choose placement \u2014 <em>Replace the theme comments<\/em> (recommended), <em>Append below content<\/em>, or <em>Manual<\/em> via the <code>[echothread]<\/code> shortcode.<\/li>\n<\/ol>\n\n<p>That's it. Comments render on your posts immediately.<\/p>\n\n<h4>Privacy<\/h4>\n\n<p>This plugin loads <code>https:\/\/cdn.echothread.io\/widget.js<\/code> on singular posts\/pages where comments are enabled. The widget communicates with the EchoThread API to load and post comments. The plugin itself sets no cookies and collects no personal data. See the <a href=\"https:\/\/echothread.io\/privacy\">EchoThread privacy policy<\/a> for how the hosted service handles comment data.<\/p>\n\n<!--section=installation-->\n<ol>\n<li>Upload the <code>threadbridge-comments-for-echothread<\/code> folder to <code>\/wp-content\/plugins\/<\/code>, or install via <strong>Plugins \u2192 Add New<\/strong>.<\/li>\n<li>Activate the plugin through the <strong>Plugins<\/strong> screen.<\/li>\n<li>Visit <strong>Settings \u2192 EchoThread Comments<\/strong> and enter your site <strong>shortname<\/strong> and <strong>API key<\/strong> from your EchoThread dashboard.<\/li>\n<li>Save. Comments appear on your posts according to the placement you chose.<\/li>\n<\/ol>\n\n<!--section=faq-->\n<dl>\n<dt id=\"do%20i%20need%20an%20echothread%20account%3F\"><h3>Do I need an EchoThread account?<\/h3><\/dt>\n<dd><p>Yes \u2014 create one free at echothread.io. The plugin needs your site's shortname and public API key.<\/p><\/dd>\n<dt id=\"is%20the%20api%20key%20safe%20to%20expose%3F\"><h3>Is the API key safe to expose?<\/h3><\/dt>\n<dd><p>Yes. The API key is a public, embeddable credential designed to live in page HTML. It only lets visitors load and post comments on your registered site; it cannot access or change your account.<\/p><\/dd>\n<dt id=\"will%20this%20slow%20down%20my%20site%3F\"><h3>Will this slow down my site?<\/h3><\/dt>\n<dd><p>No. The widget is ~55 KB gzipped, loads asynchronously from a CDN, and never blocks page rendering. The plugin adds no other assets.<\/p><\/dd>\n<dt id=\"can%20i%20migrate%20my%20existing%20wordpress%20or%20disqus%20comments%3F\"><h3>Can I migrate my existing WordPress or Disqus comments?<\/h3><\/dt>\n<dd><p>Yes. Export your WordPress comments from <strong>Tools \u2192 Export<\/strong> (WXR), then import them in your EchoThread dashboard. Disqus XML exports are also supported.<\/p><\/dd>\n<dt id=\"does%20the%20plugin%20track%20my%20visitors%3F\"><h3>Does the plugin track my visitors?<\/h3><\/dt>\n<dd><p>No. The plugin adds no analytics, no cookies, and no third-party trackers.<\/p><\/dd>\n<dt id=\"how%20do%20i%20show%20comments%20somewhere%20specific%3F\"><h3>How do I show comments somewhere specific?<\/h3><\/dt>\n<dd><p>Set placement to <strong>Manual<\/strong> and add the <code>[echothread]<\/code> shortcode wherever you want the thread to appear.<\/p><\/dd>\n<dt id=\"why%20do%20my%20category%20pages%20say%20%220%20comments%22%3F\"><h3>Why do my category pages say \"0 Comments\"?<\/h3><\/dt>\n<dd><p>Because WordPress stops counting once EchoThread hosts the comments \u2014 the number under a teaser comes from WordPress's own table, which nothing updates any more. A site that migrated from Disqus sees the count it had on the day it switched; a site that never used native comments sees zero.<\/p>\n\n<p>Turn on <strong>Archive comment counts<\/strong> in <strong>Settings \u2192 EchoThread Comments<\/strong> and those numbers come from EchoThread instead. It costs one request per page however many teasers are on it, and whatever your theme already prints stays exactly as it is if the request fails.<\/p><\/dd>\n<dt id=\"can%20i%20put%20a%20comment%20count%20somewhere%20myself%3F\"><h3>Can I put a comment count somewhere myself?<\/h3><\/dt>\n<dd><p>Yes \u2014 <code>[echothread-count]<\/code> inside the loop, or <code>[echothread-count id=\"123\"]<\/code> for a specific post. Add <code>text=\"Join the discussion\"<\/code> to choose what shows until the count arrives.<\/p><\/dd>\n\n<\/dl>\n\n<!--section=changelog-->\n<h4>1.3.1<\/h4>\n\n<ul>\n<li>Fixed: the archive comment count no longer replaces your theme's own text with a version that reveals hidden screen-reader markup (e.g. a post title meant only for assistive technology) when a count hasn't loaded yet or can't be reached.<\/li>\n<li>Fixed: updating from an earlier version no longer turns on Archive comment counts by itself. It stays exactly as it was until you enable it under Settings \u2192 EchoThread Comments.<\/li>\n<\/ul>\n\n<h4>1.3.0<\/h4>\n\n<ul>\n<li>Added: real comment counts on category, tag, author and home-page listings. WordPress stops updating its own counts once EchoThread takes over, so those teasers showed a number frozen at migration time \u2014 or zero. Turn on <strong>Archive comment counts<\/strong> in the settings screen. One request fills a whole page, and your theme's existing markup is left alone if it fails.<\/li>\n<li>Added: the <code>[echothread-count]<\/code> shortcode, for placing a count yourself.<\/li>\n<li>Comment counts now include replies, matching the count shown on the post itself.<\/li>\n<\/ul>\n\n<h4>1.2.0<\/h4>\n\n<ul>\n<li>Renamed to \u201cComments \u2013 EchoThread\u201d. Same plugin, same settings, same slug \u2014 the old name hid what it actually does. The settings screen now lives under <strong>Settings \u2192 EchoThread Comments<\/strong>.<\/li>\n<li>The feature list now mentions the moderation tools that shipped alongside it: a per-site restricted-word list, per-commenter ban\/trust, and auto-closing discussions on older posts.<\/li>\n<\/ul>\n\n<h4>1.1.0<\/h4>\n\n<ul>\n<li>Fixed: \"Replace the theme comments\" now works on block themes. Block themes render a comments block instead of calling the classic comments template, so on every default theme since Twenty Twenty-Two the recommended placement silently did nothing and the native comments stayed put.<\/li>\n<li>Fixed: on classic themes the widget no longer breaks out of the content column. The replacement template re-declares the comment area's wrapper, so themes that constrain comment width keep constraining it.<\/li>\n<li>Tested up to WordPress 7.1.<\/li>\n<\/ul>\n\n<h4>1.0.0<\/h4>\n\n<ul>\n<li>Initial release: settings page (shortname, API key, placement, theme, accent color), replace\/append\/shortcode placement, async widget loading, WXR migration guidance, multisite-safe uninstall.<\/li>\n<\/ul>","raw_excerpt":"A fast, privacy-first Disqus alternative for WordPress: threaded comments, reactions, and ML spam filtering. No ads, no tracking, no data resale.","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/ibo.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin\/324378","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/ibo.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin"}],"about":[{"href":"https:\/\/ibo.wordpress.org\/plugins\/wp-json\/wp\/v2\/types\/plugin"}],"replies":[{"embeddable":true,"href":"https:\/\/ibo.wordpress.org\/plugins\/wp-json\/wp\/v2\/comments?post=324378"}],"author":[{"embeddable":true,"href":"https:\/\/ibo.wordpress.org\/plugins\/wp-json\/wporg\/v1\/users\/cigan1"}],"wp:attachment":[{"href":"https:\/\/ibo.wordpress.org\/plugins\/wp-json\/wp\/v2\/media?parent=324378"}],"wp:term":[{"taxonomy":"plugin_section","embeddable":true,"href":"https:\/\/ibo.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_section?post=324378"},{"taxonomy":"plugin_tags","embeddable":true,"href":"https:\/\/ibo.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_tags?post=324378"},{"taxonomy":"plugin_category","embeddable":true,"href":"https:\/\/ibo.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_category?post=324378"},{"taxonomy":"plugin_contributors","embeddable":true,"href":"https:\/\/ibo.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_contributors?post=324378"},{"taxonomy":"plugin_business_model","embeddable":true,"href":"https:\/\/ibo.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_business_model?post=324378"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}