Announcing Tinythread threaded discussion plugin for WordPress
May 9, 2006 – 5:13 pm** Note ** : The Tinythread plugin is no longer being developed. The version(s) available for download are AS IS – I will no longer provide support for them.
The Tinythread plugin is available for adoption. If you would like to take over development of Tinythread, please email me.
Tinythread is a threaded discussion plugin for WordPress. It is based largely on Brians threaded comments and dodos threaded comments hack.
Features
- Elegant, easy-to-use discussion interface.
- Minimal Javascript – no thread collapsing, nesting or the like. Just straightforward threaded comments.
- Doesn't alter WordPress database tables – uses the "comment_parent" field available in more recent versions of WordPress.
- Relatively easy to install.
- Integrates with the WordPress gravatar plugin.
- "Wandering forms" – forms that appear when you click on "reply" links, sort of like the forms found in Brians threaded comments.
- Degrades gracefully – if you deactivate the plugin, comments still look decent.
To see a demonstration of Tinythread, take a look at any discussion on this blog. Feel free to post comments in this entry if you want to try it out.
Current version is 0.6.2.
Updates:
v. 0.6.2 (06-25-2006): The "I got a job, so development is slow" release. Patched code base to fix Akismet bug. Added "comment minimization" (after X replies in a thread, comments appear as links with just the date and a short teaser), configurable from the Options page.
Advisory (05-29-2006): After some testing, the current version of Tinythread does not appear to work with many human-verification anti-spam plugins. This includes captcha plugins, the Did You Pass Math> plugin, and possibly others. However, Tinythread works with Akismet.
v. 0.6.1 (05-23-2006): Various Javascript fixes and additions; added tt_delete_comment() to handle comment deletions and update comment_parent value on child comments.
v. 0.6 (05-22-06): Tinythread has undergone a minor code cleanup, and "view thread" and "parent comment" links have been added.
v. 0.5 (05-15-06): Tinythread has been updated to eliminate the need to replace comment-functions.php.
v. 0.4.1 (5-10-06): Tinythread has been updated to remove a few small errors. I've also added the ability to quote a comment in a reply.
The Tinythread plugin for WordPress may be downloaded here:
tar.gz: tinythread-0.6.1.tar.gz
zip: tinythread-0.6.1.zip
Be sure to read the instructions carefully before installing. Tinythread 0.6.1 is beta.
Quick Install Instructions
(I'm placing these here so you know what you're getting yourself into)
- Copy the tinythread folder to wp-content/plugins/.
- Backup wp-content/themes/your-current-theme/comments.php. Copy wp-content/pugins/tinythread/comments.php to your current theme folder.
- Go to your WordPress installation's plugin interface (wp-admin/plugins.php). Find Tinythread and click on "Activate."
You're set!
Manual Install
If you want to keep your current comments.php page, you'll need to follow these instructions. As different templates structure comments.php in different ways, your mileage may vary.
The implementation here is simple – on the HTML/CSS side, the comment section of comments.php needs to be enclosed in a DIV whose ID is "comments." On the PHP side, comments.php needs to use the tt_comments() function if it exists, and the standard comments_template() function if tt_comments() is nonexistent/deactivated.
- Copy the tinythread folder to wp-content/plugins.
- In your favorite text editor, open comments.php from your current theme.
- Look for:
<?php if ($comments) : ?>
replace it with:
<div id="comments">
<?php
if (function_exists('tt_comments')) {
if ($_GET['thread_id'] && $_GET['thread_id'] != '') {
tt_comments($_GET['thread_id'],'thread');
} elseif ($_GET['comment_id'] && $_GET['comment_id'] != ''){
tt_comments($_GET['comment_id'],'single');
} else {
tt_comments();
}
} else {
if ($comments) :
?>
- Find a section of comments.php that looks like this:
<!-- If comments are closed. -->
<p class="nocomments">Comments are closed.</p>
<?php endif; ?>
<?php endif; ?>
and alter it to look like this:
<!-- If comments are closed. -->
<p class="nocomments">Comments are closed.</p>
<?php endif; ?>
<?php endif;
// closing bracket for tinythread plugin
} ?>
- At the very end of comments.php, add:
</div>
Activate the plugin, and it should work.

