The get_subdirectory_reserved_names() WordPress PHP function retrieves a list of reserved site names on a sub-directory Multisite installation.
Usage
get_subdirectory_reserved_names();
Parameters
- None
More information
See WordPress Developer Resources: get_subdirectory_reserved_names
Examples
Display the list of reserved site names
This example displays the list of reserved site names in a comma-separated format.
$reserved_names = get_subdirectory_reserved_names();
echo implode(', ', $reserved_names);
Check if a site name is reserved
This example checks if a given site name is reserved and displays a message accordingly.
$site_name = 'example';
$reserved_names = get_subdirectory_reserved_names();
if (in_array($site_name, $reserved_names)) {
echo 'The site name "' . $site_name . '" is reserved.';
} else {
echo 'The site name "' . $site_name . '" is not reserved.';
}
Allow ‘/blog’ in a Multisite network
This example modifies the list of reserved names to allow the use of ‘/blog’ in a Multisite network.
function mod_subdirectory_reserved_names($names) {
$position = array_search('blog', $names);
if ($position) {
unset($names[$position]);
}
return $names;
}
add_filter('subdirectory_reserved_names', 'mod_subdirectory_reserved_names');
Add a custom reserved site name
This example adds a custom reserved site name to the list of reserved names.
function add_custom_reserved_name($names) {
$names[] = 'my-custom-name';
return $names;
}
add_filter('subdirectory_reserved_names', 'add_custom_reserved_name');
Remove a reserved site name
This example removes a reserved site name from the list of reserved names.
function remove_reserved_name($names) {
$position = array_search('wp-json', $names);
if ($position !== false) {
unset($names[$position]);
}
return $names;
}
add_filter('subdirectory_reserved_names', 'remove_reserved_name');