向新用户的管理员添加电子邮件通知(WP Approve User Plugin)

时间:2014-12-12 19:41:56

标签: php wordpress plugins

我正在使用 Wordpress插件&#WP; WP Approve User' https://wordpress.org/plugins/wp-approve-user/)。插件允许仪表板切换以“批准或拒绝”。注册博客的新用户;它还允许按照“批准”或“拒绝”发送自定义电子邮件通知。或用户..

问题是......并且似乎是这种插件的核心功能;我希望网站管理员能够收到一封简单的电子邮件通知'新用户'已注册并正在等待批准。

插件PHP文件太大而无法在此处粘贴。但下面是一个片段和github链接,任何帮助将不胜感激!我只是想写一个新用户查询的附加电子邮件通知,转到网站管理员的电子邮件地址(Wordpress的原始电子邮件地址>设置>一般>电子邮件地址..)

https://github.com/wp-plugins/wp-approve-user/blob/master/wp-approve-user.php

该插件已经向批准或拒绝的用户发送电子邮件。我只想向管理员发送通知,以便他们知道登录并检查是否有新的用户查询。

public function wp_authenticate_user( $userdata ) {
    if ( ! is_wp_error( $userdata ) AND ! get_user_meta( $userdata->ID, 'wp-approve-user', true ) AND $userdata->user_email != get_bloginfo( 'admin_email' ) ) {
        $userdata = new WP_Error(
            'wpau_confirmation_error',
            __( '<strong>ERROR:</strong> Your account has to be confirmed by an administrator before you can login.', 'wp-approve-user' )
        );
    }

    return $userdata;
}

1 个答案:

答案 0 :(得分:0)

如果(由于某些奇怪的原因)默认的新用户通知未执行,您可以挂钩user_register,在注册新用户后立即触发。{/ p>

add_action( 'user_register', 'so27450945_user_register', 10, 1 );
function so27450945_user_register( $user_id )
{
    $user = get_user_by( 'id', $user_id );

    $blogname = wp_specialchars_decode( get_option( 'blogname' ), ENT_QUOTES );

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

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