Archive for the 'plugins' Category

I didn’t do it.

Tuesday, January 10th, 2006

In the infamous words of Bart Simpson, “I didn’t do it.”

I’m not sure what craziness is going on over at Planet WordPress, but I have done nothing to my WordPress feed since December 31st, except perhaps update the site from Subversion. That shouldn’t really have an effect, though, should it?

Perhaps when Planet WordPress starts using WordPress itself we can count on my spamming of it being reduced. Ahem. (Hey, does FeedWordPress work with 2.0?) If Matt is taking volunteers for fixing up Planet, sign me up. Maybe I’ll hit him up at tomorrow’s IRC meetup. At least then I can stop getting the emails/comments complaining about it and Technorati hits on my name with blog posts featuring nothing but a screenshot of someone’s admin spam! Ack!

In case you wanted real WordPress news, you might note that there are new versions of two of my plugins. I did not announce them yet because I was hoping to get a bit more testing by hapless passers-by before everyone else started using them.

EzStatic - Version 3.0 of EzStatic is a pretty good revamping for WordPress 2.0. It will let you run code from inside WordPress posts, just like the Run-PHP and PHP-Exec plugins. It also lets you embed static files from outside WordPress into your WordPress layout. EzStatic is one of the main reasons I wrote the Role Manager at all.

For example, I wrote a simple Chinese Restaurant Name Generator, which runs in my WP root. But you can use EzStatic to make it appear inside my WordPress template. You just change the URL and it’s there.

It’s the same exact file. Yes, when you post forms it works (with a few understandable exceptions, like when you use the same form field names that WordPress looks for to limit posts, for example). Better than having to write a whole blasted application over as a Page Template, don’t you think? Especially since you’d have to do it for every new theme you published…

Geo - Geo required some tweaking to work with WordPress 2.0, and I’m still not convinced they’re complete, so I didn’t bump the version number all the way up. The new version does support some extra features, like outputting the place name if the selected location is one of the stored locations. There are also functions to retrieve that information. And the Google Maps output URL is improved. Again.

If you have useful additions to the Geo plugin, you should email me.

I have some other updates in store, too, but I’m going to hold off announcing them until they’re better tested. Until then, sorry I flooded your Dashboard. Enjoy the Chinese Restaurant names. Yes, I did write that stupid thing just to show you EzStatic.

What’s Not Gonna Work in WordPress 2.0

Monday, December 19th, 2005

The most often asked question regarding WordPress 2.0 is, “When is it coming out?” Well, that’s going to be this week.

The second most often asked question regarding WordPress 2.0 is, “What is changed?” I think I wrote about that before.

The third most often asked question regarding WordPress 2.0 is, “Will my plugins and/or themes work?” Uh…. Possibly?

This is also known as the dreaded question, “In what way is WordPress 2.0 going to break my site and cause me hours of upgrade pain without someone to whom I can whimper, ‘Please, make it go again.’?”

This post isn’t going to make that question much easier, but I may provide a toll-free support number for handling these issues before the week is out.

There is a user-supplied list of plugins that will/will not work with WordPress 2.0 over on photomatt’s Codex user page. I hope that this page gets rolled into the main site soon because it’s a little off the beaten path.

Here’s the good news: Themes are probably OK. Unless your theme was doing something crazy before, it’s probably going to work after the upgrade. There have been a lot of new plugin hooks added to the 2.0 version, but it doesn’t seem like anything made it into the theme system that would cause it to break.

The theme system does allow for a custom plugin-like set of functions to be loaded. WordPress will automatically load a file named functions.php for any theme that includes one. This is done in the same way that plugins are loaded, and allows themes to supply their own custom features, including both output functions and configuration pages.

Also, themes should now come with “thumbnail” images (I say “thumbnail” in quotes because they’re actually more the size of your palm, but…) that will be displayed in the admin. If your theme doesn’t have one, it’ll simply show a blank box.

