wordpress source code analysis(1)

The first php file loaded when you access a WordPress site is index.php under the root directory of the site. It is a very simple file with only 2 lines of codes:

define('WP_USE_THEMES', true);

/** Loads the WordPress Environment and Template */
require( dirname( __FILE__ ) . '/wp-blog-header.php' );

The included wp-blog-header.php is also simple:

$wp_did_header = true;

require_once( dirname(__FILE__) . '/wp-load.php' );

wp();

require_once( ABSPATH . WPINC . '/template-loader.php' );

 

Basically, wp-blog-header.php loads wp-config.php.  wp-config.php defines some constants such as the wordpress database information(user, password, etc., you input the correct information in this file to install WordPress). wp-config.php also loads wp-settings.php.  Things get complicated in wp-settings.php as it loads a number of files.

The first two files wp-settings.php loads are wp-includes/load.php and wp-includes/default-constants.php, which define some functions that are called later in wp-settings.php. One of the functions that is called immediately after files loaded is wp_initial_constants. By looking into this function, we can get the anwser to the often asked question: how much memory does a WordPress site use? It is determnined by the constant WP_MEMORY_LIMIT set here(default 40M). Specifically, WordPress uses 40M memory, and if the memory_limit setting  in php.ini is less than 40M, memory_limit will be set to 40M too. So if a VPS marchant induces you to buy their 2G memory VPS by telling you that your WordPress site only runs under that much memory,  ignore it now. Another important function called in wp-settings.php is require_wp_db(defined in wp-includes/load.php) which news a db class for database operations.

Some important functions like add_filter which is often used by WordPress plugin developers are also introduced in  wp-settings.php by including corresponding files(such as wp-includes/plugin.php).

We will talk more about wp-settings.php in the next chapter.

 

 

Did you like this?
Tip admin with Cryptocurrency

Donate Bitcoin to admin

Scan to Donate Bitcoin to admin
Scan the QR code or copy the address below into your wallet to send some bitcoin:

Donate Bitcoin Cash to admin

Scan to Donate Bitcoin Cash to admin
Scan the QR code or copy the address below into your wallet to send bitcoin:

Donate Ethereum to admin

Scan to Donate Ethereum to admin
Scan the QR code or copy the address below into your wallet to send some Ether:

Donate Litecoin to admin

Scan to Donate Litecoin to admin
Scan the QR code or copy the address below into your wallet to send some Litecoin:

Donate Monero to admin

Scan to Donate Monero to admin
Scan the QR code or copy the address below into your wallet to send some Monero:

Donate ZCash to admin

Scan to Donate ZCash to admin
Scan the QR code or copy the address below into your wallet to send some ZCash:

Leave a Reply