WordPress Guides

What is WordPress Core? WordPress Core Explained

The term "WordPress core" encompasses all the foundational files that a WordPress website requires to work. In this article, we're going to take a look in detail at the core of WordPress. By the end, you'll know exactly what WordPress core means, what it does, how you can contribute to WordPress, and a lot more.

Avatar photo
SolidWP Editorial Team

The term “WordPress core” encompasses all the foundational files that a WordPress website requires to work. In this article, we’re going to take a look in detail at the core of WordPress. By the end, you’ll know exactly what WordPress core means, what it does, how you can contribute to WordPress, and a lot more.

Now, let’s dive in.

As you’re probably already aware, WordPress as a content management system is pretty easy to use on the surface. Almost anyone with a basic understanding of websites can design and run a successful WordPress site. What makes WordPress so popular is that you can do this without needing to know what’s going on behind the scenes.

At some point, however, you’ll probably want to have a better understanding about the core files that run your website.

Knowing what’s going on under the hood of your WordPress website can help you do things like troubleshoot errors and issues beyond what you can do in the WordPress admin dashboard.

Once you’re more familiar with WordPress core files, where you can find them, and what they each do, you’ll open a new world of development opportunities for your site. You will also learn how to quickly troubleshoot your own site issues, and eventually be able to install a few custom features just like a pro.

The Four Parts of a WordPress Website

Before we jump in, let’s cover some basics. Every website that runs on WordPress consists of four distinct parts.

If you want to successfully work with WordPress, it’s important to understand the four basic components of all WordPress websites:

  1. WordPress core files
  2. The WordPress database
  3. WordPress theme files
  4. WordPress plugin files

What is WordPress Core? WordPress Core Explained

WordPress core is a way of referring to all the “foundational” files that are required for WordPress to work. WordPress core is what you download from WordPress.org in the form of a zip file.

Core WordPress files allow you to do things like:

  • Access the WordPress admin dashboard
  • Add and edit posts and pages
  • Manage users
  • Upload media files
  • Delete content
  • Add tags and categories
  • Embed videos
  • Allow users to reply and comment
  • … and a lot more

If you want to see exactly what the core of WordPress is, all you need to do is remove all themes and plugins from your WordPress dashboard. You now have only the core.

When you strip your website back to only the core of WordPress, the first thing you’ll notice is that you can’t build or view your website with only the core files installed. You need a WordPress theme activated in order to start creating a site for public consumption.

That’s why when you first install WordPress, you’ll notice that it automatically includes a few generic themes that you can start working with to make your site visible. But the standard themes included in a WordPress install aren’t technically a part of its core.

Without the help from a theme or plugin, the core of WordPress carries out all of these functions on its own. However, it doesn’t do everything you need it to do to build your website. Beyond WordPress core, you’ll need themes and plugins to create your website.

WordPress core

WordPress Core Files

Two of the most important core WordPress files include:

  • wp-config.php – This file controls all the basic settings of your WordPress website, including your database connection information.
  • functions.php – This file is one of the most important operating files of WordPress. Important note: Your theme also has a functions.php file, and that’s the file you need to edit, not the core file contained in the base directory of your website.

The top-level core WordPress folder has a lot of other files that are very important to the way your site works. For the purposes of practicality, most of your troubleshooting time (if any) will be spent in the .htaccess and wp-config.php files.

There are also two important folders in WordPress core:

  • wp-content – This folder contains your plugins, themes and media uploads.
  • wp-admin – This folder contains all the files that power the WordPress admin dashboard.

Don’t worry if these names sound like Greek to you right now. We’ll discuss each one in more detail in a bit.

A strong warning: We don’t recommend making changes to core WordPress files for two reasons:
  1. Any update to WordPress will overwrite your changes. WordPress core files are designed to work without much customization.
  2. There are better ways to make changes to core WordPress functionality, usually with the files contained in plugins or themes.

If you do proceed to edit core files in WordPress, always avoid changing any of the code unless you have a thorough understanding of exactly what you’re doing. Be sure to make a backup of your website with a WordPress backup plugin like BackupBuddy before making any changes to WordPress core files.

