Advertisement
General

Practical Tips for Aspiring WordPress Developers

by

On Wptuts+, we talk a lot about how to achieve certain things using WordPress, how to apply practical tips within WordPress projects themselves, but one overlooked area of working with WordPress is bringing aspiring developers up-to-speed on how to quickly get started with building WordPress-based products.

Sure, there are a lot of guides for beginners that are out there, but what about experienced developers who've yet to really hop over into WordPress, or who have worked in environments like .NET or Rails before but are now faced with the task of building something for WordPress?

In this post, we're going to look at some general, educational, and development related tips that are geared towards the experienced developer in order to bring them up to speed in WordPress development.


General

WordPress

One of the reasons that WordPress isn't often viewed as a viable application platform by other developers, at least in my opinion, is because if its name.

WordPress.

It sounds and represents all things publishing related. Of course, it should, right? It is a CMS and its heart is based in publishing content, but when you consider that "publishing content" includes a wide range of information - anything from blogging, journalism, to updating a web site - then you've got more of a case for looking into it as a platform.

On top of that, the application has seriously matured in the past few years such that you get a lot of boilerplate code out of the box.

  • A database structure
  • An email system
  • User registrations
  • User roles
  • Database manipulation utilities
  • Extensibility
  • Multiple APIs
  • etc.

All of the things that normally come in the form of gems, packages, or libraries are all part of WordPress as well. It's simply a matter of learning how to use them.

Get Comfortable With the Codex

To that end, if you've been working with another language for sometime, then you're likely familiar with said platform's documentation.

Case in point: If you're coming from .NET, then you're no doubt familiar with MSDN. If you're coming from Ruby on Rails, then you're probably familiar with its documentation, too.

WordPress is no different. Its core set of documentation is called the WordPress Codex. Because WordPress is geared towards both users - or authors - as well as developers, it doesn't fit the typical mold of a listing of various classes, functions, and so on.

Instead, you have to seek out the development documentation and then drill down into the specifics that you want.

From here, you can now review the full set of APIs that are available. These include:

  • The Plugin API
  • Widgets API
  • Settings API
  • Options API
  • Transients API
  • ...and more, and more

As you can see, the WordPress API is rich. Although the documentation is relatively strong, if you happen to come across something that's confusing or that could be improved, the Codex is a wiki so you can simply edit the given page.

This not only helps clarify whatever point caused you to stumble, but also gives back to the community which is ultimately at the heart of the open source model.

Learn the Coding Standards

Like any good platform, there are coding standards that WordPress defines which all developers should follow.

But, then again, like any other platform, developers tend to adopt their own set of standards when building products for any given platform. In the case of WordPress, it's a little bit different: Because the platform is open source and anything built on WordPress falls under the GPL, then its source code is subject to the same license.

As such, I think it's important for any code written on WordPress to follow the predefined standards. But if that's not enough, note that code - especially written by a team - should be written in such a way that it looks as if a single developer wrote the entire code base.

Standards help to provide this foundation. This makes the code more readable, easier to maintain, and more acceptable by the community at large.

Sure, it's easy to question this logic, but when you've worked with themes, plugins, and applications that follow the conventions then have to maintain a project that doesn't, you feel the pain.


Education

Learn WordPress

Any experienced developer knows that you're never really done. You've never really leveled-up to a point where you've maxed out your programmer points.

In short, there's a constant level of education that you must pursue in order to make sure that you're on the top of your game. This comes whenever you need to learn a new library, a new design pattern, a new technique, or an entirely new platform.

In addition to staying close to the Codex, there are a couple of things that will make your life much easier as a WordPress developer.

Reading, Writing, and Comments

I don't know if I can fully stress the importance and significance of this particular strategy enough, but I believe that it's extremely important for developers to read other people's blogs, write their own blogs, and comment within the community.

In doing this, you're learning from other people's mistakes, successes, and general learnings. You're also sharing your own experience which, in my opinion, puts your work on the stage for others to critique.

Sure, it can be intimidating. After all, who likes to put their work on display only for it to be criticized? But the truth is that it can help you become a better developer faster by learning from others who comment on your work that have been there before.

And for what it's worth, very few people are critical in a negative way. In my experience, I've found that developers want to help other developers. Not always, but most of the time.

The WordPress community is filled with people more like the former.

Find Your Following

I realize that this almost sounds like something out of a marketing guide for social media, but the truth is that you can learn a lot by following people on Twitter who are popular in the WordPress community.

There are experts in each area of the core application: PHP, JavaScript, security, databases, UI, UX, and on and on. Most of them are incredibly responsive via Twitter and will often engage in some good conversation.

Even if you opt to be a passive tweeter - that is, you simply want to read what others are saying - then do it. Not everyone blogs, but a lot of people 'microblog' and share important announcements, links, and content that can make your life as a developer a bit easier.


Development

WordPress Development

Finally, the last thing that any good developer needs to do to get started with building WordPress-related projects is to develop.

