One of the advantages that's often associated with building for WordPress is its low barrier to entry, and although this isn't altogether false, it also makes it intimidating for anyone who is looking to truly get started in WordPress and struggled with knowing how - or where - to get started.
In fact, we're often asked various tips, ideas, and practical things that new developers can do in order to get their feet wet WordPress when they're just getting started. In an attempt to provide a reference for this often-asked question, I thought it would be worth drafting up a few points worth sharing the next time that this question comes up.
With that said, here are five suggestions that I recommend (in no particular order):
1. Don't Start Too Big!
One of the number one things that I - along with peer WordPress developers are asked - are how to do certain complex tasks right from the beginning. For example: How do I introduce frontend editing into WordPress?
This answer to this particular question can get complex very quickly.
It's a lot, isn't it?
To that end, I always recommend that new developers begin with something small in mind, then grow their idea from there. When doing that, natural learning is bound to occur and you'll learn the things necessary that will allow you to accomplish more complex tasks.
2. Study Existing Code
This is something that developers - regardless of their level of skill - hear often. We're told to read other people's code, read other people's books, and follow along development with other projects.
And because it's applicable to developers of all skill levels, it's applicable to beginners, as well.
The nice thing is that, in the case of WordPress, the source code and all associated projects are open source, and thanks to websites such as GitHub, it's relatively easy to find WordPress and associated projects available for study.
The challenge with doing this, though, is knowing where to start, right? I mean, it's difficult to simply just into a function and begin tracing it's execution. So how do we actually start with something and then work forward?
There are a number of strategies for doing this, one of which I've found to be relatively powerful regardless of the feature that you're dealing with: Pick one aspect of WordPress, say the login screen, and look for part of the code in the WordPress source.
This is easy to do: After all, we have the markup visible in our browsers and the strings visible on the screen. Simply doing a "Find" in the WordPress source code will get you started somewhere along the path.
Next, trace the code that you see. Set breakpoints to debug as data is passing through it, try changing it to see if you can bend it to do something different than what it normally does.
Typically, breaking something and restoring its functionality is a fantastic way to grok how something works so that you can more easily understand how it's designed, how to implement something similar in the future, and/or how to take advantage of the relevant APIs.
3. Understand The Coding Standards
You've likely read it here on Tuts+ before, and this isn't the last time that you'll read it again: One of the most important things that you can do as a WordPress developer is to understand the WordPress Coding Standards.
After all, the purpose of coding standards is in place to make sure that the code that's being written more or less looks the same regardless of who has written it.
Some people abide by the standards, some do not. If you opt not to do so - and that is a prerogative that the developer has - then so be it; however, if you opt to do so, then you're going to be writing code that's more easily readable by those who follow the standards, build products, and so on on top of WordPress.
4. Meetups and WordCamps
This particular pointer is one that I don't believe we talk up enough: Meetups are fantastic and are so for a number of reasons.
- You get to meet like-minded people who are curious, interested, and passionate about the same platform you are.
- You have the opportunity to learn from people who are further down the line and able to work, and thus teach, on more extensive topics that you are.
- You have the ability to practice your speaking skills in front of other people should you opt to present to them.
- You have the ability to get help with your project, your code, or any other questions that you have.
And this isn't just left to meetups in the local area. WordCamps are fantastic resources for anyone who is interested in anything from just getting into blogging and getting WordPress setup to those who are looking to build an entire business around the application.
In short: Don't forget to get out of the house and interact with those in your "offline community" just as much as you do (well, at least to some degree ;) as your "online community."
5. Read Blogs
Yes - this is yet another tip about reading. As far as blogs are concerned, there has never been a better time to be a part of the WordPress economy.
Right now, there are a number of different how-to sites, news sites, tutorial sites, developer sites, designer sites, and so on all of which offer a valuable, unique perspective on exactly what it involves and what it requires in order to be a WordPress developer.
Spend the time finding and reading the blogs that are most interesting to you. On top of that, if they offer code, try to trace it and understand it. Drop it in your IDE and work on improving it, adding something to it, changing it, and so on.
Hop into a discussion in the comments or chat with the authors via email about the code they've shared. Even if you don't feel like participating in the discussion, at least lurk in the comments and track along with it. You can learn a lot just by following the conversation of other people.
But There's Always More
Honestly, these are just five quick tips to help you get started.
If you're really up for jumping into the deep end of the pool, then I also highly recommend following Trac and the associated emails that go out. It really keeps you in the loop as to what's going on in core, as well as what's happening with some of the other peripheral features of WordPress.
There are plenty more and I've love for you guys to voice your own suggestions in the comments so that we have a healthy collection of tips for our fellow readers - beginners or not.
So have at it: What are your suggestions?