37 Responses to “Announcing Tinythread threaded discussion plugin for WordPress”
Hi,
My short question: Does it work also with the captcha plugin?
By tin on May 16, 2006
I’m not sure if it works with the captcha plugin – I’ll look into it and let you know.
By Preston on May 17, 2006
tin wrote:
I’ve tested the tinythread plugin against the captcha plugin, and it appears to work.
By Preston on May 22, 2006
I’ve done some additional testing – the current version of tinythread (v.0.6.1) appears to fail with the captcha plugin. I’m looking into it.
By Preston on May 29, 2006
Preston wrote:
It also bonks the AJAX commenting hack, but otherwise it works well. People that implement AJAX commenting generally disable captcha anyways.
By Thomas Lee Elifritz on May 31, 2006
Thanks for letting me know, Thomas – I’ll look into the AJAX commenting hack and see if I can’t make Tinythread play well with it. If you have any suggestions, I’m certainly open to them.
By Preston on Jun 1, 2006
Hi
Thanks for a great plugin. I installed it manually first time and I was shocked when the gravatar’s I couldn’t get to work also appeared – bonus!
I need some help though please. I had a ‘Paged comments’ plugin working as well as the colours of each comment alternating. The relevant lines are still in my comments code which I’ve posted below, but I can’t work out how to include it within your loop. Could you take a quick look please?
thanks
Everton
post_password)) { // if there's a password
if ($_COOKIE['wp-postpass_' . COOKIEHASH] != $post->post_password) { // and it doesn't match the cookie
?>
This post is password protected. Enter the password to view comments.
<!-- You can start editing here. -->
var blogTool = "WordPress";
var blogURL = "";
var blogTitle = "";
var postURL = "";
var postTitle = "";
var commentAuthor = "";
var commentAuthorFieldName = "author";
var commentAuthorLoggedIn = ;
var commentFormID = "commentform";
var commentTextFieldName = "comment";
var commentButtonName = "submit";
to “”
Place a <a>" rel="trackback"></a> to '' or
subscribe to comments with RSS</abbr>')); ?>.
to “”
Place a <a>" rel="trackback"></a> to '' or
subscribe to comments with RSS</abbr>')); ?>.
<!-- Comment page numbers -->
pager->num_pages() > 1): ?>
<!-- End comment page numbers -->
" id="comment-">
Comment by
comment_approved == '0') : ?>
<em>Your comment is awaiting moderation.</em>
<i>
on at
</i>
<!-- Comment page numbers -->
pager->num_pages() > 1): ?>
<!-- End comment page numbers -->
comment_status) : ?>
<!-- If comments are open, but there are no comments. -->
Place a <a>" rel="trackback"></a> to '' or
subscribe to comments with RSS</abbr>')); ?>.
Comments are closed.
comment_status) : ?>
Leave a Reply
You must be <a>/wp-login.php?redirect_to=">logged in</a> to post a comment.
/wp-comments-post.php" method="post" id="commentform">
Logged in as <a>/wp-admin/profile.php"></a>. <a>/wp-login.php?action=logout" title="Log out of this account">Log off?</a>
" size="22" tabindex="1" />
Name
" size="22" tabindex="2" />
Mail (will not be published)
" size="22" tabindex="3" />
Website
<!--<strong>XHTML:</strong> You can use these tags: -->
" />
ID); ?>
By Everton Blair on Jun 16, 2006
Hi Everton -
Thanks for your kind comments, and for sharing your problem with me. The tinythread plugin is going through numerous (slow) revisions at the moment, most of which are aimed at making it play well with other popular plugins. I’ll take a look at the code you have here and see if I can figure something out. Also, if you have the exact names/URLs of those plugins, I’d greatly appreciate them. Thanks again.
By Preston on Jun 16, 2006
Hi
The plugins are:
paged commments and Live comment preview
Thanks for agreeing to have a look.
Everton
By Everton Blair on Jun 16, 2006
Hi
I’ve just spotted another bug. It displays spam comments automatically even if Akismet has put them in the ’spam folder’ to be approved.
regards
everton
By Everton Blair on Jun 17, 2006
Hmm – that hasn’t happened to me for some reason, and I get tons of spam comments. I’ll look into it.
By Preston on Jun 17, 2006
Hey Everton -
Just wanted to let you know that the Akismet bug appears to be a relatively easy fix. I’m including the fix in the next release of Tinythread – it should be out Sunday or Monday.
By Preston on Jun 17, 2006
great thanks.
I’m trying to crack the alternating colours and paging right now, but not having much joy as I’ve never edited a plugin b4.
EB
By Everton Blair on Jun 17, 2006
Hi Everton,
Just wanted to let you know that a new version of tinythread is out, with the Akismet fix. Sorry it took awhile – work has been crazy.
By Preston on Jun 25, 2006
2nd nesting testing
By Joe on Jul 21, 2006
dfgdfgd
By dghf on Aug 3, 2006
I’ve just installed and got 0.6.2 working – sadly with a lot of hacking to get it to look how I wanted it(!)
I have two small problems:
(1) I hold comments in moderation for first time commenters. If on the moderation page I delete a comment iget the following error:
I have no idea where the ‘4′ is coming from by the way.
(2) I also have comments appearing directly if de-spammed in Akismet instead of going to moderation.
I will take a look at the delete code to see I can fathom the problem.
Otherwise – it’s great. Although it would be nice if we could work towards a single copy of the comment form…
By Andy on Aug 6, 2006
As far as I can work out you are using the ‘comments’ object and mine is empty. Comment_id is passed as a parameter to the ‘delete_comment’ hook. This fails every time for me but always, weirdly, with a ‘4′…
By Andy on Aug 6, 2006
What I want to do on my blog, is every few hours take the oldest post and move it to the
front of the queue, all automatically. Anyone know if there is a plugin that can do this or
a simple way to set up another plugin to do this (use my own feed perhaps)?
Thanks.
By Dennis on Dec 12, 2006
dfg
By fgd on Jan 19, 2007
/home/space/public_html/wordpress/wp-content/plugins/tinythread-current/comments.php
By fgd on Jan 19, 2007
ertertert
By fgd on Jan 19, 2007
ghhh
By fgd on Jan 19, 2007
Hello this is a test
By new test on Jan 19, 2007
test comment.
By Preston on Feb 6, 2007
test reply.
By Preston on Feb 6, 2007
same for me, tesing
By Dennis on Jun 7, 2007
yeah, testing
By Dennis on Jun 7, 2007
one more
By Dennis on Jun 7, 2007
Where can I find the current version?
Thanks!
John
By Blogs on Aug 20, 2007
Hi Sue,
Did you use the comments.php file provided with Tinythread, or did you alter your theme’s comments.php file?
By Preston on Nov 3, 2007
Testing…
By Wayde Christie on Dec 15, 2007