0

我正在开发一个 wordpress MU 网站。我正在使用域映射插件。现在我想修改当有人在网站上注册时管理员收到的通知电子邮件的内容。我在互联网上搜索并在 pluggable.php 中找到了函数在 wp 安装的 wp-includes 文件夹中。但如果我覆盖该功能,邮件内容仍然相同。这是代码:

if ( !function_exists('wp_new_user_notification') ) {
function wp_new_user_notification( $user_id, $plaintext_pass = '' ) {
    $user = new WP_User($user_id);

    $user_login = stripslashes($user->user_login);
    $user_email = stripslashes($user->user_email);

    $message  = sprintf(__('New user registration on your blog %s:'), get_option('blogname')) . "\r\n\r\n";
    $message .= sprintf(__('Username: %s'), $user_login) . "\r\n\r\n";
    $message .= sprintf(__('E-mail: %s'), $user_email) . "\r\n";
    $message .= "Testing message" . "\r\n";

    @wp_mail(get_option('admin_email'), sprintf(__('[%s] New User Registration'), get_option('blogname')), $message);

    if ( empty($plaintext_pass) )
        return;

    $message  = __('Hi there,') . "\r\n\r\n";
    $message .= sprintf(__("Welcome to %s! Here's how to log in:"), get_option('blogname')) . "\r\n\r\n";
    $message .= wp_login_url() . "\r\n";
    $message .= sprintf(__('Username: %s'), $user_login) . "\r\n";
    $message .= sprintf(__('Password: %s'), $plaintext_pass) . "\r\n\r\n";
    $message .= sprintf(__('If you have any problems, please contact me at %s.'), get_option('admin_email')) . "\r\n\r\n";
    $message .= __('Adios!');

    wp_mail($user_email, sprintf(__('[%s] Your username and password'), get_option('blogname')), $message);

}

}

任何帮助将不胜感激。谢谢!

4

2 回答 2

1

我假设您正试图在您的主题中覆盖此功能functions.php。您必须在插件中执行此操作,因为插件将在pluggable.php.

https://wordpress.stackexchange.com/questions/15304/how-to-change-the-default-registration-email-plugin-and-or-non-plugin

于 2012-04-19T07:05:46.807 回答
0

尝试钩入 wp_mail 钩子。

在您的钩子函数中,您可以检查内容并尝试更改它。

于 2012-04-19T07:02:32.557 回答