wpmu_new_site_admin_notification( int $site_id, int $user_id ): bool

Notifies the Multisite network administrator that a new site was created.

Description

Filter ‘send_new_site_email’ to disable or bypass.

Filter ‘new_site_email’ to filter the contents.

Parameters

$site_idintrequired
Site ID of the new site.
$user_idintrequired
User ID of the administrator of the new site.

Return

bool Whether the email notification was sent.

Source

function wpmu_new_site_admin_notification( $site_id, $user_id ) {	$site = get_site( $site_id );	$user = get_userdata( $user_id );	$email = get_site_option( 'admin_email' );	if ( ! $site || ! $user || ! $email ) {	return false;	}	/** * Filters whether to send an email to the Multisite network administrator when a new site is created. * * Return false to disable sending the email. * * @since 5.6.0 * * @param bool $send Whether to send the email. * @param WP_Site $site Site object of the new site. * @param WP_User $user User object of the administrator of the new site. */	if ( ! apply_filters( 'send_new_site_email', true, $site, $user ) ) {	return false;	}	$switched_locale = false;	$network_admin = get_user_by( 'email', $email );	if ( $network_admin ) {	// If the network admin email address corresponds to a user, switch to their locale.	$switched_locale = switch_to_user_locale( $network_admin->ID );	} else {	// Otherwise switch to the locale of the current site.	$switched_locale = switch_to_locale( get_locale() );	}	$subject = sprintf(	/* translators: New site notification email subject. %s: Network title. */	__( '[%s] New Site Created' ),	get_network()->site_name	);	$message = sprintf(	/* translators: New site notification email. 1: User login, 2: Site URL, 3: Site title. */	__(	'New site created by %1$s Address: %2$s Name: %3$s'	),	$user->user_login,	get_site_url( $site->id ),	get_blog_option( $site->id, 'blogname' )	);	$header = sprintf(	'From: "%1$s" <%2$s>',	_x( 'Site Admin', 'email "From" field' ),	$email	);	$new_site_email = array(	'to' => $email,	'subject' => $subject,	'message' => $message,	'headers' => $header,	);	/** * Filters the content of the email sent to the Multisite network administrator when a new site is created. * * Content should be formatted for transmission via wp_mail(). * * @since 5.6.0 * * @param array $new_site_email { * Used to build wp_mail(). * * @type string $to The email address of the recipient. * @type string $subject The subject of the email. * @type string $message The content of the email. * @type string $headers Headers. * } * @param WP_Site $site Site object of the new site. * @param WP_User $user User object of the administrator of the new site. */	$new_site_email = apply_filters( 'new_site_email', $new_site_email, $site, $user );	wp_mail(	$new_site_email['to'],	wp_specialchars_decode( $new_site_email['subject'] ),	$new_site_email['message'],	$new_site_email['headers']	);	if ( $switched_locale ) {	restore_previous_locale();	}	return true; } 

Hooks

apply_filters( ‘new_site_email’, array $new_site_email, WP_Site $site, WP_User $user )

Filters the content of the email sent to the Multisite network administrator when a new site is created.

apply_filters( ‘send_new_site_email’, bool $send, WP_Site $site, WP_User $user )

Filters whether to send an email to the Multisite network administrator when a new site is created.

Changelog

VersionDescription
5.6.0Introduced.

User Contributed Notes

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