A Look Inside the WordPress Core Zip File

To get a look inside the WordPress core file, you simply need to expand the zip file on your computer. When you expand the WordPress zip file you downloaded earlier from WordPress.org, you’ll see this file listing:

WordPress core files list

These important WordPress core files are included with every installation of WordPress and are found in the main (top) directory once they are installed on your server.

How to Access the WordPress Core Files of Your Website

To access the backend core WordPress files of your website, you’ll need to download and install an sFTP client such as FileZilla (completely free and works perfectly on all operating systems). This will allow you to directly access the WordPress files.

You’ll then need to connect to your website’s server via the FTP client with the credentials you were given by your website host. If you aren’t familiar with what your credentials are, talk to your hosting provider.

You can also use the File Manager provided by your WordPress host. The most common file manager platform is cPanel.

The wp-config.php File

The wp-config.php file provides the base configuration details for your WordPress website.

The wp-config.php file contains necessary information to make your WordPress website operate, including MySQL database connection settings, WordPress salts & keys, WordPress database table prefix, WordPress language and ABSPATH (the absolute path to the WordPress directory).

WordPress wp-config.php file

The functions.php File

The WordPress functions.php file is an extremely important core WordPress file that’s contained in the wp-includes directory.

Additionally, the theme you’ve chosen for your site also has a functions.php file. This file allows you to add features and functions to your website that are dependent on your theme.

WordPress functions.php file

It’s important to note that your theme’s function.php file works independently from its namesake inside /wp-includes. The functions applied to the functions.php file in your theme’s file structure will only remain live while you’re using that particular theme.

You can think of functions.php like a plugin you might download and install on your site. With the functions.php file you can add customized functions (makes sense, right?) to your website by developing your own. Of course, you’ll have to understand PHP first. You can also use this file to call on predefined functions that you want to apply to your site.

WordPress wp-admin Folder

The majority of files that power the WordPress dashboard live within the wp-admin folder. A glance through the files inside the wp-admin folder will reveal a different file for nearly all core WordPress features.

wp-admin folder

Admin.php

What we’re interested in right now is the file called admin.php. This is the file at the very root of your /wp-admin folder. It works to enable a large number of your website’s most crucial features, including:

  • Loading the WordPress dashboard
  • Connection to your database

In addition, the admin.php file checks user credentials and applies their permissions accordingly.

