Podpress and WordPress 2.6 fix with revisions

Haha, two ‘work’ posts in a row!

As some of you may know, wordpress 2.6 broke podpress, the great podcasting plugin for wordpress. There were several ‘fixes’ that people found after, but basically all of them involved disabling revisions in the new version of wordpress. I then discovered this forum topic that showed how wordpress called the ‘save_post’ hook in the new revisioning system. The solution I came up with allows you to keep the revisioning system turned on, but still allow podpress to work.

Instructions (Podpress 8.8)
1) Download this file.
2) Rename to podpress_admin_class.php and copy it to your /wp-content/plugins/podpress directory, replacing the existing file.
3) Create a post and check it works

Instructions (Other versions)
The above file might work with other versions of podpress, but it might not. It would be better to edit your own podpress_admin_class.php file to ensure things work.
1) Edit /wp-content/plugins/podpress/podpress_admin_class.php
2) Replace the line function post_edit($post_id) with the following:

function post_edit($post_id) {
if(wp_is_post_revision($post_id) || wp_is_post_autosave($post_id)) {
return $post_id;
} else {

3) Scroll down to just above the function edit_category_form($input) {
4) Insert another } above it to close off the condition statement.

Things that should be noted:

  • This worked for me, and its given here that it might work for you, but I’m not responsible for any damaged caused to your website or computer through the user of this plugin.
  • While the podpress information is saved for each revision, if you restore revisions, it currently won’t restore the podpress information from that revision. That requires using the wp_restore_post_revision hook, which I haven’t got round to doing yet.
  • I use wordpress 2.6 on all of the blogs I maintain now. I love it, I love the new file uploads that were introduced in 2.5, and the post revisions from 2.6. I use wordpress on some intranet pages along with allow categries and private files to control access to sensitive information. The new revisions work great because in a world of non-techsavy users, if we need to go back and fix something that someone broke we can, or for writing online documentation, it means you get a complete version history.

    MySQL BIT in PHP

    Ok, if you subscribe to my blog for personal reasons, this isn’t very relevant to you, but for those of you here for the programming, on a recent project I had some problems getting the BIT field in MySQL to be interpreted as a boolean in PHP. There are a couple of discussions on the net about it here and here, but I couldn’t find any simply stated solutions on the net. So here’s what I ended up doing. You can also download the file here, rename the file .php to use it.

    function mysql_bit($bit) {
    return ord($bit) == 1;