Not to toot my own horn, but I’m pretty good at WordPress development.
Well, I’m at least ok at it.
So here I am to share my surefire ways so you can Get Pretty Good at WordPress DevelopmentTM too!
Learn the Basics
“But the basics are booooring”, you say. True, but a solid foundation is a going to help you more down the road.
If you don’t know what The Loop is, start there. But you should also get familiar with the template hierarchy, the difference between post and Post, and more.
My most suggested resource to those getting started with WordPress development is Up and Running from WP Shout.
Follow the Standards
Coding standards are awesome! They make your code more readable and maintainable by others. Which is very important if you’re working in an open source community.
Learning and following the coding standards early will help you write better code and have the added bonus of preparing you to better understand other developers code.
Read through the coding standards or better yet set the coding standards up in your editor so it reminds you when you forget to add comments to your function again, Jason.
Don’t pick the perfect toolset. Get started!
That said, don’t worry so much about picking out the perfect toolset. Grab an editor and get started.
Visual Studio Code, Atom, Sublime Text, and Coda are all excellent choices and I’ve used each of them over the course of my development life. Right now I’m all for Visual Studio Code. It’s open source and fast.
Local Development Environments
There are a ton of options for development environments. Don’t worry about your choice making you “not a true developer”. That’s silly.
There are different environments for different purposes. If you want to get started fast and not worry about configuring your environment try Local by Flywheel.
If you want to get more technical dig into Vagrant or Docker.
Whatever your choice pick what works for your comfort level and get started.
Task Runners and Compilers, Oh My!
For the quick and easy setup you can go with a tool like CodeKit to give you a more graphical setup.
If you want to get in with the new hotness look at Webpack or stick with a good Gulp integration.
Or just writing plain CSS. There’s nothing wrong with that!
Put in the Work
That last section is a long way of saying don’t let picking the tools keep you from putting in the work. Because you’re going to need to put in the work.
Reading up on concepts and watching tutorials is a great way to learn about the ideas, but to really beat them into your brain you need to try them yourselves. And that leads to the next item…
Break Things! (Just have a Backup)
There isn’t a week that goes by where I don’t cause a white screen of death PHP error on some project I’m working on.
Errors are a part of the learning process. Doing things typically involves breaking things. Don’t be scared to screw something up, especially if you’re working on a local environment.
If you’re working with a live site just make sure you have a backup for the files and database before doing something you’re uncomfortable with.
Learn What Interests You
Don’t worry about only learning WordPress. Pick the things that interest you and feel free to step outside your core skillset.
If you want to learn Angular. Go for it. You’ll find a way to implement those techniques into various projects.
Attend Meetups and WordCamps
WordPress has a great community of meetups and WordCamps all around the world. Chances are there is a meetup or a WordCamp by you. Find it, go, and learn from others working in WordPress.
Attending my first WordCamp St. Louis really opened the door for me getting deeply involved in WordPress development. Now I’ll be helping to organize WordCamp US in St. Louis in 2019 and 2020.
Share your Knowledge
Now that you’ve learned all this great stuff, share it!
Go talk about a project you built at a local meetup or submit a talk for a local WordCamp.
Teaching is a great way to identify and fill in gaps in your knowledge on a topic and make you a true expert on the subject.
WordPress Cheat Codes
Weekly tips to save time and improve your workflow.