WP_Importer::set_blog( int $blog_id ): int|void

In this article

Parameters

$blog_idintrequired

Return

int|void

Source

public function set_blog( $blog_id ) {
	if ( is_numeric( $blog_id ) ) {
		$blog_id = (int) $blog_id;
	} else {
		$blog   = 'http://' . preg_replace( '#^https?://#', '', $blog_id );
		$parsed = parse_url( $blog );
		if ( ! $parsed || empty( $parsed['host'] ) ) {
			fwrite( STDERR, "Error: can not determine blog_id from $blog_id\n" );
			exit;
		}
		if ( empty( $parsed['path'] ) ) {
			$parsed['path'] = '/';
		}
		$blogs = get_sites(
			array(
				'domain' => $parsed['host'],
				'number' => 1,
				'path'   => $parsed['path'],
			)
		);
		if ( ! $blogs ) {
			fwrite( STDERR, "Error: Could not find blog\n" );
			exit;
		}
		$blog    = array_shift( $blogs );
		$blog_id = (int) $blog->blog_id;
	}

	if ( function_exists( 'is_multisite' ) ) {
		if ( is_multisite() ) {
			switch_to_blog( $blog_id );
		}
	}

	return $blog_id;
}

User Contributed Notes

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