Before I started working primarily with WordPress (98% of my work is now WordPress-based), I did straight HTML/CSS coding. This post is geared towards other web developers who are interested in taking their first steps into WordPress custom theming.
WordPress Frameworks May Not Be the Best Route
If you are trying to transition into WordPress from HTML web development, I would advise against using any type of theme framework, such as Genesis or Thesis or anything of that nature. I am by no means trashing WordPress frameworks, some people love coding with them and to each their own. But in my personal opinion, I think it’s more likely to feel overwhelmed when starting out if using something like that as then you are working on learning both the framework and WordPress. Instead, I’d try to find a bare bones, minimal theme that works for you. You may need to try out a few until you find one that you like. I personally use one of my own creation that takes pieces from both Starkers and HTML5 Boilerplate. I’ve heard really great things about Bones and Roots, as well.
Learn Key WordPress Elements
A great deal of the code used to set up layouts on WordPress themes is the same as standard HTML builds. Understandably, the key difference is how content is pulled in. There are so many awesome things to learn within WordPress but to start out initially, I’d focus on these key elements:
– The Loop: learn the loop so well that your children will have the loop encoded in their DNA. This is how all content is pulled in. Know how to interact with it. The Loop is all-powerful and without it, you will not get very far in WordPress theming.
– WordPress Template Hierarchy: This is important to understand so you know the WordPress theme structure to set up and where WordPress will look for each page.
– Custom Post Types & Custom Fields: Mastering these two elements are a must when you are using WordPress as a website CMS. There are plug-ins that can simplify the process (Custom Post Type UI and Advanced Custom Fields) While I’m not against using plug-ins to accomplish this type of functionality, I do think it’s important to not be fully reliant on them and understand how to declare custom post types through the functions.php file and how to query standard custom fields in.
There’s a Wealth of Information Out There
Additionally, when I started coding in WordPress, I read A LOT of blog posts and e-books about doing so. The wealth of information available to you through a simple Google search is astounding. Of the e-books, the two I found most helpful were Digging into WordPress and How to Be a Rockstar WordPress Designer. There may be better e-books out there now than there were when I was first learning but I remember finding those two helpful. I’d also recommend checking out the developer track at WordCamp. When you’re starting out, you can take away a lot from those little conferences and the cost is extremely reasonable to attend.
Overall, I would just suggest to be patient and understand that it will take awhile to master the most efficient ways to do everything within WordPress. I still feel like I stumble on new & better ways to do things as WordPress continues to grow. It’s definitely worth the time it takes to learn.