Understanding the WordPress Framework

This is the second in our WordPress and Web Development series. Click here for the previous article and here for the next one .

T

o understand the framework, it’s helpful to know what it does in the process of creating a website. A website runs on a computer that has some way to identify itself to the rest of the computers on the Internet - chiefly, to computers like yours where you run a browser to connect to this and other websites. There are two major ways a computer identifies itself - via a domain name and an “IP address.” The former is something that’s easier to understand and that we are familiar with - google.com is a domain name, for example, and many of us, when creating a website, are encouraged to acquire our own domain names.

An “IP address” on the other hand is a less familiar term, though it is closer to the “true” identity of an individual computer that runs a website, than a domain name is. We will learn more in detail about what IP addresses are, when we look into setting up our own “cloud server.”

When you enter a domain name, or what you might also call a “Web address,” or a “website address”, in a browser, it generates a “request” to a “web server.” The intricacies of how this “request” is generated and propagated through the Internet are at this point not relevant to us. What we need to know is that the request terminates at the computer that is running your website, and if you have installed WordPress, the request will be passed through to WordPress.

WordPress, then, occupies a spot a few layers inside a computer. There is an operating system that manages the computer as a whole - Microsoft Windows is one popular example of such a system. Within that, there is typically software that runs a web server that is capable of receiving web request. WordPress runs as one of many applications within that web server. In fact, a typical web server might have many WordPress applications, that each are responsible for a different website, running inside it.

This process, involving many layers of software applications, like peeling back the layers of an onion, is a common feature of many parts of the Internet. It is commonly described as being representing “modularity” in the architecture of the Internet, where each layer in the Internet onion knows only about the next layer that’s right underneath it.

Once the web request is received by WordPress, it still has to decide how to interpret it - what content should be shown for each request, and how should it be displayed. So within WordPress itself, there are many layers. If you have some prior familiarity with WordPress, you might have heard of ‘themes’ and ‘plugins’ - these are some of those layers that sit inside the WordPress onion, so to speak.