by EdisonTKP
Posted on July 1, 2021 at 12:00 PM
To understand what and how we can develop for WordPress, we’ll start by taking a quick look at how WordPress works. It has three major components: the core, themes, and plugins. The core code contains all the default functionality that makes up the WordPress content management system. This includes everything from the admin backend to functions like scheduling posts, password strength checking, allowing the creation of users, and so on. While the core is responsible for the backend of a website and how it operates, themes are responsible for the front-end and how websites look and feel. We use the WordPress admin to create posts, pages, and other site content, but exactly how our posts and pages are displayed to visitors is up to the theme. This gives you considerable power over your website. You might want to install and activate pre-built themes or break out of the box completely and go your own way with custom designs. The simplest way to describe plugins is that they provide additional functionality to WordPress. To make this happen, a plugin may modify the backend and/or the front-end of a website. A plugin that adds a Tweet button for Twitter is a good example. It would probably create a new settings page in the backend admin menu where you could set up some default options for a user’s tweet and it would also add itself to the front-end of a website, most likely displaying under a post.
As far as WordPress development goes, you can develop any of the three major components above in addition to standalone applications with the help of the new REST API, but more on that in a moment. Regardless of what it is you want to do with WordPress, I would recommend following a set path in your studies. The following list will help you familiarize yourself with the systems you need to know before learning more about your area of choice:
Learning how themes work and how to develop them will allow you to create websites and craft single-page sites, content-heavy dynamic websites, and everything between. It will also allow you to get better/more client work (if that’s what you’re interested in pursuing) or even go into the theme sale business. There are many successful theme authors on marketplaces like Themeforest and Mojo Marketplace, among others. At the time of writing this, the most popular theme on Themeforest sold 1,377 last week – that’s more than $81,000 in just one week! That’s a lot of money if you can develop the perfect theme. While not all theme developers make quite that much money, and you may not become a multi-millionaire overnight building themes, you can still make a nice living from themes if you do things right. If you want to see some great examples of themes, take a look at the marketplaces I mentioned above, or check out the WordPress Theme Directory where everything is free. Many first-time theme developers also release their work to the directory.
In a way, plugins are the lifeblood of WordPress, transforming it into everything from a forum to a social network, eCommerce platforms, and much more with the push of a button. Plugins give you total control over all aspects of the WordPress system, allowing you to modify anything you want. This can be a huge help in making WordPress white label for clients, adding that one little function you always need; making WordPress your own. Plugin marketplaces also exist and are generally owned by some of the same companies that also run theme marketplaces. CodeCanyon is by far the largest with more than 4,000 plugins available to purchase. Sales tend to be lower than with themes, but if you find the right niche it can still be very profitable. WordPress also has a free Plugin Directory with more than 40,000 plugins. It’s a great source of tools, inspiration, and examples of great code (and also bad code, regrettably).
Using the REST API will come a bit later in your career when you have mastered themes and plugin development, though theoretically, you may be able to utilize it if you know another language pretty well, like Java or Ruby. The REST API is relatively new and allows you to create true applications based on WordPress. This includes iPhone and Android apps and all sorts of crazy things like TV apps even, if you know some other programming languages. The best way to explain this feature is to compare it to something like Twitter or Instagram. No doubt you’ve seen someone’s Twitter feed displayed on their website. To add this feature to your own site, you don’t need to know how Twitter’s core code works, all you need is a bit of code that says: please retrieve my latest five tweets. Twitter handles the actual retrieval, spitting back the data of the five tweets you asked for. You can then use HTML and CSS to display that data. This is exactly what the REST API does for WordPress. You can connect to any website and ask it for your latest five posts. But you can do a lot more than that: you can delete users, create users, edit categories, and more (which you need to authenticate yourself, of course). This means you can use WordPress as a repository of information and build the front-end and/or the backend using a different system altogether.
WordPress is developed by a community of thousands of volunteers around the world. A total of 471 people worked on WordPress 4.4, and many more people work on other aspects of WordPress, from translations and mobile applications to accessibility and support. In fact, you could get involved right now. While you need to have quite a bit of experience to contribute code to WordPress core, you could get started identifying bugs, verifying them, and submitting ideas at any time using the WordPress Trac, the place to follow along with the development of WordPress core code. If you’ve found a bug you can actually attach the code that gets rid of it. After a fair amount of review and vetting, your code will be used if everything checks out. This is the best way to get involved in contributing to core development.