MULTSITE‘欢迎用户电子邮件’SITE_NAME返回‘网络’名称,而不是博客名称

时间:2012-03-20 作者:Brad Farleigh

我已将“新网站设置”下的“欢迎用户电子邮件”设置为以下内容:

尊敬的用户名:欢迎访问SITE\\u NAME门户,该门户提供有关我们的政策、流程的信息,>;程序、模板和表格。您还可以查看站点名称新闻、日历和>;联络。

这是您的登录信息:用户名:用户名密码:密码

单击此处登录-登录链接

问题是,当用户收到电子邮件时;站点名称“;参数是wordpress安装的“网络名称”,而不是他们刚刚注册到的实际博客的名称。

此代码https://gist.github.com/1331582 克服了添加用户时最初发出的用户确认电子邮件的问题,但我需要将其应用于“欢迎用户电子邮件”。

谢谢Brad

1 个回复
最合适的回答,由SO网友:Boone Gorges 整理而成

该技术与wpmu_signup_user_notification().

function wpmu_welcome_user_notification($user_id, $password, $meta = \'\') {
    global $current_site;

    $welcome_email = get_site_option( \'welcome_user_email\' );

    $user = new WP_User($user_id);

    $welcome_email = apply_filters( \'update_welcome_user_email\', $welcome_email, $user_id, $password, $meta);

    // Get the current blog name
    $blogname = get_option( \'blogname\' );
    $welcome_email = str_replace( \'SITE_NAME\', $blogname, $welcome_email );

    $welcome_email = str_replace( \'USERNAME\', $user->user_login, $welcome_email );
    $welcome_email = str_replace( \'PASSWORD\', $password, $welcome_email );
    $welcome_email = str_replace( \'LOGINLINK\', wp_login_url(), $welcome_email );

    $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";
    $message = $welcome_email;

    $subject = apply_filters( \'update_welcome_user_subject\', sprintf(__(\'New %1$s User: %2$s\'), $blogname, $user->user_login) );
    wp_mail($user->user_email, $subject, $message, $message_headers);

    return false; // make sure wpmu_welcome_user_notification() doesn\'t keep running
}
add_filter( \'wpmu_welcome_user_notification\', \'bbg_wpmu_welcome_user_notification\', 10, 3 );

结束

相关推荐

Multisite / Network - Stable?

我的服务器上运行着大约15个WordPress站点,我正在考虑在多站点区域下重新创建这些站点,以避免每次安装都需要更新。我的问题——一年前,我听到一些评论说multisite还没有完全“准备好”,或者可能还有一些怪癖。我真的需要这些坚如磐石,我应该担心吗?