wpmu_signup_blog_notification( string $domain, string $path, string $title, string $user_login, string $user_email, string $key, array $meta = array() )
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.
Description
This is the notification function used when site registration is enabled.
Filter ‘wpmu_signup_blog_notification’ to bypass this function or replace it with your own notification behavior.
Filter ‘wpmu_signup_blog_notification_email’ and ‘wpmu_signup_blog_notification_subject’ to change the content and subject line of the email sent to newly registered users.
Parameters
- $domain
-
(Required) The new blog domain.
- $path
-
(Required) The new blog path.
- $title
-
(Required) The site title.
- $user_login
-
(Required) The user's login name.
- $user_email
-
(Required) The user's email address.
- $key
-
(Required) The activation key created in wpmu_signup_blog()
- $meta
-
(Optional) Signup meta data. By default, contains the requested privacy setting and lang_id.
Default value: array()
Return
(bool)
Source
File: wp-includes/ms-functions.php
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 WP-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' ) == '' ? 'ClassicPress' : 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 WP-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%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%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 WP-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;
}
Changelog
Version | Description |
---|---|
WP-MU | Introduced. (3.0.0) |