WordPress 2.5 notes from the field
It’s been a few weeks since I upgraded to WordPress 2.5 and whilst the upgrade went well it hasn’t been all plain sailing.
New and changed
Manage files removed
The Manage > Files administration function has been silently removed despite still appearing in the on-line documentation.
If you don’t have FTP access this was the only way to modify your .htaccess and other important files without installing additional software. I can understand such a powerful function could be abused but an option to turn it back on or even a warning about its removal in the upgrade notes/read-me would have been useful.
Hopefully somebody will repackage the old functionality into a plug-in.
New look administration
I’m not sold on the new administration theme look but Dean J Robinson has crafted a plug-in called Fluency that refines the styling.
Generally usability in the administration user interface is better, the write post screen makes a lot more sense and the category & tag management is more logical.
Auto update plug-ins
I love this new feature, it shows you when a new version of a plug-in is available and then lets you automatically update. It isn’t without issue however, specifically it:
- overwrites modified local versions without warning
- may go wrong (it “upgraded” my wp-PostViews to wp-DBManager)
- does not provide a roll-back or revert facility
Still it’s a v1 feature and I’m sure it’ll get some refinement in 2.6.
Live search broken (Redoable theme)
I’m not 100% happy with the output from Sociable right now but that can wait until my new theme is finished.
These weren’t caused by the 2.5 upgrade but once you start messing with one thing there’s always that urge to fix other things you know aren’t right.
Whilst testing my site I found XHTML compliance was broken. It turns out that Joost’s Google Analytics for WordPress incorrectly rewrites the hyperlinks when they parent another element such as an image. Putting on my PHP hacking hat I managed to fix it by editing the plug-in and changing the last line of ga_parse_link to:
return '<a '.$matches.'href="'.$matches.'//' .$matches.'"'.' '.$coolBit.$matches.'>'.$matches.'</a>';
My feed subscriber counts have been bugging me for a while as they jump up and down seemingly at random. In fact, it can be traced down to two things:
- If you base it on less than 5 days of activity you’ll get the weekend dip
Solution: Count 7 days worth of individual subscribers
- Google Reader etc. sometimes stop passing the subscriber count from time to time
Solution: Use single most recent multi-subscriber header for each service/feed in the last 30 days
If you want to do the same you need to edit the Feed Statistics plug-in and change the how_many_subscribers function to:
$q = "SELECT subscribers, CASE WHEN subscribers = 1 THEN identifier ELSE CONCAT(identifier, feed) END AS ident FROM ".$table_prefix."feed_subscribers WHERE ((subscribers = 1 AND date > '".date("Y-m-d H:i:s", time() - (60 * 60 * 24 * get_option("feed_statistics_expiration_days")))."' ) OR (subscribers = 1 AND LOCATE('###',identifier) != 0 AND date > '".date("Y-m-d H:i:s", time() - (60 * 60 * 24 * get_option("feed_statistics_expiration_days") * 3))."' ) OR (subscribers > 1 AND date > '".date("Y-m-d H:i:s", time() - (60 * 60 * 24 * 30 * 3))."' ) ) ORDER BY ident ASC, date DESC";
This should help but it’s not ideal with individual readers counted more than once if they change IP and groups counted as one if they are sharing an IP/NAT.