在一个表单中注册多个用户

时间:2013-07-11 作者:ferne97

有没有可能在WordPress中有一个允许多个用户同时注册的表单?比如说,我想一次添加5个用户,这是不是可以用默认的注册表来实现,还是仅限于一个用户?

它将是前端的一个表单(或多个表单,但需要同时提交所有表单),用户可以向其中添加多封电子邮件,并将其设置为订阅者,并向列出的每封电子邮件发送生成的密码。我想不出一次添加多个的方法。

将使用类似的东西,但有多个用户。

<form id="register-form" action="<?php echo site_url(\'wp-login.php?action=register\', \'login_post\') ?>" method="post">
    <input type="hidden" name="user_login" value="Username" id="user_login" class="input" />
    <input type="hidden" name="user_email" value="E-Mail" id="user_email" class="input"  />
    <?php do_action(\'register_form\'); ?>
</form>
有什么想法吗?谢谢

1 个回复
最合适的回答,由SO网友:ferne97 整理而成

Update

找到这个很棒的帖子http://tommcfarlin.com/create-a-user-in-wordpress/ 这帮助我解决了这个问题。

这是针对Shopp中的一个产品,用户可以注册多个用户参加培训课程,并且每个电子邮件都需要注册为订阅者。

这是最终代码。。

<?php
add_action( \'shopp_order_success\', \'create_subscribers\' );

function create_subscribers( $Purchase ) {

    foreach ( $Purchase->purchased as $purchase ) :

        $i = 1;
        while ( isset( $purchase->data[\'Email \'.$i] ) ) :

            $email_address = $purchase->data[\'Email \'.$i];

            if ( null == username_exists( $email_address ) ) :

                // Generate the password and create the user
                $password = wp_generate_password( 12, false );
                $user_id  = wp_create_user( $email_address, $password, $email_address );

                // Set the nickname
                wp_update_user(
                    array(
                        \'ID\'       =>    $user_id,
                        \'nickname\' =>    $email_address
                    )
                );

                // Set the role
                $user = new WP_User( $user_id );
                $user->set_role( \'subscriber\' );

                // Email the user
                wp_mail( $email_address, \'Welcome!\', \'Your Password: \' . $password );

            endif;
            $i++;
        endwhile;
    endforeach;
}

结束

相关推荐