wp_is_site_initialized

函数
wp_is_site_initialized ( $site_id )
参数
  • (int|WP_Site) $site_id Site ID or object.
    Required:
返回值
  • (bool) True if the site is initialized, false otherwise.
定义位置
相关方法
is_serializedwp_initialize_sitewp_not_installedwp_uninitialize_sitewp_is_writable
引入
5.1.0
弃用
-

wp_is_site_initialized: 这个函数用来检查WordPress站点是否已经被初始化。如果网站已经被初始化,则返回true,否则返回false。

检查一个站点是否被初始化。

当一个网站的数据库表存在时,它被认为是初始化了。

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;
}

常见问题

FAQs
查看更多 >