A WordPress-centric search engine for devs and theme authors



wpmu_signup_blog_notification ›

Since3.0.0
Deprecatedn/a
wpmu_signup_blog_notification ( $domain, $path, $title, $user_login, $user_email, $key, $meta = array() )
Parameters: (7)
  • (string) $domain The new blog domain.
    Required: Yes
  • (string) $path The new blog path.
    Required: Yes
  • (string) $title The site title.
    Required: Yes
  • (string) $user_login The user's login name.
    Required: Yes
  • (string) $user_email The user's email address.
    Required: Yes
  • (string) $key The activation key created in wpmu_signup_blog()
    Required: Yes
  • (array) $meta Optional. Signup meta data. By default, contains the requested privacy setting and lang_id.
    Required: No
    Default: array()
Returns:
  • (bool)
Defined at:
Codex:
Change Log:
  • MU

Send a confirmation request email to a user when they sign up for a new site. The new site will not become active until the confirmation link is clicked.

This is the notification function used when site registration is enabled.

Filter {@see 'wpmu_signup_blog_notification'} to bypass this function or replace it with your own notification behavior.

Filter {@see 'wpmu_signup_blog_notification_email'} and {@see 'wpmu_signup_blog_notification_subject'} to change the content and subject line of the email sent to newly registered users.



Source

function wpmu_signup_blog_notification( $domain, $path, $title, $user_login, $user_email, $key, $meta = array() ) {
	/**
	 * Filters whether to bypass the new site email notification.
	 *
	 * @since MU (3.0.0)
	 *
	 * @param string|bool $domain     Site domain.
	 * @param string      $path       Site path.
	 * @param string      $title      Site title.
	 * @param string      $user_login User login name.
	 * @param string      $user_email User email address.
	 * @param string      $key        Activation key created in wpmu_signup_blog().
	 * @param array       $meta       Signup meta data. By default, contains the requested privacy setting and lang_id.
	 */
	if ( ! apply_filters( 'wpmu_signup_blog_notification', $domain, $path, $title, $user_login, $user_email, $key, $meta ) ) {
		return false;
	}

	// Send email with activation link.
	if ( ! is_subdomain_install() || get_current_network_id() != 1 ) {
		$activate_url = network_site_url( "wp-activate.php?key=$key" );
	} else {
		$activate_url = "http://{$domain}{$path}wp-activate.php?key=$key"; // @todo use *_url() API
	}

	$activate_url = esc_url( $activate_url );
	$admin_email  = get_site_option( 'admin_email' );
	if ( $admin_email == '' ) {
		$admin_email = 'support@' . $_SERVER['SERVER_NAME'];
	}
	$from_name       = get_site_option( 'site_name' ) == '' ? 'WordPress' : esc_html( get_site_option( 'site_name' ) );
	$message_headers = "From: \"{$from_name}\" <{$admin_email}>\n" . 'Content-Type: text/plain; charset="' . get_option( 'blog_charset' ) . "\"\n";

	$user            = get_user_by( 'login', $user_login );
	$switched_locale = switch_to_locale( get_user_locale( $user ) );

	$message = sprintf(
		/**
		 * Filters the message content of the new blog notification email.
		 *
		 * Content should be formatted for transmission via wp_mail().
		 *
		 * @since MU (3.0.0)
		 *
		 * @param string $content    Content of the notification email.
		 * @param string $domain     Site domain.
		 * @param string $path       Site path.
		 * @param string $title      Site title.
		 * @param string $user_login User login name.
		 * @param string $user_email User email address.
		 * @param string $key        Activation key created in wpmu_signup_blog().
		 * @param array  $meta       Signup meta data. By default, contains the requested privacy setting and lang_id.
		 */
		apply_filters(
			'wpmu_signup_blog_notification_email',
			__( "To activate your blog, please click the following link:\n\n%1\$s\n\nAfter you activate, you will receive *another email* with your login.\n\nAfter you activate, you can visit your site here:\n\n%2\$s" ),
			$domain, $path, $title, $user_login, $user_email, $key, $meta
		),
		$activate_url,
		esc_url( "http://{$domain}{$path}" ),
		$key
	);
	// TODO: Don't hard code activation link.
	$subject = sprintf(
		/**
		 * Filters the subject of the new blog notification email.
		 *
		 * @since MU (3.0.0)
		 *
		 * @param string $subject    Subject of the notification email.
		 * @param string $domain     Site domain.
		 * @param string $path       Site path.
		 * @param string $title      Site title.
		 * @param string $user_login User login name.
		 * @param string $user_email User email address.
		 * @param string $key        Activation key created in wpmu_signup_blog().
		 * @param array  $meta       Signup meta data. By default, contains the requested privacy setting and lang_id.
		 */
		apply_filters(
			'wpmu_signup_blog_notification_subject',
			/* translators: New site notification email subject. 1: Network name, 2: New site URL */
			_x( '[%1$s] Activate %2$s', 'New site notification email subject' ),
			$domain, $path, $title, $user_login, $user_email, $key, $meta
		),
		$from_name,
		esc_url( 'http://' . $domain . $path )
	);
	wp_mail( $user_email, wp_specialchars_decode( $subject ), $message, $message_headers );

	if ( $switched_locale ) {
		restore_previous_locale();
	}

	return true;
}