We recently got an email from a local WordPresser about how to make the jump from WordPress power user to theme and plugin developer. I was excited to hear that more local people are getting into WordPress and wanted to share a bit of our story as well as some helpful tips and resources with him and with you all!
Hello Eric and Josh,
I moved to New Mexico from Minneapolis a couple of months ago, and am looking for a bit of advice. I’ve been a WordPress user for 5 years and have developed a handful of sites during that time. But I’d like to bridge the gap into developing plugins and themes. I have a decent grasp of HTML and CSS, but can you recommend any books or resources that really take you “under the hood” with WordPress?
Welcome to New Mexico (Eric is actually a transplant from Minneapolis too)!
Going from creating WordPress sites to themes and plugins can be a big jump. I can share how we did it and give you a couple of tips. Eric had used WP for about 10 years, when he decided that he wanted to change careers, he attended Deep Dive Coders. Deep Dive Coders is a primarily php coding bootcamp in Albuquerque, NM now run out of the CNM STEMulous center. I was interested in network security and ethical hacking, and so I took the course to learn some programming. Eric and I actually sat next to each other on the first day.
When we graduated, we felt ready to freelance our services and quickly decided to use WordPress. I had never used WP before and pretty much took Eric’s advice that it would be a good choice. Boy was he right. The advantage that we had when we started writing custom themes and plugins is that we knew php. WordPress is built in php and though it has it’s own system of hooks and filters to make things easier, a foundation of php is very helpful. As we did more and more WordPress work, we found more and more opportunities to write custom themes and plugins and as a result got much better at it.
I will share though, that we have yet to open source a plugin in the WP plugin repo. Writing this is inspiring me to do it!
Finally, here are a few tips and resources to get started:
- Learn PHP. You don’t have to go through a bootcamp, but go through the codeacademy tutorials. It will be a huge help even in just reading code.
- Learn as much as you can about WordPress. There are tons of free tutorials out there by people who are open sourcing their knowledge on WordPress and many of them are really good! One good place to start is WPBeginner. They have a ton of free articles for all skill levels, not just beginners. If you willing to shell out some cash, WPSessions is a great place to look. They have courses from the very best WordPress developers in the business. I think I will be taking courses from them soon! There are also a lot of great videos from conferences like WordCamp (on WordPress.tv), LoopConf and GenesisCamp, to name a few.
- Contribute to WordPress. There is no better way to get under the hood in WP than to work on it. Again, this is something that Eric and I need to be way better at. Here is a link to good first bugs: https://core.trac.wordpress.org/tickets/good-first-bugs. WordPress has an amazing community, so jump in! (By the way, almost everyone, including us, started out at ground zero so don’t be intimidated. We are all at different points in this journey.)
- Use a Framework. We have built themes from scratch, but it’s easier, better and more secure to build a theme in a parent/child relationship. That means that the parent, in this case the framework, can be updated without overridding or breaking code in the child theme, where most of the design is. We use Genesis.
- Most Importantly: Get started! Done is better than perfect. I know it can be intimidating and overwhelming but jump in and write something! Have a sandbox site where you just try things. If it breaks, fix it!
I know that themes and plugins are kinda grouped together, but if you have a strong command of HTML/CSS, I would start with a theme, especially if you use a framework. Themes are a bit easier in my opinion and you can use what you are already comfortable with to get started as well as build confidence and knowledge.
I hope this was helpful! Please let me know if you have any questions or comments! Good luck!