向新用户的管理员发送电子邮件通知(WP批准用户插件)


add email notification to the admin of new user (WP Approve User Plugin)

我正在使用Wordpress插件'WP Approval 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;
}

如果(出于某种奇怪的原因(默认的新用户通知没有执行,则可以挂接到user_register,该通知在新用户注册后立即触发。

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);
}