Some other noteworthy core files within the directory include:

  • users.php (controls user administration panels
  • update.php (explains itself)
  • network.php (oversees multisite functionalities)

WordPress wp-content Folder

The wp-content folder, for the most part, houses the plugin and theme files related to your site. It doesn’t house anything that’s tied directly to the core of WordPress. Because of this, we’re going to focus on the wp-includes folder in this article.

wp-content folder

WordPress wp-includes Folder

Think of your wp-includes folder as the one that’s storing all of “the rest” of the files that power your WordPress site. In other words, as wp-admin is working to govern your administration tools, the wp-includes folder is the one making everything possible.

wp-includes folder

When you open the wp-includes directory, you’ll immediately notice how large it is. In fact, there are well over 100 individual files in the folder’s top level. Obviously, we can’t cover every one of these here.

Once you’re more familiar with WordPress core files, where you can find them, and what they each do, you’ll open a new world of development opportunities for your site. You will also learn how to quickly troubleshoot your own site issues, and eventually be able to install a few custom features just like a pro.

Note: After seeing how many files support your WordPress installation, no doubt you see many areas that could be potential security risks. To protect your site at all times, a WordPress security plugin is an absolute must-have.

Components of a WordPress Website Not Included in WordPress Core

Now that we’ve covered WordPress core files, let’s go over what isn’t included in the WordPress core files.

  • The WordPress database – The WordPress database stores most of the content of your WordPress site.
  • The .htaccess file – This file is usually hidden, so you need to enable the Show Hidden File option to access it. Just note that some hosts no longer support this file.
  • WordPress theme files – Your WordPress theme files are separate from WordPress core.
  • WordPress plugin files – WordPress plugin files also are separate from core.

The WordPress Database

The WordPress database provides another foundation of your WordPress website, but it’s separate from the WordPress core files. You’ll need to set up a database on your server (usually through your WordPress host) in order to install WordPress.

Without a database, your WordPress website simply couldn’t function. The WordPress database powers your website to load and run, plus stores and saves the content of your blog, such as posts and comments, plus the changes that you (or even your visitors) make. Essentially, a WordPress website is essentially “a pretty face on a database.”

The WordPress database is a MySQL database that stores your website’s data into tables, rows and columns. The WordPress database is dynamic, which means you can add, modify and delete information contained within it (provided that you have administrative access).

Generally speaking, every WordPress site consists of a lot of different data types. All of this data has to be stored somewhere. That is where the WordPress database comes into play.

The database concept is not unique to the WordPress platform. A database can be simple or complex. It can be small or large. But what all databases have in common is that they store information in a way that’s fast and simple to access.

Some examples of the different types of data that is stored in the WordPress database include:

  • Pages, posts and additional content
  • Tags, categories and other organizational information
  • User comments and profile data
  • Theme and plugin-related data
  • Full-site settings

It’s easy to see how nearly everything that comprises your website is stored in the WordPress database. This alone is a good reason to learn more about how the WordPress database works. To learn more, check out this guide: The WordPress Database Explained.

wordpress database explained

The .htaccess File

.htaccess stands for “hypertext access.” The .htaccess file controls access to files and folders. This file also controls the structure of your permalinks. This is a file that you’ll probably access quite often, so it’s a good one to get familiar with.

Just note that not all hosts support the .htaccess file.

what is .htaccess file?

WordPress Themes

There are literally thousands of free and premium themes that you can download from the WordPress depository and throughout independent sites on the internet. The primary (although not only) purpose of a WordPress theme is to set the overall style and design of your website or blog.

Each theme has specific instructions built into its code that sets the parameters of how your website will look, including such basic design variables as the:

  • Layout of the site
  • Background color
  • Size of images
  • Typeface size, color, weight and style
wordpress themes guide

These variables help define your theme and the aesthetics of your website. But that’s not where the theme you choose stops working for you. Many more theme-specific features, such as how you build your home page, how your site interacts with social media, and site ecommerce functionality can also be built into themes.

WordPress Plugins

Think of WordPress plugins like the apps on your smartphone. A WordPress plugin is a software program that you download and install in your WordPress dashboard that adds to the default functionalities of WordPress.

At present, there are a reported 60,000+ WordPress plugins available on the WordPress repository and throughout other plugin developer sites.

wordpress plugins

In truth, there are probably a lot more than 60,000 plugins on the market. This number reflects the plugins that are currently updated by their developers to the current version of WordPress core (version 5.4.1).

Keep in mind, however, that not every available plugin performs a unique function. The vast majority of plugins have competitors, featuring plugins that do similar functions in different ways.

One example of a function a plugin might perform is backing up your website. You can download and install a WordPress backup plugin like BackupBuddy to help you create backed-up versions of your site in case it crashes or is compromised by a security breach.

We may be a bit biased on this, but we definitely believe BackupBuddy does the “different” better than other plugins. With the importance of regularly backing up your site (more on that later), having a powerful plugin that easily creates backups can be a lifesaver down the road.

Plugins Sometimes Become Part of WordPress Core

What’s interesting about plugins is that once in a while, a plugin gains a huge amount of popularity and millions of installs from WordPress developers. When this happens, there’s often a push to have that plugin added as part of a standard WordPress install.

What this actually means is that the plugin will become part of the core of WordPress. And that’s exactly how the core evolves.

The Gutenberg block editor is an excellent example of this. When the Gutenberg block editor was introduced into the 5.0 version of WordPress as a stand-alone plugin, it quickly became extremely popular as a new way for WordPress developers to build their pages and posts.

Because of the overwhelming popularity of the plugin, WordPress decided to add the Gutenberg blocks functionality directly to WordPress core in the 5.0 version release.

How To Download and Install WordPress Core

You have two different options to download and install WordPress.

  1. The longer, more customized way of how to download WordPress manually allows you to tailor the installation to the exact needs of your site before you ever start designing it.
  2. The second option to download and install WordPress is a one-click option that most WordPress hosts provide for free. This option is the easier of the two but, in some cases, leaves you with additional work down the road.

For the customized download and install option, you’ll first need to have:

  • Access to a server. Without one, there’s no way to host your site
  • A text editor such as Atom or Coda
  • An FTP client (FileZilla works great)

Now it’s time to run the download and install.

1. Download the Main WordPress zip File

The first thing to do is download WordPress from WordPress.org/download. When you click to download the latest version, it will be saved to your device as a .zip file.

Download WordPress

2. Create a Database and User

Depending on your WordPress host, you may not need to do this step. If you do in fact need to manually create a database and user, you’ll need to know the type of control panel your web host runs. It will likely be either cPanel or Plesk. Hosts such as GoDaddy use cPanel, for example.

Take a minute to check out these in-depth instructions for How do I create a WordPress database? or check with your host for instructions.

Create WordPress Database

Once you’re equipped with this information, create your database and user by following these steps. Then click back over here because you’ll have to modify the core files in WordPress before proceeding any further.

3. Setting Up wp-config.php

Locate the downloaded WordPress files that are now on your device. Navigate to the file called wp-config-sample.php and rename it to wp-config.php before moving on.

After you’ve renamed the file, open it in your text editor and find the following line:

// ** MySQL settings - You can get this info from your web host ** //

Beneath that link, you’ll find a settings list. The ones you’ll need to customize using the credentials you defined in step two are:

  • DB_NAME (your database’s name)
  • DB_USER (the username you set up for yourself)
  • DB_PASSWORD (self explanatory)
  • DB_HOST (usually localhost)

Leave DB_COLLATE and DB_CHARSET unchanged.

After this is complete, find the section that says * Authentication Unique Keys and Salts.

This is where you’ll paste in a secret set of keys that you’ll need to generate. The secret keys will work to harden and secure your installation of WordPress.

Once this step is complete, save all changes and prepare to upload your files.

4. Use FTP To Upload WordPress Files

You’re now ready to install WordPress on your chosen server. Before you can do this, you’ll need to know what your individual FTP credentials are. You can typically find your credentials within your host’s control panel.

Next, open up FileZilla and log into the server. Within the right-hand panel in FileZilla, navigate to the root directory. It’ll normally be called public_html or www.

After you’ve opened the root directory in the right-hand panel of FileZilla, find the WordPress folder on your computer in the left-hand panel. If you’re uploading directly to the root directory, upload all files except the WordPress folder.

If you’re uploading to a sub-directory, first rename the folder containing the core WordPress files. Make the name unique. Then upload the entire folder and all of its contents onto the server by dragging it over to your sub-directory in the right-hand panel.

5. Running the WordPress Installer

Your last step is running the installer for WordPress. To do this, open your browser of choice and carry out one of the following two steps, depending on where you chose to install WordPress:

  • Installed in root directory: http://examplesite.com/wp-admin/install.php
  • Installed in subdirectory: http://examplesite.com/blogname/wp-admin/install.php

Of course, replace “examplesite.com” with your site’s URL.

“Blogname” is the name of the folder you created in step four.

Upon navigating to one of those two URLs, you should immediately see the famous WordPress logo, along with a screen of various settings that can vary from host to host.

Most of the settings you’ll find on this screen can be changed later on in your dashboard’s General Settings screen. But it’s important to, at minimum, make note of your username and password before you go any further.

Lastly, simply click on “Install WordPress” and watch your install complete.

You can now login to your new WordPress site and start looking for a theme to build around.

Remember, if you want to download and install core WordPress with a one-click option, check what your host offers.

WordPress Version Number

The WordPress platform is, in and of itself, a software program. The parts are versions of software that you’ll need to run updates on from time to time, in order to build your site.

That’s why WordPress has a version number. WordPress regularly receives updates, both as major WordPress version releases and smaller point releases, at regular development intervals. Version updates include everything from feature additions and enhancements to bug fixes and security patches.

You can view the latest version number of WordPress core when you download WordPress (listed on the download button) and on the official WordPress releases page.

You can also see the version of WordPress from your WordPress admin dashboard on the Dashboard > Updates page.

WordPress Core Updates: How to Update WordPress Core

WordPress often sends out updates to its core to deal with new security threats and issues with functionality. WordPress core updates often include exciting feature additions and enhancements, too.

So when it comes to your website, it’s important to know how to update WordPress.

We strongly recommend updating to the latest version of WordPress as soon as possible as a WordPress security best practice. Why? Running outdated versions of WordPress core, plugins and themes is the #1 reasons WordPress sites get hacked.

You can update WordPress and its core files using a one-click update option within your WordPress dashboard. When there’s a new version of WordPress available, you’ll typically see a “new version” banner link at the top of your admin area.

Update WordPress

Just click on the Update Now button and run the update of WordPress.

If you don’t see a banner, navigate in your dashboard to the Updates menu. When you find the “Update WordPress” page, click “Update Now” and the process will start running.

Once the process finishes, your site will be running the new core WordPress version.

Note: To save time running WordPress core updates, a tool like iThemes Sync can help. From the iThemes Sync dashboard, you can run WordPress updates for multiple websites with one click.

How Do I Restore a Core WordPress File?

The quickest, smartest and easiest way to restore core files is by using a plugin such as BackupBuddy. When you use a plugin like this, core WordPress files can be restored from backup versions saved prior to when the file was corrupted. See more on how to restore WordPress version and individual files with BackupBuddy.

If you’d rather restore files manually, you’ll still need to make sure you’ve saved a backup version of your site before beginning.

To upload and restore core files, you can use FTP or your File Manager. Locate the files you’d like to restore from within the directory of your backup version.

If you’re using FTP, you’ll be able to upload your chosen files without needing to zip them. We discussed how to transfer files via FTP earlier in the article.

If you’re using File Manager, the files you upload will need to be the .zip version.

Follow these steps if you’re using the File Manager:

1. Upload your backup files to the proper directory in the core of WordPress.

2. After the upload is done, go to that folder and click the button saying “reload.”

3. Click the .zip file and click “extract.”

4. Refresh to see your files.

5. Select all and move them to public_html (the site’s root).

Finally, remove the index.html file by either deleting it or changing its extension to a name that web browsers won’t render.

Head to your site URL and refresh it. If you restored the files properly, your site will be back up and running.

How Do I Contribute To WordPress Core?

If you’re a developer, you may be interested in contributing to WordPress. By doing so, you’d be one of the individuals who built the platform that every WordPress user installs on their sites and servers.

The WordPress platform consists of a wide array of developers that use various tools to improve the way the platform operates. Some of the tools these developers use include:

  • Javascript
  • PHP
  • MySQL
  • And more

But improving code isn’t the only improvement that these developers make. They also improve WordPress core by releasing updates, fixing bugs, testing new patches, reporting vulnerabilities in security and a ton more.

If you’re interested in getting involved as a developer in contributing to core development, check out the Make WordPress Core page and get started. If you end up stuck on a project, you can use the WordPress handbook (located on the same page) for quick reference.

You will want to follow current core development updates on the WordPress developer page. Developers who want to stay in the loop of what is going on within the core of WordPress will find a lot of key information there.

If you’re interested in becoming a beta tester for WordPress core, download and install the WordPress Beta Tester plugin.

This plugin gives you a simple way to become part of the WordPress beta testing community. Once you’ve installed the plugin, you’ll be able to upgrade your site to the latest WordPress beta release and start providing feedback to the community.

What is WordPress Core? Now You Know

If you’ve come this far in the article, we hope you now have a thorough understanding of WordPress core. Do you have any additional questions not covered here? Let us know in the comments below.

Get SolidWP tips direct in your inbox

Sign up

This field is for validation purposes and should be left unchanged.
Placeholder text
Placeholder text
Thanks

Oops something went wrong, please try submitting again

Get started with confidence — risk free, guaranteed

Did you like this article? Spread the word: