The constants of development (server and hosting environment, date modeling, etc.) don’t change. But there are a few additional things you can add to your toolkit if you want to think of (and perhaps promote) yourself as a full-stack WordPress developer.
WordPress Basics
If you’re even thinking about becoming a full-stack WordPress developer, you should already know the languages WordPress is built on. (If not, you might want to check out our other post on getting started with WordPress development here.)
Besides the obvious PHP, HTML/CSS, and now more and more jаvascript, WordPress also uses various code libraries, perhaps most notably jQuery and TinyMCE. Here’s the full list of all the third-party libraries it uses:
- Backbone.js
- Cropper
- jQuery
- jQuery.imageareaselect
- jQuery.Jcrop
- jQueryUI
- Swfupload (deprecated)
- ThickBox
- TinyMCE
Let’s take a closer look at them
jQuery is a popular jаvascript library that’s an integral part of WordPress. It’s behind many animations and user interactions, among other things. For example, as clearly shown in the list above, WordPress uses jQuery to crop images.
Backbone is a jаvascript library that developers use to structure code according to the MVC pattern. (Model, View, Controller.) Essentially, it’s about separating code according to what handles the data (Model), the visual representation of that data in HTML/CSS (View), and finally the controller, which takes input and uses it to send commands to the parts of 1 and 2.
TinyMCE is a text editor in the browser that WordPress.org uses in its admin area. Calypso, however, doesn’t use TinyMCE, but the current open-source version of .Org still ships with TinyMCE included as part of the core.
All the other libraries are smaller libraries designed for one, narrower purpose, and perhaps not worthy of as much attention as the others.
Bonus: React
Although WordPress.Com isn’t officially included in the WordPress.org package, it runs on the extremely popular jаvascript library React. They even used it to build an entirely new admin area that doesn’t use TinyMCE to create and edit content in the admin area.)
The WordPress Template Hierarchy
How to Become a Full-Stack Developer — WordPress Template Hierarchy Image
Before we look at some of WordPress’s more complex operations, let’s consider the sometimes confusing template hierarchy. When developing themes for clients, it’s important to know the template hierarchy inside and out, since you can save them hassle and effort by creating a theme that automatically applies the right templates to the right pages.
An easy way to get more familiar with the template hierarchy is to take a close look at the visual representation shown above, at wphierarchy.com. You can also read some articles that explore the template hierarchy in more detail.
WordPress File Load Order (Code Priority)
A common question many new WordPress developers have when they’re just starting out is whether the theme’s functions.php file loads before or after the plugin files. This matters when it comes to code priority, since when code dealing with the same things is loaded last, it’s the code that controls the final result.
Theme files actually load after plugins, but since you’re asked to add most functionality to your themes and plugins by hooking and executing it on the initialization hook, in most cases the priority isn’t determined by the order of the files. Instead, you can assign a priority to your function in the add_action() function.
For more information, you can check out this excellent Stack Exchange answer that explains exactly that.
WordPress Functions
WordPress functions are the foundation of many of WordPress’s capabilities. You’ll often rely almost exclusively on them when developing themes.
The funny thing about the sheer number of WordPress functions these days is that you may find yourself developing a custom function in a theme or plugin, only to realize that WordPress has already added it to core.
So, to avoid getting into that situation, besides simply strengthening your WP development skills in general, it’s important to get familiar with all the most important WordPress functions.
Important WordPress functions include:
- Everything in the Loop (get very familiar with the Loop)
- Widgets
- Menus
- Adding custom post formats
- Metadata
And much more.
To get more familiar with the functions, take a look at the function reference in the Codex or the WP Developer Handbook (the fact that it’s 99 pages long should give you some idea of how much you can do with WordPress without having to write a custom PHP function.)
WordPress APIs
API is a term that refers to code that allows one program to interact with another. In addition to the many internal APIs that help different parts of WordPress communicate and work together, WordPress recently included the REST API as part of core. The REST API allows WordPress to interact freely with websites and programs that aren’t WordPress or even written in PHP. For example, you could have a WordPress membership site, then retrieve data from and even send new information to that WordPress site using an Android or iOS app.
Key APIs for a WordPress developer to learn:
- Theme Customization API
- Theme Modification API
- REST API
Any developer should get familiar with the customization and modification APIs, since they’re necessary when developing themes. They work with the theme customizer to let the end user make changes to their website’s design without having to mess with the source code.
And the REST API is obviously important for all the reasons we’ve already covered. The API lets you build complex applications using WordPress as the foundation. So anyone calling themselves a full-stack WordPress developer should be familiar with how it works and with realistic use cases.
Conclusion
Just as becoming a full-stack developer in general requires a deep knowledge of every stage involved in delivering a website or application from server to user, a full-stack WordPress developer should have the same deep understanding of every nook and cranny of WordPress. That’s in addition to understanding the languages and libraries under the hood.
It’s a challenging question even for an experienced developer, but you can get there. However, if you’re a beginner, the day you can claim that nickname is many years away (if not decades). Still, even if you’re just starting out, we hope this post can point you in the right direction for a closer look at the building blocks of WordPress core.









