How to Get Started Learning WordPress Development
How to Get Started Learning WordPress Development
So you’ve been using WordPress for a while, maybe even for years. You’ve implemented themes for your own projects and for a few paying clients. But now you’re feeling stuck, unable to get from advanced WordPress user to WordPress developer.
Many WordPress developers were once upon a time right where you are right now — I’ve even been there myself. The truth is, you can make the transition, all you need is a plan and the self-discipline to consistently work toward reaching developer status.
While I can’t lend you the self-discipline, I can help you formulate a plan. In this article, we’ll explore three things you can start doing today to make the jump from advanced WordPress user or implementor to WordPress developer.
Note: Not sure if you’re a WordPress implementer or a developer? Take our quiz and find out!
What Don’t You Know?
The first thing you need to get a handle on is what you need to learn. Some might think that all you need to know to be a WordPress developer is HTML, CSS, and a bit of PHP. While that is certainly a good start, developing for WordPress isn’t as easy as just learning a bit of PHP.
To really call yourself a WordPress developer, you’ll need to get a handle on a wide range of topics:
- Backend development: PHP and basic web server configuration.
- Development workflows and tools: to include, at a minimum, how to setup a local development environment, how to use git, and how to use command line over SSH.
- WordPress theme development: the template hierarchy, how to create custom templates for all types of posts, how to register menu locations, how to create and use custom post types, how to create sidebars and other widgetized areas.
- WordPress plugin development: how to register a shortcode, how to display a widget, how to create an options panel in the WordPress admin and save values to the database.
With these skills in hand, you’ll be able to create your own themes and simple plugins. That might seem like a lot to learn, but we’ll be talking about some resources below that you can use to learn about each of these topics relatively quickly. In addition, you don’t have to be an expert in every one of these topics, but as a WordPress developer, you do need to develop a basic familiarity with each of these topics.
Now that you know what you need to know, let’s look at the top three ways you can learn what you need to learn.
Learn WordPress Development by Reading
I’m sure you’ve heard this one before. One of the best things you can do to grow in your knowledge as a WordPress developer is to read and follow along with posts and tutorials written by other developers.
There are tons of WordPress blogs, so the key here is to go for quality rather than quantity. Pick just a few high-quality blogs to follow. I subscribe to several WordPress newsletters like The WhiP, so there are lots of different WordPress blogs I might happen to read in a given week, but I closely follow just four WordPress blogs:
- WPMU DEV Blog: I was a WPMU DEV blog reader before I was a WPMU DEV writer. This blog publishes a wide range of material. Some of it is suitable for beginners, but we also publish some pretty advanced posts such as Advanced WordPress Development: Working With Transients that even an experienced WordPress developer will learn a thing or two from.
- Kinsta: This blog features interviews with WordPress leaders and a variety of tutorials ranging widely in complexity. The content is consistently high-quality, and developers (and aspiring developers) will learn a lot from the more technical posts, such as How to Reduce TTFB to Improve WordPress Page Load Times.
- Tom McFarlin: If any blog on this list is going to stretch your developer chops consistently, it’s Tom McFarlin’s blog. Tom’s blog will go over the head of a casual WordPress user and even most advanced users. It consistently covers technical development topics, for example: Querying Event Post Types with WP Query and The Event Calendar.
- WP Tavern: Reading this blog is more about keeping up with the goings-on in the WordPress world than learning any specific development chops. If you want to keep your thumb on the pulse of the WordPress community, WP Tavern is required reading.
Pick a few blogs that you want to follow and subscribe to them. You don’t have to read everything they publish, but make sure that on a regular basis you read technical articles that stretch and challenge your developer muscles. Also, make sure you don’t just read. Open up your text editor and try out the techniques and code samples provided in the articles you read.
When Reading, Focus
If your goal is to grow as a developer, focus on blog posts and series that will help you develop your technical skills. For example, on this blog, the following series have been specifically designed with aspiring and budding WordPress developers in mind:
1.6 million WordPress Superheroes read and trust our blog. Join them and get daily posts delivered to your inbox - free!
- WordPress Development for Beginners
- WordPress Development for Intermediate Users
- Advanced WordPress Development
Read What Other Developers are Reading
Another way to find great WordPress content as a developer is to follow other WordPress developers on Twitter. While there are tons of accounts you might want to follow I’ll just get you started with eight Twitter profiles every WordPress developer should follow:
- John James Jacoby, Project Lead for BuddyPress and bbPress
- Mika Epstein, Dreamhost WordPress Developer and part of WordPress.org plugin team
- Pippin Williamson, Plugin Developer
- Joe Hoyle, Human Made Co-Founder and CTO
- Brian Jackson, Director of Inbound Marketing at Kinsta
- Paul Underwood, Freelance Web Developer
- Zac Gordon, WordPress Educator
- Tom McFarlin, WordPress Developer and Writer
Learn WordPress Development by Studying
Reading about WordPress is ongoing maintenance that you must do to keep up-to-date. To really develop new skills quickly some formal education is in order. Personally, I’ve used and recommend two formal education sources:
I have taken other courses over the years — a fullstack web development course at Udemy and several Codecademy courses come to mind — but Treehouse and the WPMU DEV Academy are the ones that have been instrumental in my WordPress development education. I can recommend them to you without reservation.
Learn WordPress Development by Doing
Reading about WordPress development will keep you sharp. Studying WordPress development will help you develop new skills. But to really grow as a developer you’ve got to find opportunities to put all of that education to good use.
I can think of four different ways you can put your education to good use, and I’ve employed all four:
- Build out personal projects — a blog, a personal portfolio, a hobby site. Create personal projects that really stretch you and that you’ll have to figure out as you go.
- Build sites for paying clients. Be careful not to take on more than you can handle. It’s great when a personal project stretches you, but when dealing with a paying customer make absolutely sure you can finish the project before you accept it.
- Write about the new skills you’re learning and publish them on your own blog or on an established WordPress blog. There’s nothing that will ensure you really understand a topic like writing a tutorial about it.
- Become a WordPress professional. Once you have the requisite knowledge and a bit of experience, you might want to join a WordPress company building websites with WordPress or providing technical support for WordPress products.
Lots of advanced WordPress users are perfectly happy implementing themes and plugins built by other developers. However, if you’re ready to move past implementation and become a WordPress developer all you need is a plan and the self-discipline to stick to it.
Your plan should include three core learning activities: reading, studying, and doing. Work on those three activities on a consistent basis and it won’t be long before you’ve left implementation behind and grown into a WordPress developer.