Time to Close Comments

The WordPress 2.7 core has a setting to close comments for posts which exceed a user specified aging. Unfortunately, the core doesn’t differentiate between posts and pages. Since I need additional control, I use this wonderful plugin.

Given a choice, I would prefer if the plugin would filter the comment_status page when the post is called and change its value based on aging. This functionality would prevent having to send scheduled update queries to the posts table. I believe the core functionality works this way.

Update Feb 24, 2009 – I decided to have a go at making a theme function that would mimic the core’s behavior of closing the old posts on the fly without additional queries while preserving comments on pages. It was pretty simple. You have to remove the filter (‘the_posts’, ‘_close_comments_for_old_posts’ ), copy the function _close_comments_for_old_posts from /wp-includes/comment.php, modify it to do an is_page() check, rename your new function and then add the new filter (‘the_posts,’your_function_name’) after you’ve defined it.

Ajay’s plugin will still allow you to keep specific posts open so there’s more functionality than what I need so my solution isn’t a replacement.


Migrating Feedburner to Google? Get the aspirin out.

One of the dirty little secrets (if you use FeedBurner) around is that you will have to migrate your feeds from your feedburner.com account to your google.com account. Anticipating this, I opened an AdSense account to facilitate the move. You don’t have to use AdSense nor am I planning on monetizing my feeds or content. Anyway, I clicked the Migrate link and all heck broke loose. The feeds all came over but with the redirect by google, I was banging into 502 errors. Since my web site relies pretty heavily on the BuzzBoost feature, not getting my burned feed left large holes in my normal content.

Turns out this is a known error (??!!). I reburned all my WordPress source feeds inside AdSense and lo and behold, the original migrated feeds came back with all the original settings. I deleted the new, duplicate feeds and all seemed well. Except for a couple of feeds which are there but for some reason, the BuzzBoost script isn’t generating any html. Not good.

Google is pushing everyone to migrate by the end of February 2008 but they are not ready for prime time. Take my advice and wait until the last minute so hopefully all the bugs are worked out.

Known Issues & Workarounds – FeedBurner Help Group | Google Groups.

Another Blog by Email Problem in WP 2.3.x

I’m trying to make one of my other blogs more multi-author friendly. So one of my contributors wrote a post and sent it to the wordpress email account. My cron job picked up the email on schedule. Unfortunately, the wp-mail function did not assign the author correctly (even though the email came from the registered contributor’s email address) and did not return the content of the email. Just the subject line (see this Trac ticket). The email got assigned to the admin account so it was duly posted and pumped out with my feed until I checked things the following day.

Nothing like an empty post in your blog (and your feed) to get your morning started. I’ve disabled the cron job rather than going through the wp-mail.php code to troubleshoot it.

Updating Entries

Many blog entries I write are for issues which are resolved, changed or obviated over the course of time. What’s the best way to update these blog entries? If the issue has changed or has been resolved, maybe using strikeout and adding a boldface update note to the original entry would work. The problem with this approach is that your feed text updates but the feed title does not. Your feed readers won’t know there’s been a change.

Sometimes I’ll write a new entry about the issue and ping or trackback to the affected post. One of the strong points of this approach is WordPress will pingback the affected post so if a reader gets there via search or archives, there will be a link to the updated post. The trackback is nice here since it will include some of the text of the updated post and make it clearer that there is a substantiative change.

I guess you can always delete the old post but that seems like a waste. I’d love to hear how others do their updates.

Spam Milestone

This little blog has been running for just over three months. My other self hosted blog has been running for almost nine months. Today, the amount of spam on this blog just exceeded the amount of spam on the self hosted blog. The common denominator is Akismet which does a superb job although I’ve had a couple of FPs in the last week or two.

A major difference is the other blog runs Bad Behavior and Project Honeypot. Both of these plugins block spammer access so Akismet doesn’t have as much to clean up.

Inline CSS for Feed Readers

When I first started to dabble in html and web development, I realized the power of external stylesheets. A minor change to one file and you can change an entire web site. Beautiful. Same for blogs. Then I discovered FeedBurner and it’s fantastic BuzzBoost feature which takes a feed and converts it to html for static web pages. Update my blog and my web site refreshes, carrying over the css classes and ids in the tags which is important when I have images in my blog. All’s well, right?

FeedBurner will tell you how many readers use IE 6.0 (ugh) and how many readers view your content in a feed reader. Unfortunately, you can’t use your own external css stylesheets to control how images are styled on a feed reader. Since I can’t ignore these readers, I will use inline CSS styling to provide some control of how my feed is presented. As an example, I like to float my images to the right on my blog since it uses a right sidebar. My stylesheet will take care of this on the blog but it won’t do anything for my feed so I will use inline css in the img tag to float the image to the right. It’s a little duplicitous but at least your feed (and browser-friendly FeedBurner page) will look ok.