Book Review: WordPress 3 Plugin Development Essentials

WordPress 3 Plugin Development Essentials

by Brian Bondari and Everett Griffiths

Read more about this book at Packt Publishing » or Buy it at Amazon

At root, this book is an excellent overview of the techniques and issues which will be encountered by any developer — however experienced — when they are authorizing a plug-in using the WordPress plug-in API in WordPress 3. In particular, I appreciated the emphasis on organization and coding best practices. I’ve worked with plenty of plug-ins, and there’s a lot of ugly, unmaintainable code out there. (And I’ve written some of it, too!) The fact that anybody looking to develop a plug-in who uses this book as a major reference will also get a guide to some best practices in writing software is a definite bonus.

The authors are very realistic about the limitations and benefits of the WordPress plug-in system. They observe that WordPress has a great deal of flexibility when it comes to coding style and organization — and the result is that there’s a low resistance to entry. Great for beginners, but it does mean that trusting the code you find is something you shouldn’t do blindly. Clearly the authors want to emphasize that anybody looking to begin developing plug-ins should give some significant thought to the sustainability and quality of their work. Kudos to them!

The book doesn’t cover an enormous number of different API functions, but it does give a good overview of the key hooks that are needed to get started programming for WordPress. Given the scope of what can be done in WordPress, it’s really a better solution to solidly introduce some of the core techniques rather than try and cram a huge number of concepts down the throats of their readers.

I found the systematic approach taken by the book to be extremely effective — I appreciated that the book intentionally had the reader introduce common errors into their plug-ins. Having encountered most of those issues by accident somewhere along the line, it’s tremendously valuable to already have been made aware of some key elements.

I do think that this is a good book, and very worthwhile for the beginning plug-in developer. There are a few additional areas which I would have liked to have seen covered, however.

Although the book is very thorough in addressing programming best practices, it doesn’t address the quality of output code at all. Valid HTML, consistent use of elements, semantics, and accessibility are all issues which deserve a significant mention in the programming of a WordPress extension — however easily the plug-in can be maintained, if it doesn’t produce high-quality output, this can be a major disadvantage for the plug-in. It is very dissatisfying to install a plug-in which does exactly what you need it to, but produces output which can’t easily be styled or doesn’t meet the standards required for your web site.

Nonetheless, there are no other issues which I felt were truly missed — the book is well-written, thorough, and methodical. I can highly recommend it to anybody looking to start authoring WordPress plug-ins.

Note: although this review was not paid, I was provided with a free review copy by Packt publishing in exchange for the review. It was definitely a worthwhile trade!

The Vocal Minority

As an accessibility consultant and passionate standards advocate, I’m generally in the position of appreciating the concerns of the minority. As a WordPress plug-in developer, I have a much harder time with it. In fact, as a WordPress plug-in developer, I find the vocal minority very, very frustrating.

So I’m just going to whinge a little bit. You can stop reading now if you’re going to be a dick about it.

I recently released a new version (version 2.3.x) of my plug-in WP to Twitter, which does exactly what it says — posts status updates from WordPress to Twitter. This release included a couple of heavily demanded features, including support for custom post types and for tweeting updates on comments.

I’ll admit that there were a couple minor bugs in that release — as a result, I’ve released two updates since then, cleaning up those errors.

Some people, in reading this post, will quibble with the statement that they were minor bugs — and I’m sure that those who were affected by them don’t think so. That’s perfectly fair.

What really bugs me, however, is that if I look at the only real metrics I have for estimating the success of a new feature release, then I’d have to judge that this was a complete and utter failure. Since that release, I’ve had dozens of support requests because of bugs, a handful of small donations adding up to at most $45 (if I include all contributions which weren’t attributable to a specific project), and on the WP to Twitter page at WordPress.org, the “works” gauge has been hovering between split towards broken. And the only working vote was mine.

However, I know that this isn’t really accurate. The reason that I know this is because about a year and a half ago, give or take a few months, I did release a version of the same plug-in that was *really* broken. That was a definite screw-up. At the time, WP to Twitter was a much less popular plug-in, so the impact was dampened, but in the first few hours after release I had several dozen e-mails and support requests informing me of the problem.

In this case, there’ve been 20,000 plus downloads of the updated version with a handful of people (about 10-12) complaining of problems. In my estimation, this is a very small number of issues given the apparent numbers of users.

But I don’t really know that, because I don’t hear very much from those who have a good experience.

This is actually pretty intentional. WP to Twitter is supposed to work quietly in the background — it’s not supposed to be an “in-your-face” plug-in. So when it works, people don’t notice it. However, from my seat today, it seems somewhat demoralizing. It makes me very seriously wonder why I continue to work on WP to Twitter. (For the record, I get a lot more positive feedback on My Calendar, which does help.)

Nonetheless, I have no intention to discontinue support for WP to Twitter. Maybe it’s just an ego trip, but it’s certainly helped me build a thick skin…

Page 1 of 11

Return to Top