首页 文章

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

提问于
浏览
0

我正在使用 Wordpress plugin 'WP Approve User'https://wordpress.org/plugins/wp-approve-user/) . 插件允许仪表板切换到注册博客的新用户;它还允许按'Approval or Denial'或用户发送自定义电子邮件通知 .

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

插件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

    如果(由于某些奇怪的原因)默认新用户通知未执行,您可以挂钩 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);
    }
    

相关问题