Summary Feeds – why no links?

If you’ve wondered why your RSS feed here doesn’t have any feeds, that’s because WordPress by default displays only summaries.
To show the full text and mark-up of your posts, go into Options->Reading and click “full text” for the option, “For each article, show:”

God damn bookmarklet, kills my browser (Mozilla Firefox 1.0 preview) more often than not. *grrr*

Oh woh is me! Comment Spam Already!

It didn’t take long for the comment spammers to figure out we’re running WordPress here. I got a dozen requests to moderate comments this morning. Mark did too, but he had turned off the notification in WP so there may be a bug there somewhere. Expect test comments to appear and disappear on this post over the next hour or so!
Later… Fixed it. There’s no check for the “moderation_notify” flag . Here’s how to patch your own WordPress system:

Edit wp-includes/functions.php and add the following lines to the function wp_notify_moderator():

if( get_settings( "moderation_notify" ) == 0 )
    return true;

MySQL: Finding the records in one table that are not in another table

OK, this’ll make users of “proper databases” cringe but because MySQL doesn’t support sub-selects you can’t do the most obvious way of selecting records in one table that aren’t in another. Here’s how it’s done, with a clear explanation of why it works!
select po.id
from po left join pn
on po.id=pn.id
where pn.id is null

Unfortunately, I can’t figure out how to filter the second table as I don’t want to select from the whole table, only a subset. Anyone solved this?

WordPress Tags – Use Them!

Someone on asked how they could list the number of posts in every category. They were pointed at this page in the support forum. Even though we’re using Smarty as the templating system here, what’s stated there applies here! Add the following parameter to the call to {list_cats}:optioncount=1
ie. {list_cats optioncount=1 optional='0' all='All' sort_column='name'}
There’s a comprehensive list of WordPress Template Tags on the WP Wiki.
It should be the first port of call for anyone looking for help editing their template as the difference between Smarty syntax and PHP isn’t great and is easily learnt once you’ve digested what the template does.
And here are the docs on custom fields. It should be simple to add a Smarty function that’ll display my pic of the day again! (via the support forum)

WP Database Error – edit.php

Mark found a bug in the backend but it’s been discovered already and discussed. I applied my own fix below..
Error:

Warning: join(): Bad arguments. in …/wp-admin/edit.php on line 13

Fix:

if( is_array( $editable ) == false )
  $editable = array( "1" );
$editable = join(',', $editable);

On another note, if you can’t post blog entries as anything other than “Draft” or “Private”, then go to Options->Writing and check “May publish articles” for “Newly registered members:”
Now, if only we could set publishing rights to a certain user level, then new users could publish if the admin set their level high enough.