This week, we’ve gone up the street to interview Bill Erickson. Bill has developed an incredible reputation in the WordPress community for the sites he’s built, as well as the code that he continues to give back to the community. He’s got some great insight to add to the discussion.
When was the first time that you really got excited about WordPress and at what point did you decide to make it your career?
About 7 years ago I was working for Texas A&M’s business school assisting in the management of their websites. As static HTML sites, I found myself often tasked with simple text changes (i.e., changing Spring to Fall or 2004 to 2005). It did not take long before I began rebuilding the smaller sites using WordPress as a CMS. The editors loved managing the content themselves, and I loved focusing on web development.
I was hooked.
Where do you go first to get your WP news, insights, and updates?
What WP consultants deserve more love than they get? Who should we be paying attention to?
Gary Jones (GaryJ). He gives so much back to the community; contributing a TON to the development and documentation of Genesis, rewriting the Custom Metabox library, and writing great tutorials for the community.
If you’re a WordPress developer, especially one working with Genesis, consider hiring him to do a code audit of your theme or plugin.
What performance tips would you give to other pros (as related to speed, scalability, security, plugins, backup, etc.)?
Other than use WPEngine for hosting? Make sure you only use plugins that are absolutely essential and singularly focused. A great example of this was when I had a client contact me after installing an excessively complicated Facebook Like plugin. The seven pages of options slowed his site to a crawl; essentially, the plugin lacked a singular focus, trying to do too much. We replaced it with the Facebook code directly from Facebook, adding a few lines to his theme, meeting his needs without a plugin.
Take a look at Mark Jaquith’s plugins for examples of well built plugins.
Confess to us your biggest moment of WP fail?
I had created a custom post type called Books. On the books archive page we wanted to show three per page. I hopped into archive-books.php and did a new query, setting ‘posts_per_page’ => 3, which worked great until you went to the next page and it 404′d. I spent hours trying to figure this out. Finally, I sent an email to Mark Jaquith (Lead Developer of WordPress) asking for help. I think I even said something like “I think this is a bug in WordPress, but wanted to check with you first before posting a ticket on Trac.”
Mark responded with “let’s hop on Skype and figure this out.” It quickly became apparent that the “bug” was my use of queries, I should have used ‘pre_get_posts’. Although I had been building with WordPress for 5 years, this concept had apparently alluded me. However, after sticking my foot in my mouth and an hour long tutorial on the correct use queries in WordPress, it is a lesson I will never forget.
I’ve written a detailed tutorial on WordPress Queries, so you don’t have to learn it the same way I did.
If you were going to spend this weekend creating a plugin that doesn’t exist, what would it be?
Hmm, that’s a hard question because I do spend my weekends creating plugins that don’t exist! I build about 2-4 websites a week; so when I solve the same problem many times, I often package it into a simple plugin.
Do you use Themes & Child Themes, Roll your own, or both?
All my sites are built using a child theme and a core functionality plugin.
I think it’s important to use a child theme and a solid framework (I use Genesis) because there’s no reason to re-invent the wheel by building your website from scratch. It’s also useful because all your code is reusable across projects. When I write something useful, I post it in my Code Snippets so I can reuse it in the future.
But remember that this won’t be the only theme your client will ever use. Any functionality you build that they’d want to keep when changing themes should be packaged into a core functionality plugin.
What’s the coolest thing you’ve ever done with Custom Post Types?
I’d have to say the Dachis Group website where I created post types for Team and Locations. Each person had a lot of metadata (name, description, photo, twitter stream, contact info), but were also linked to a Location (using Posts 2 Posts) with its own metadata (address) and taxonomy (region).
Just registering a post type is easy; the difficult and important part is using them correctly.
What do you think is the biggest challenge that WP consultants will face in 2012?
WordPress sites have been increasing in complexity for some time. You can make them look like anything, and with advanced features added in the past two years you can make them do anything. But as the complexity of websites increases, WordPress consultants must keep the interface easy to use.
The most important part of my job is building websites that are easy to manage. At the end of the day, that’s what you are being hired for.
If you could change one thing today about WP, what would it be?
I would add taxonomy metadata. There’s many times when a taxonomy is a better fit than a post type, but because it lacks metadata you either have to use a post type or some other less-optimal method (store the metadata in wp_options).
Where do you see WordPress going in the next 2-3 years?
It will continue to improve as a content management system. I think we’ll see some major changes to the interface. For instance, the widgets functionality works okay for a blog but becomes needlessly complex when dealing with more complicated websites.
As Matt Mullenweg points out, the open source model of development is great for incremental improvements, but radical changes are much more difficult. I hope we’ll see more radical changes over the next few years.
If you were interviewing another WordPress developer for a job, what is the first question you would ask and why?
I would look at how much they had contributed back to the WordPress community, for two reasons.
WordPress is an open-source project, freely developed by thousands of developers. If you build your business on top of this project, it’s only fair to contribute any improvements you make back to the community.
More practically, by publicly sharing code, other developers will review, test, and improve it. This is one of the best ways to improve your code and your ability to code.
If you’d like to get in touch with Bill, see his CV, or even check out his amateur photography, mosey on over to billerickson.net and tell them WP Engine sent you.