If you’re new to WordPress or migrating from a static website, you might be curious about how it works.
WordPress is a content management system, sometimes known as a CMS. It functions by integrating certain basic files, a database, files that you add or install, and a dashboard that allows you to control everything.
In this post, I’ll explain how WordPress works and what it implies for your new WordPress website.
What exactly is WordPress?
WordPress is a content management system and website builder. It is free and open-source software that anybody may use to create any type of website they like.
It began as a blogging platform in 2003, but quickly evolved into a CMS and, subsequently, a full-fledged website building tool. It now powers more than 38% of all websites on the internet.
Why Should You Understand How WordPress Works?
Because WordPress is open-source software, anybody may study its code and create their own programs (plugins) and templates (themes) for it.
Understanding how WordPress works and what happens behind the scenes will help you grasp what you can accomplish with it. You may learn how to improve the speed of WordPress and create better code for your own projects.
This tutorial will take you to step by step through the entire procedure. We will begin when a user requests a page and finish when that page has completely loaded.
Ready? Let’s get this party started.
How WordPress Works Step-by-Step
1. Open the wp-config.php file.
The WordPress configuration file is wp-config.php. It holds your WordPress database information as well as global variables for a WordPress site. For obvious reasons, this is the first file WordPress loads. Find out more about the wp-config.php file and how to modify it.
2. Configure Default Constants
WordPress will proceed to set default constants after loading the wp-config.php file. This contains information such as the default WordPress upload location, file size limits, and other default constants defined in the wp-config.php file.
3. Open the advanced-cache.php file.
If the advanced-cache.php file is present on your site, WordPress will load it next. This file is utilised as a drop-in file by numerous popular plugins, most notably WordPress caching plugins. If your site is using this file, you will see a new item named Drop-ins on the plugins panel.
4. Open the wp-content/db.php file.
WordPress allows developers to construct their own database abstraction layers and put them into the wp-content folder through a db.php file. WordPress caching plugins frequently use it to enhance database speed. If this file is present on your website, WordPress will load it.
5. Connect to MySQL and choose a database
WordPress now has enough information to move forward. It will then connect to the MySQL server and choose a database.
If WordPress is unable to connect to the database, the “Message establishing database connection” error will appear, and WordPress will exit.
If all goes well, the programme will proceed to the next stage.
6. Open the file object-cache.php or wp-includes/cache.php.
WordPress will now seek for the file object-cache.php. If it does not exist, WordPress will load the wp-includes/cache.php file.
7. Navigate to wp-content/sunrise.php. File
If the network is multisite, WordPress will now seek for the sunrise.php file in the wp-content folder.
8. Load the Localization Library.
The l10n.php library in the wp-includes folder will now be loaded by WordPress. This file loads the WordPress localization system, translations, and locales, among other things. See our guide on using WordPress in different languages for more information.
9. Install Multisite Plugins
If the network is multisite, WordPress will now load the multisite plugins. Learn more about plugins and how they operate on a WordPress multisite network.
10. Execute Action ‘mupplugins loaded’
WordPress is now in charge of the operation muplugins loaded. On a WordPress multisite, this action is only available to network enabled plugins.
11. Install Active Plugins
WordPress will now load all of the site’s active plugins. It accomplishes so by inspecting the active plugins entry in your WordPress database’s options table. This tells WordPress to ignore plugins that are installed but not active on your site.
12. Open the pluggable.php file.
The pluggable.php file includes functions that WordPress plugins can modify. WordPress will now check to see whether the functions described in this file have already been defined by another plugin. If not, it will define those functions itself.
13. Execute Action ‘plugins loaded’
WordPress will now execute the ‘plugins loaded’ action. It enables developers to trigger their functionalities after all current plugins have been loaded.
14. Load Rewrite Rules
The rewriting rules will now be loaded by WordPress. These rewriting rules assist WordPress in using SEO-friendly URLs.
15. Create an instance of $wp query, $wp rewrite, and $wp redirect
WordPress now loads the following objects:
- $wp query: The global instance containing the WP Query class. In a normal WordPress query syntax, it tells WordPress what material is sought.
- $wp rewrite: A global instance containing your WP Rewrite class. It includes your rewrite rules and functions, which instruct WordPress on which URL to use to display the requested content.
- $wp: A global instance of the WP class that contains methods for parsing your request and running the main query.
16. Execute Action’setup theme’
WordPress will now do the ‘setup theme’ operation. This operation is executed prior to the loading of your WordPress theme.
17. Load the functions.php file from the Child Theme.
The functions.php file serves as a plugin in WordPress themes, allowing you to add theme-specific functionality to your website. If you are using a child theme, WordPress will now load the functions.php file from your child theme.
Otherwise, it will proceed to load the functions.php file from your currently active theme.
18. Open the Parent Theme’s functions.php file.
If you’re using a child theme, WordPress will now load the functions.php file from your parent theme.
19. Execute Action ‘after setup theme’
This operation is executed after WordPress has configured the theme and loaded theme functionality. It is the first action that themes have access to.
20. Configure the Current User Object
WordPress loads the current user object at this moment. It enables WordPress to handle the request based on the user’s role and capabilities.
21. Execute Action ‘init’
So far, WordPress has loaded all of the critical information it need. It now executes the ‘init’ operation.
This action enables developers to add code that must be performed after WordPress has loaded all previously stated data.
22. Execute Action ‘widget init’
The widget init action enables developers to register widgets and run any code that is required at this time.
23. Execute wp ()
WordPress now uses the wp() function, which may be found in the wp-includes/functions.php file. It initialises the WordPress query globals $wp, $wp query, and $wp the query before calling $wp->main.
24. Request to Parse
WordPress now has all of the information it requires to process the user request. It begins by comparing the rewriting rules to the user’s request.
The query variable filters, request action hook, and header request are then executed.
25. Execute Query
If no content matches the query, WordPress will set the is 404 variable to true.
If not, WordPress will proceed to load query variables.
Then it will execute WP Query->get posts ().
It then executes the DO ACTION REF ARRAY ‘pre get posts’ action using the WP Query object.
Apply filters will now be executed by WordPress to tidy up the query and perform some last tests.
It now retrieves posts from the database and filters them using the posts results and the posts filters.
WordPress returns the posts at the conclusion of the query section.
26. Execute Action ‘template redirect’
The template redirect action will now be executed by WordPress. This hook is activated immediately before WordPress decides which template page to load.
27. Template for Load Feed
WordPress loads the feed template if the requested content is an RSS feed.
28. Loading the Template
Based on the WordPress template hierarchy, WordPress will now seek for the template file. The template is subsequently loaded, which generally includes a WordPress loop.
29. Carry out Action’shutdown’
WordPress executes the shutdown action just before the conclusion of all PHP execution.
WordPress has stopped operating at this point. It executed the code and created the desired web page for the user.
Isn’t it amazing? All of this happens in milliseconds. If you choose one of the top WordPress hosting providers, your page should load in a matter of seconds.
We hope this post has given you a better understanding of how WordPress operates behind the scenes. You might also be interested in our step-by-step tutorial on how to improve WordPress speed and performance for beginners.