Short intro for readers who don't follow me or this blog's feed: I've been a judge in the annual WordPress Plugin Competition, and as such I have reviewed a number of plugins. Read more about this.

As promised, I'm going to share a list of the most common mistakes, errors, misunderstandings, bad habits or wrong design decisions I've encountered while reviewing all these 43 plugins. Some are highly critical stuff (I've contacted 3 plugins authors after finding serious security holes in their plugin), some are more potential annoyances than real bugs, or are just causing a waste of server resources that could be avoided, but all have something in common: they're trivial to fix.

wtf-code
(Image stolen from Thom Holwerda without permission)

I've classified them in two parts: 10 bad code signs, plus a bonus with design decisions that suck. If you consider yourself a semi experienced coder or better, be sure to skip this article, you're not going to learn a thing :)

Read More

This year once again, Weblogtoolscollection.com organized their annual WordPress Plugin Competition, which has had this time a special flavor for me: I was not authorized to compete (being one of the winners of a former edition) but I did take a role in it, as I've been one of the judges.

Being a judge was quite a straightforward task: Mark from WLTC sent us a zip containing all the 43 plugins submitted to the competition, and asked in return for a grade from 0 to 100 for each plugin. Straightforward, but still quite a task, as it took me nearly a month to review all these plugins.

When the results are out, I'll publish a short review for each plugin, as I took notes and wrote down my thoughts through the whole process. I won't reveal the grades I gave (although Mark is free to do so), simply because I don't want to elaborate on why I rated 65 this plugin and 64 that one, but I'll post all the comments, critics, remarks, suggestions or ideas I've had.

Today and before the results are announced, I want to share the method I used to review each plugin, which is exactly the one I use when, as a user, I come across a plugin that I want to try. This way, if you've joined the competition, you'll already know what I may have liked or disliked ;)
Read More

A while ago, I mentioned a one-file WP installer, that has since gone missing. Today I just came across something similar, except better: WordPress QI (Quick Installer), from WP god dd32 who is responsible for most if not all of the WP-Filesystem class that’s currently in WordPress and that powers the core/plugin/theme installer/upgrader. I predict this kind script will be officially available from wp.org before too long. (2) «

Packt Publishing is running their third annual Open Source CMS Award. Last year, Drupal was #1 and Joomla was #2. Two years ago, Drupal was #1 and Joomla was #2. See a pattern here? No more! :)

CMS Award

Vote for WordPress! You can nominate WordPress Best Overall Open Source CMS or Best Open Source PHP CMS (or both, obviously). Note that nominating might win you an iPod nano, so proceed with care.

Spread the word! Blog it, tweet it, tatoo it.

Making HTTP requests in PHP is not difficult, and a variety of methods exists: using fopen(), using cURL extension, using file streams with fsockopen() and fwrite() for instance. The problem is: depending on server setup, this might or might not work on another server. The good new is: once again, WordPress has a no-brainer API that makes it dead easy and compatible with all environments.
Read More

Mostly thanks to a reminder from WP Tavern's Jeffro, I've done some much needed maintenance on Planet WordPress (if you don't know it, this is another "planet", just like the official WordPress › Planet, that I've been running for 4 years now) (if you don't know it, doh, dude, siriuzly, subscribe to it, it's wicked)

planet-wordpress

So, I've removed a bunch of dead / inactive / MIA blogs and feeds, and sent emails to a couple of other blogs asking permission to include them.

If you know, or run, an interesting site that talks about WordPress, pay the planet a visit and drop me a line if you think your site should be part of it!

Hey, guess who's back!

After roughly 4 weeks offline I'm almost back to my computer. This has been a very enjoyable month: one week on the beach in the south of France with kids, ten days diving in Croatia with my wife, and visiting family in between.

So, if you've sent me some mail, a Twitter message, or left a comment on my blog during the 4 past weeks, assume I skipped it :)

wp-plugin-compThe WordPress Plugin Competition is the best moment of the year, plugin wise. This year's edition is still running till the end of the month of July and as of writing, there are about 10 plugins (with some really interesting stuff).

Still, new plugins are released every day. Why aren't these authors joining the competition?

Participating in the competition is

Instructive: you *will* learn something. Guaranteed. Or refunded. Basically, joining the competition is asking for feedback, so judges will tell you what they liked, disliked, loved and hated. I will be an official judge in this competition and I will definitely tell you what looked cool and what sucked in my opinion (for the record, read my review of last year's edition here and there)
All the feedback you'll get won't be golden rules for sure, they'll be personal points of views, but there has to be something to be learnt from it.

Exposing: definitely, participating will give you good exposure. You will end up being listed in various places that will blog about the Competition, including on very high traffic blogs. More exposure means more users for your plugin, obviously.

Motivating: as the competition deadline will approach, you will get more comments from readers, and hopefully more ideas for your plugin. Plugin authors themselves cross-pollinate each other.

Rewarding: you'll get exposure, feedback, and eventually you might be a winner of some prize or cold cash. While this should probably not be the main reason of your participating, well, that's the icing on the cake, right? :)

Participating in the competition is not

For the pros only: please don't be too shy and just think "I'm not good enough, this is my first plugin, competition is not for me". So, you're a beginner, and so what? Nobody is going to laugh at you, you will not be mocked or anything, and everybody was a n00b at some point. This is a unique opportunity to have your plugin and your code reviewed by rather experienced coders and WordPress users.

Time consuming: it's not like participating will require you to dedicate more time to your plugin or to support requests. Once your plugin is released, you're just one tiny blog post and a mail away from being officially a competitor. Really, a short announcement is all it takes. The competition rules are no extra burden.

What you should do now

If you're a plugin author, well, JOIN! Don't release a plugin in the next few weeks without getting it listed in the competition.

If you know people who do or will release plugins, tell them about the Competition and explain why they should join. There's just no valid reason not to.

Blog, tweet, reblog and retweet about the competition. I'm sure there are more reasons to participate than the ones I've listed here, so post about them.

If you're an internet business and are more or less related to WordPress (premium themes or plugins, hosting service, ad platform…) or just anyone cool, consider sponsoring the Competition and tell your customers and readers about it. That's cheap exposure and positive karma for you (for this matter, please get in touch with Mark from Weblogtoolscollection.com)

One of the sites I'm running is a long established community website with zillions of posts and bazillions of comments. The whole stuff is powered by a home made CMS written in Perl, something I did nearly 10 years ago and that is totally outdated today. For instance, there were no such things as "comment spam" back in that time, and dealing with this plague a couple of years after you've totally forgotten how your own stuff works is a real pain to deal with, believe me.

I finally decided to, guess what, migrate this site to WordPress. I wrote a custom importer (my half baked Perl CMS was using flat text files) and the result is…
sarl-imported

Yep, so far, so good :)

So, if I didn't forget to upload a zip archive or to press a "Commit" button, it should be all here for you: the GPL'd URL shortener I wrote about earlier that Lester Chan and I have been using for a while now.

yourls-logoOur URL shortener service is called YOURLS, as in Your Own URL Shortener. It's all GPL, free, do-what-you-want-with-it. Lester is running it on his own domain lc.sg, I'm running it on ozh.in, and it's fun :)

A companion for YOURLS is a WordPress plugin (of course) that will generate short URLs for your posts when you publish them, and promote them on your Twitter account. You'll like the plugin even if you're not running your own YOURLS as it's also designed to work with tr.im, bit.ly, is.gd and tinyurl.com for maximum fun.

Get YOURLS, then get the plugin: YOURLS: WordPress to Twitter