Announcing Tinythread threaded discussion plugin for WordPress
** 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.
May 16th, 2006 at 11:31 pm
Hi,
My short question: Does it work also with the captcha plugin?
May 17th, 2006 at 7:39 am
I’m not sure if it works with the captcha plugin – I’ll look into it and let you know.
May 22nd, 2006 at 8:11 pm
tin wrote:
I’ve tested the tinythread plugin against the captcha plugin, and it appears to work.
May 28th, 2006 at 11:22 am
[...] Journalese [...]
May 29th, 2006 at 7:10 am
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.
May 30th, 2006 at 3:01 pm
[...] Now this one has me perplexed. I am using xdForum and did have Tinythread on for a while. But it seemed like a waiste to have both on one hand and necessary on the other. [...]
May 31st, 2006 at 6:22 pm
[...] Now this one has me perplexed. I am using xdForum and did have Tinythread on for a while. But it seemed like a waiste to have both on one hand and necessary on the other. [...]
May 31st, 2006 at 10:51 pm
Preston wrote:
It also bonks the AJAX commenting hack, but otherwise it works well. People that implement AJAX commenting generally disable captcha anyways.
June 1st, 2006 at 10:00 am
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.
June 16th, 2006 at 7:51 pm
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); ?>
June 16th, 2006 at 9:13 pm
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.
June 16th, 2006 at 9:44 pm
Hi
The plugins are:
paged commments and Live comment preview
Thanks for agreeing to have a look.
Everton
June 17th, 2006 at 5:05 am
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
June 17th, 2006 at 6:19 am
Hmm – that hasn’t happened to me for some reason, and I get tons of spam comments. I’ll look into it.
June 17th, 2006 at 7:06 am
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.
June 17th, 2006 at 7:09 am
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
June 25th, 2006 at 10:19 pm
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.
July 1st, 2006 at 7:21 am
[...] Announcing Tinythread threaded discussion plugin for WordPress « Journalese Reageren op reacties. Het wordt alleen maar duidelijker . (tags: wordpress plugin) [...]
July 21st, 2006 at 3:27 pm
2nd nesting testing
July 24th, 2006 at 4:59 am
[...] Für alle WordPress-Betreiber, die ebenso wie ich nach dieser Funktion gesucht haben, moechte ich hier zwei Loesungswege vorstellen. Zum einen koenntet ihr das Plugin Edit Comments ausprobieren. Das hat jedoch ein paar Nachteile. Man kann einen Kommentar nur innerhalb einer bestimmten Zeitspanne editieren und die Zugriffspruefung erfolgt recht unsicher ueber die IP. Wahrscheinlich wuerde es sich auch mit Tinythread nicht so einfach vertragen, aber ausprobiert habe ich es nicht. [...]
August 3rd, 2006 at 3:13 pm
dfgdfgd
August 6th, 2006 at 7:19 am
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…
August 6th, 2006 at 10:45 am
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′…
December 12th, 2006 at 3:32 pm
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.
January 19th, 2007 at 12:46 am
dfg
January 19th, 2007 at 12:47 am
/home/space/public_html/wordpress/wp-content/plugins/tinythread-current/comments.php
January 19th, 2007 at 12:48 am
ertertert
January 19th, 2007 at 12:51 am
ghhh
January 19th, 2007 at 12:53 am
Hello this is a test
February 6th, 2007 at 8:09 pm
test comment.
February 6th, 2007 at 8:13 pm
test reply.
June 7th, 2007 at 4:04 pm
same for me, tesing
June 7th, 2007 at 4:04 pm
yeah, testing
June 7th, 2007 at 4:04 pm
one more
August 20th, 2007 at 12:06 pm
Where can I find the current version?
Thanks!
John
November 3rd, 2007 at 7:57 am
Hi Sue,
Did you use the comments.php file provided with Tinythread, or did you alter your theme’s comments.php file?
December 15th, 2007 at 11:44 pm
Testing…