WordPress 用户功能创建成功,但未发送“SB 欢迎电子邮件”

我已经按功能创建了 wp 用户并且它运行成功。现在,SB Welcome Email如果用户通过功能创建,则不会发送问题,但如果我从仪表板手动创建用户,则已发送邮件。我不想使用另一个自定义 wp_mail() 通过函数创建自定义用户。我怎样才能克服这个问题?

$user_login     =  wp_slash( $username );

    $user_email     =  wp_slash( $email );

    $display_name   =  wp_slash( $full_name );

    $first_name     =  wp_slash( $f_name );

    $last_name      =  wp_slash( $l_name );

    $user_pass      =  $password;

    $role           =  'student';

    $exists = email_exists( $user_email );


    if ( username_exists( $user_login ) && !email_exists( $user_email ) ) {

        $user_login = $user_login.'_student';

    } else {

        $user_login = $user_login;

    }



    if ( !$exists ) {

        $userdata = compact( 'user_login', 'user_email', 'user_pass', 'display_name', 'first_name', 'last_name', 'role' );

        //return wp_insert_user( $userdata );

        $user_id = wp_insert_user( $userdata ) ;


    }else{

        $user   = get_user_by( 'email', $user_email );

        $user_id = $user->ID;

    }


阿晨1998
浏览 213回答 3
3回答

幕布斯7119047

我已经找到了解决方案。需要用到这个功能wp_new_user_notification($user_ids, false, 'both')

慕尼黑的夜晚无繁华

该函数sb_we_send_new_user_notification将在用户创建后调用。此操作挂钩允许在新用户添加到数据库后立即为其调用函数。用户 id 作为参数传递给 hook。add_action( 'user_register', 'myplugin_registration_save', 10, 1 );function myplugin_registration_save( $user_id ) {    sb_we_send_new_user_notification($user_id, true, true);}

繁花如伊

我的猜测是您缺少此“SB 欢迎电子邮件”插件使用的挂钩。我能想到的一个钩子是user_register(文档)。但默认情况下,它是wp_insert_user(文档) 的一部分,因此应该在您添加新用户时触发。在这种情况下,您应该检查“SB 欢迎电子邮件”代码并搜索发送实际代码的功能,看看是否有插件正在使用的其他钩子。
打开App,查看更多内容
随时随地看视频慕课网APP