Using WordPress ‘ms_load_current_site_and_network()’ PHP function

The ms_load_current_site_and_network() WordPress PHP function identifies the network and site of a requested domain and path and populates the corresponding network and site global objects as part of the multisite bootstrap process.

Usage

ms_load_current_site_and_network($domain, $path, $subdomain = false);

Parameters

  • $domain (string) – The requested domain.
  • $path (string) – The requested path.
  • $subdomain (bool) – Whether a subdomain (true) or subdirectory (false) configuration. Default is false.

More information

See WordPress Developer Resources: ms_load_current_site_and_network()
Important: This function should not be used outside of core. It was introduced in WordPress 4.6.0 and wrapped into a function to facilitate unit tests.

Examples

Basic usage

This example demonstrates how to use ms_load_current_site_and_network() function for a subdomain configuration.

// Assuming a multisite with subdomain configuration
$domain = 'subsite.example.com';
$path = '/';
$subdomain = true;

ms_load_current_site_and_network($domain, $path, $subdomain);

Basic usage for subdirectory configuration

This example demonstrates how to use ms_load_current_site_and_network() function for a subdirectory configuration.

// Assuming a multisite with subdirectory configuration
$domain = 'example.com';
$path = '/subsite/';
$subdomain = false;

ms_load_current_site_and_network($domain, $path, $subdomain);

Custom redirect on site not found

This example shows how to use ms_load_current_site_and_network() function to redirect users to a custom URL if the site is not found.

$domain = 'unknown.example.com';
$path = '/';
$subdomain = true;

$result = ms_load_current_site_and_network($domain, $path, $subdomain);

if ($result === false) {
    wp_redirect('https://example.com/site-not-found');
    exit;
}

Custom error message on site not found

This example demonstrates how to display a custom error message if the site is not found using the ms_load_current_site_and_network() function.

$domain = 'unknown.example.com';
$path = '/';
$subdomain = true;

$result = ms_load_current_site_and_network($domain, $path, $subdomain);

if ($result === false) {
    echo "The requested site was not found.";
    exit;
}

Using a filter to modify the domain

This example demonstrates how to use a filter to modify the domain before calling the ms_load_current_site_and_network() function.

$domain = 'subsite.example.com';
$path = '/';
$subdomain = true;

// Modify the domain using a custom function
$modified_domain = apply_filters('custom_domain_filter', $domain);

ms_load_current_site_and_network($modified_domain, $path, $subdomain);