Up to this point, we've mentioned a number of different things to help you accelerate your involvement and experience with WordPress as a platform, but we've not actually given any particular tips on what you can do to up your developer chops.

Find a Niche

You can think of WordPress as being segmented into two particular areas: themes and plugins.

For those of you who are just coming to WordPress, themes are like the skin or the layout of what's built on WordPress. It's responsible for formatting the content that's stored within the WordPress database. Sure, it can offer some other functionality, but at its core, it's responsible for presenting the data.

Plugins, on the other hand, are more like "apps" for WordPress. That is, they introduce functionality, features, or improvements to the core WordPress applications. Granted, some plugins are significantly more advanced than others, but they all do the same thing - extend WordPress.

Finally, it's worth mentioning that developers are beginning to create more and more web applications using WordPress. This normally comes in the form of advanced themes with more "application-like" functionality.

Regardless, it's worth discovering your niche, finding what you enjoy the most and focusing on that. To do that, you'll obviously need to experiment with building themes, plugins, and possibly even applications.

All the APIs, Inside and Out

Next up, it's important to learn the various WordPress APIs that we discussed earlier, inside and out. This doesn't necessarily mean that you need to memorize every function or feature of the available APIs, but it does help to be familiar with what WordPress offers.

Ultimately, this means that whenever you're faced with a problem and you're not exactly sure how to solve it, you know what facilities are available to solve it. From that point, it's a matter of looking up the documentation or implementing your own solution by following core features (and the coding standards!).

Write a Lot of Code

This particular point transcends working with WordPress. In fact, I almost didn't bother mentioning it because it's relevant to anyone that's learning any new programming paradigm, technology, or platform.

Then again, it never hurts to hear a good thing more than once.

So in order to continue leveling up your WordPress development skills, it's important that you write a lot of code. It's not enough to passively participate in the community - don't just read blogs, leave comments, or follow others on Twitter.

Put your own posts, plugins, and themes out there. Make some mistakes, learn from them and produce better work.


Conclusion

There's really never been a better time to get into WordPress development, so why not start now? The community is as active as it's ever been, the efforts are underway to continue improving the handbooks for plugins, localization, theme development, and so on.

Finally, more and more of the web is becoming powered by WordPress - both sites and applications - so it's worth looking into even if it's just as a hobby.

Regardless, the tips above should help you get started whether you're looking to pick up WordPress in your free time or professionally.

Related Posts
  • Code
    Tips
    New wp-config Tweaks You Probably Don't Know8 new wp config tweaks you probably didnt know about 400
    The wp-config.php file: One of the most loved WordPress feature for some, one of the worst nightmares for others. There are countless tips and tricks in a plethora of articles, and you can't get enough of them; however, this article is aiming to be different. In this article, we're going to get familiar with eight new wp-config tricks that are less known than functionality such as turning off post revisions, increasing the memory limit, or other similar features.Read More…
  • Code
    Articles
    Introduction to WordPress App ThemesApp theme 400
    With the increasing growth rate of WordPress powered websites, the need for WordPress themes is rising. Multi-purpose themes are becoming highly popular among website owners. Many existing themes are built mainly to address blog functionality. But with the growth of WordPress web application development, we are in need of specialized themes for different purposes. These themes are known as app themes. In this article, we going to familiarize with the concept of app themes and their usage in real world.Read More…
  • Code
    Theme Development
    Creating a WordPress Theme From Static HTML: Releasing Your ThemeCreating wordpress theme from html 400
    If you've been following this series you now have a working WordPress theme. Your theme has a number of template files, including a page template and an archive template, and also has featured image support.Read More…
  • Code
    Creative Coding
    Using WordPress for Web Application Development: A ReviewApplication foundation 400
    Over the past few months, we've been taking a look at all of the features and aspects that make WordPress a potential foundation for application development. In fact, we've spent roughly 15 articles talking about all that WordPress offers. And though we'll be reviewing each of the points in this email, perhaps the biggest thing to take away that building web applications using WordPress is different than using many of the popular frameworks that are currently available namely because WordPress isn't a framework.Read More…
  • Code
    Creative Coding
    Using WordPress for Web Application Development: Features: Saving DataApplication foundation 400
    When it comes to the web, almost any application that runs within your browser is backed by a data store of some type. Usually, these data stores are in the form of a type of database. Until recently, most applications were built on top of some type of SQL database, but with the rise of document-based databases such as CouchDB, other applications have begun to use other backends as well.Read More…
  • Code
    Theme Development
    Making the Perfect WordPress Theme: How to Code WellWp white 400
    In the previous part of this series; we went through various WordPress APIs that we should learn about, talked about the importance of making a theme translatable (or even better, releasing them already translated into other languages) and understood the concept of licensing themes and using licensed products with the themes. In this article, we're going to focus on code: We'll see how to code with WordPress coding standards, how to properly comment our code and how to validate and test the theme.Read More…