A theme that doesn’t have either one of these should load just as it did in WordPress 1.5.2, but won’t have those additional features.

Plugins are another question, though. There are some specific sections of WordPress that have been heavily revised. If you use a plugin that integrates into one of these sections, it will probably not work. Specifically, the permissions and capability sections will be a bear for plugins that are affected by user levels.

If you are running a “view level” plugin - something that restricts a reader’s permissions to access certain posts - I’ll say straight out right now that unless you’ve got a brand new version (and I know of no author who has written one of these plugins that is offering an updated version) it’s not going to work. If you have an update, comment here - I’m looking for it myself.

One often overlooked aspect of this is that any plugin that uses an admin page will need review. The function call that adds custom admin pages used to require a user level number. It now requires a capability name. Now there are some backwards-compatibility checks for user levels in there, but they may obviously not work as well as something specifically designed to work with the new capabilities system.

Also in the administration area, if you are using a plugin that hooks into the editor, you may have issues with it. This is particularly so if that plugin adds buttons to the Quicktag toolbar, since the new default is to use the WYSIWYG editor, which does not use the same toolbar.

I have written the buttonsnap class, which lets plugin authors add buttons to both editors very easily. It’s not a plugin itself, but a library that makes it very simple for plugin authors to create buttons in either editor with a simple, single function call. Still, the plugin will have to be rewritten to use my library or some other solution if it’s going to be effectual.

If your plugins use DOM to insert new elements into the user interface (pretty much any plugin that adds elements is using DOM to do it) then it may need to be updated to account for changes there.

The Upload page in the admin is gone. If your plugin altered or attached to that page, it won’t be any more.

Generally speaking, you’re going to need to procure write access for your server to the /wp-content directory of WordPress. That means you have to allow your server to write files into that directory from scripts. This will allow things like caching, image uploading, and the bundled backup plugin to work as they should, although your host may not like it or allow it (most hosts will, but you should check), and you might not consider it secure to leave all of the subdirectories there in that state.

You should verify with someone you trust concerning the permissions you intend to use to provide the access to your server that you want to provide.

What should you do if your plugin doesn’t work?

Panic.

Nah, just kidding. Actually, before you upgrade, compare the list of working plugins against the ones you’re using. If your doesn’t appear in the “known working” section of list, you need to talk to someone.

Your best bet, if you can find contact info, is to badger the plugin author. Barring that, you can try any of the standard support channels, but be aware that in the fallout that is bound to occur when everyone upgrades, your 3rd-party code (code written by someone outside of the WordPress core) isn’t going to be a priority.

I suggest trying WordPress IRC (#wordpress @ irc.freenode.net) and see if anyone there knows how to solve your problem. There is usually someone there that can at least record the issue or forward it on to someone who can start fixing.

I haven’t been keeping up with documentation on 2.0 as well as I should, but I imagine that with the frequency of changes over the past month or two that nothing is verifiably up to date. If you find instructions in the Codex for performing some necessary intrinsic system change, first be sure that the instructions apply to the version you are installing.

Probably the most sound advice I can give you is this: If you have any doubt about performing an upgrade - don’t upgrade! There’s no reason to submit yourself as a guinea pig to test this software, especially if you’re fairly satisfied with what you have already. Granted, WordPress 2.0 is a nice piece of work, but it’s going to be a while before 1.5.2 loses the support of the community at large.

Take your time. Learn from the mistakes of the 500,000 other downloaders. After that, take the plunge.

Remember to backup everything.

Shameless plug: There are also people who can do your upgrade for you.

If any of you developers think of any other “gotchas” in the new system, please leave them in the comments. Thanks!

Otherwise, I’ll see you in WP 2.0 later this week. I’ve got at least two plugins for 2.0 that I hope to have baked for the release. I’m also looking forward to the sleek new WordPress.org site redesign/rebranding we were promised with the new version release.