“It's not what you know, it's who you know.” I've heard that saying hundreds of times. This past week drove that message home for me several times over.
I was recently contacted by somebody looking to help a third party move their website from it's current platform (a custom build solution with no admin backend) to WordPress. To do this was going to require a custom template to replicate their existing site's design as close as possible. As I set out to work on it, I realized a few spots that were outside my area of expertise. The first of these road bumps was my nemises: CSS. Don't get me wrong, I LOVE the flexibility of CSS. But, I've always felt it's like putting diapers on an octopus. As soon as you get one leg strapped in, something else is flailing away and causing trouble. After spending more than an hour trying to solve problem #1 through W3Schools, I gave in and contacted my good Friend Jason. 10 minutes later he says to me, “You have the closing div in the wrong place. Move it ‘here' and you should be set.” Sure enough, I follow his instructions and my problem is solved.
The following day, back on the project CSS acted up again. This time was a bit more frustrating in that my test site was displaying as I wanted it in IE, but not in FireFox. I can't remember the last time IE got something correct and FireFox was in the wrong. Again, I tried solving it on my own and after spending far too much time testing every possible resolution I could muster, I called on Jason once again. This time the solution wasn't as quick, which actually made me feel a bit better. I hate asking questions and having somebody spout off the answer in a matter of seconds. It usually means I didn't do enough research to figure out the problem. Jason came back with the solution a short time later and explained that even though IE appeared to be displaying it correctly, it was actually an accident that it was showing correctly in IE. A quick code change and now both browsers were handling it properly.
As I dove deeper in to the new template, it became obvious to me that I should create a custom plugin for the site's admin that would allow them to handle some custom features easily. My goal, with every project, is to leave the end user with the easiest possible solution. I want the user's day-to-day work to be as simple as can be.
As I began work on the plugin, my recent trip to Reno for WordCamp quickly came in to play. While at WordCamp, I sat in on Colin Loretz‘s session about creating your first plugin. One of his slides in particular had some invaluable information that would make this custom plugin easy for me to write and would leave the end user with a VERY simple solution to something that they'd like use on every page of their site.
The Reno trip proved to be very enlightening, especially for this project, as I was also able to use some of the excellent information provided by Chelsea Otakan during her session about creating a custom theme to create custom page templates for several sections of this site.
Don't be afraid to ask for help. Be pulling information from 3 fantastic sources, I was able to spend the majority of my time on this project working on the parts that I do best and having people who are better in other areas provide some key information to keep me from banging my head against the keyboard for an untold amount of time.
Thanks to Jason, Colin and Chelsea for sharing your knowledge. I hope I can return the favor in the future.