I don’t know who started it first, but both major blog engines that I’ve used (Movable Type and WordPress) allow either anonymous comments or require both the name and e-mail address. I’ve never understood why they don’t just require the name, without an e-mail address.
I’m hesitant to give my e-mail address because I don’t know how well the site I’m giving it to will protect it from spammers. I would imagine others feel the same way. I get 3-4 spams a day because of one site that posts my e-mail address for all to see in a mailto: link and once it’s out there, you can’t do anything to stop people from using it. I use a particular e-mail address for all blog comments, and I’ve started getting spammed at that address too, so someone hasn’t been taking care of it properly (or they just like to spam me).
To avoid this, people use bogus e-mail addresses which doesn’t help anyone. I would much rather have no e-mail address rather than a bogus one. That way I won’t spend time writing a reply to a comment only to have my response bounce.
In short, all blogging platforms should make the name required (if someone wants to be anonymous, they can say their name is anonymous, or better yet if the name is blank, it can insert anonymous, like /. does) leaving the e-mail address and the URL optional.
I’ve modified my WordPress installation to only require the name and even though I do protect e-mail addresses, if you don’t want to enter it, you don’t have to. If you’d like to do this on your WordPress blog, post a comment and I’ll make the instructions available.
No Slashdot inserts ‘Anonymous Coward’! :)
Sure I’d like to know Dan
Btw, not to be a pain but how is the instructions for the addition like captcha coming along?
Teja: I wasn’t being literal regarding /., I was just saying they cope with a blank name by saying the person is anonymous, but you’re right, they use Anonymous Coward as the exact string.
In wp-post-comments.php find the line that looks like this:
if ( get_settings(‘require_name_email’) && (” == $email || ” == $author) )
die( __(‘Error: please fill the required fields (name, email).’) );
Change it to look like this:
if ( get_settings(‘require_name_email’) && (” == $author) )
die( __(‘Error: Your name is required.’) );
In wp-comments.php change the email line to:
<label for=”email”><?php _e(“E-mail: (optional)”); ?></label>
That should do it.
I could give you the instructions for my spam solution, but I’d like to convert it into a plugin instead of just changing the code. It makes upgrades a pain because I have to merge my changes in with the new changes from the upgrade. I’ll get to it, but it’s going to be a while.
Hi, yeah, good point! But, did you work out a plugin by now? Or cold you tell me what the instruction to get it work for wordpress2.3?
For a while I changed the code myself to make email optional and name required, but it became a pain to have to update the code with every release. I finally gave up and require both name and email.