Shipping code for fun & profit

26 things I learned developing WordPress plugins

Lee Willis - @leewillis77

About me

Playing with OSS since '98

  Mailing list archive from 1998

Software dev / BA @ PlusNet

5 years as an IT out-sourcer


WordPress plugin developer

17 plugins on

Contributed to:

Not as much as I'd like

Oh, and also

Drupal developer


First class mistake-maker

These are my lessons-learned

Ship your code

beta release image


Except version 2

You have a responsibility


Support is hard, really hard, and it’s not something that most people are naturally good at.

— @pippinsplugins October 15, 2013

Be clear on support



Be open to contributions


Be a good citizen


Contribute back

Ways to contribute

Show and tell


Stand on the giants' shoulders


Even better

Find a bear


"Where can i find a bear?"

The woods


Sure, I'm a better person, but I can haz code now??

"Do It Right"


PHP Version compatibility


Common gotchas


Escape input


Escape output

Then read this:

Escaping API updates for WordPress 2.8


serialize() is fine for config


Don't use it for data



Learn about i18n


Comment your code


Shipping code is great

but once you ship...

You lose control

A nice little graph

"Page requests per month"

DDOS Graph

So — test ...


Find great tools

You are a professional, your tools are complicated

— Rowan Merewood, Building Better Developers



WordPress specific


Invest the time

to be

"good by default"


Do yourself a favour —

Don't re-invent the wheel


Remember the giants?

Try something new


Keep fresh perspectives


One final word

Thank you for listening

Lee Willis — @leewillis77

Beware off-by-one errors