I enjoy writing php. I am sincerely happy to query databases. I’ve even coded and employed a blogging platform and a photo-sharing platform from scratch. So why is this site powered by WordPress, and proudly powered at that? Because it’s a solid end product for the client, it’s fast and fun to design for, and it’s free.
I’m self-taught. I learned by reading, intoning, and worshiping the words of Dan Cederholm, Larry Ullman, Dave Shea, and Jeffrey Zeldman. My only source of information was the industry leaders, and I found it all very inspiring. Dave Shea inspired me to believe that I can be a little bit artsy sometimes if I want to. Dan Cederholm taught me that I can defeat any browser. Jeffrey Zeldman convinced me to mark-up like I mean it. And Larry Ullman showed me that my brain might be just big enough to interact with databases.
I found it so inspiring, in fact, that I eschewed existing frameworks like WordPress as shortcuts for lay-people. So I spent many hours crafting different versions of my own CMS, and it was actually pretty good for a beginner. I learned a ton and I was proud. I glanced at titles in the bookstore, guides to using WordPress, and I laughed out loud at the thought of needing an instruction book to use a blogging platform. Screw you, WordPress, I made my own.
And then last year, I got an assignment to integrate a WordPress blog into an existing design. Should be interesting, I thought, let’s see what WordPress has cooked up for the non-technical folks. I was blown away and embarrassed in under a minute.
They seem to have thought of almost everything. Want a menu in the footer? No problem. Want it to pull the photos from the most recent articles? Just add the thumbnail function to the footer-sidebar file. Want the thumbnails to grow on hover? Just crack open the CSS file–it’s right here in the editor. And if you get stuck, just search the Codex. It’s very good.
The php code in WordPress, while perhaps contributing to the stereotype of php developers being amatuerish and ham-fisted, is very flexible. Search the codex, find a function, call the function, and it works. Write your own php in there, screw up, get an error message, fix it, and it works. It’s a really fast way to develop many common design patterns.
Having said all that, most of this functionality would have been totally wasted on me if I hadn’t put long hours into understanding php prior to using WordPress. I have no regrets about my hard-coding roots and I use those techniques every time I build a WordPress site. Indeed, I sometimes use those skills to debug problems with wordpress–yes, there are bugs. Try including special characters in photo captions and watch the gears come grinding to a halt.
But the bottom line, for me, is this: WordPress has re-invented a lot of wheels so I don’t have to. And, more importantly, they allow for and assist with any modification you or the huge WordPress community can dream up. So, if I do need to invent a wheel, WordPress is a great environment for the invention. It’s a faster way to solve problems for my clients. I’ll say that again: It’s faster, not slower. And it’s free.