wp_is_site_initialized( int|WP_Site $site_id ): bool

Checks whether a site is initialized.

Description

A site is considered initialized when its database tables are present.

Parameters

$site_idint|WP_Siterequired
Site ID or object.

Return

bool True if the site is initialized, false otherwise.

Source

function wp_is_site_initialized( $site_id ) {	global $wpdb;	if ( is_object( $site_id ) ) {	$site_id = $site_id->blog_id;	}	$site_id = (int) $site_id;	/** * Filters the check for whether a site is initialized before the database is accessed. * * Returning a non-null value will effectively short-circuit the function, returning * that value instead. * * @since 5.1.0 * * @param bool|null $pre The value to return instead. Default null * to continue with the check. * @param int $site_id The site ID that is being checked. */	$pre = apply_filters( 'pre_wp_is_site_initialized', null, $site_id );	if ( null !== $pre ) {	return (bool) $pre;	}	$switch = false;	if ( get_current_blog_id() !== $site_id ) {	$switch = true;	remove_action( 'switch_blog', 'wp_switch_roles_and_user', 1 );	switch_to_blog( $site_id );	}	$suppress = $wpdb->suppress_errors();	$result = (bool) $wpdb->get_results( "DESCRIBE {$wpdb->posts}" );	$wpdb->suppress_errors( $suppress );	if ( $switch ) {	restore_current_blog();	add_action( 'switch_blog', 'wp_switch_roles_and_user', 1, 2 );	}	return $result; } 

Hooks

apply_filters( ‘pre_wp_is_site_initialized’, bool|null $pre, int $site_id )

Filters the check for whether a site is initialized before the database is accessed.

Changelog

VersionDescription
5.1.0Introduced.

User Contributed Notes

You must log in before being able to contribute a note or feedback.