创建不带用户名和密码的用户

时间:2017-03-07 作者:Satrughna

我有一份由用户填写的登记表,根据该表,我只有名字、姓氏、中间名、重要的电子邮件地址以及其他许多小事情。

注册后,管理员将为此人创建用户名和密码,并通过邮件发送给此人。之后,他可以登录。

谁能给我一个提示,我该怎么做。

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

非常简单的想法。按照以下步骤操作:

Step 1)

1) 创建post类型注册。添加必要的字段,如名字、姓氏、电子邮件等,这些字段在表单中关联。

2) 来自值的自定义注册保存到注册帖子类型中。因此,现在您的表单提交值就在您的手中。

3) 在标题字段中保存名字和姓氏。

4) 检查wp中用户表中的电子邮件字段是否存在。如果存在,post将不会创建和显示已存在的通知,也不会重置您要显示的内容。

Step 2)
1)在注册帖子类型列表中添加一个链接添加到用户,除了编辑、预览等链接或创建一列用户创建位置add 是用于创建用户的链接。

2) 单击时add 在后端代码中创建用户。你从这篇文章中得到的所有价值。

3) 创建新用户时,将设置角色。

3) 现在,您可以删除当前创建的用户的注册帖子。

我给你代码标签提示。这是一个想法。如果您直接复制和粘贴,它将不起作用。因此,不妨看看代码。

From Registration form to custom post type data save

$post = array( 
            \'post_title\'=>$_POST[\'firstname\'] . $_POST[\'lastname\'], 
            \'post_type\'=>\'registration\', 
            \'post_content\'=>\'\',
            \'post_status\'   => \'publish\',
            );
$registration_id = wp_insert_post($post);
update_post_meta($registration_id, \'email\', $_POST[\'email\']);
//wp_publish_post($registration_id);

added to extra field in user table

add_action( \'show_user_profile\', \'my_show_extra_profile_fields\' );
add_action( \'edit_user_profile\', \'my_show_extra_profile_fields\' );

function my_show_extra_profile_fields( $user ) { ?>

  <h3>Extra profile information</h3>

  <table class="form-table">

    <tr>
      <th><label for="abn">ABN</label></th>

      <td>
        <input type="text" name="abn" id="abn" value="<?php echo esc_attr( get_the_author_meta( \'abn\', $user->ID ) ); ?>" class="regular-text" /><br />
        <span class="description">Please enter your abn num.</span>
      </td>
    </tr>
    <tr>
      <th><label for="abn">Business Name</label></th>

      <td>
        <input type="text" name="BusinessName" id="BusinessName" value="<?php echo esc_attr( get_the_author_meta( \'BusinessName\', $user->ID ) ); ?>" class="regular-text" /><br />
        <span class="description">Please enter your Business Name.</span>
      </td>
    </tr>
    <tr>
      <th><label for="abn">Business type</label></th>

      <td>
        <input type="text" name="Businesstype" id="Businesstype" value="<?php echo esc_attr( get_the_author_meta( \'Businesstype\', $user->ID ) ); ?>" class="regular-text" /><br />
        <span class="description">Please enter your Business type.</span>
      </td>
    </tr>
  </table>
<?php }

add_action( \'personal_options_update\', \'my_save_extra_profile_fields\' );
add_action( \'edit_user_profile_update\', \'my_save_extra_profile_fields\' );

function my_save_extra_profile_fields( $user_id ) {

  if ( !current_user_can( \'edit_user\', $user_id ) )
    return false;

  /* Copy and paste this line for additional fields. Make sure to change \'twitter\' to the field ID. */
  update_usermeta( $user_id, \'abn\', $_POST[\'abn\'] );
  update_usermeta( $user_id, \'BusinessName\', $_POST[\'BusinessName\'] );
  update_usermeta( $user_id, \'Businesstype\', $_POST[\'Businesstype\'] );
}
Post types add column

//add bulk action in registration post types
add_filter(\'manage_edit-product_columns\', \'my_extra_cake_columns\');
function my_extra_cake_columns($columns) {
    $columns[\'slices\'] =__(\'Create User\');
    return $columns;
}


    add_action( \'personal_options_update\', \'my_save_extra_profile_fields\' );
    add_action( \'edit_user_profile_update\', \'my_save_extra_profile_fields\' );

    function my_save_extra_profile_fields( $user_id ) {

      if ( !current_user_can( \'edit_user\', $user_id ) )
        return false;

      /* Copy and paste this line for additional fields. */
      update_usermeta( $user_id, \'abn\', $_POST[\'abn\'] );
      update_usermeta( $user_id, \'BusinessName\', $_POST[\'BusinessName\'] );
      update_usermeta( $user_id, \'Businesstype\', $_POST[\'Businesstype\'] );
    }

add_action( \'manage_product_posts_custom_column\', \'my_cake_column_content\', 10, 2 );
function my_cake_column_content( $column_name, $post_id ) {
    if ( \'slices\' != $column_name )
        return;
    echo \'<a href="#">Add as user</a>\';
}

add_filter( \'manage_edit-product_sortable_columns\', \'my_sortable_cake_column\' );
function my_sortable_cake_column( $columns ) {
    $columns[\'slices\'] = \'slice\';
    return $columns;
}
//add bulk action in registration post types
add_filter(\'manage_edit-product_columns\', \'my_extra_cake_columns\');
function my_extra_cake_columns($columns) {
    $columns[\'slices\'] =__(\'Create User\');
    return $columns;
}


    add_action( \'personal_options_update\', \'my_save_extra_profile_fields\' );
    add_action( \'edit_user_profile_update\', \'my_save_extra_profile_fields\' );

    function my_save_extra_profile_fields( $user_id ) {

      if ( !current_user_can( \'edit_user\', $user_id ) )
        return false;

      /* Copy and paste this line for additional fields. */
      update_usermeta( $user_id, \'abn\', $_POST[\'abn\'] );
      update_usermeta( $user_id, \'BusinessName\', $_POST[\'BusinessName\'] );
      update_usermeta( $user_id, \'Businesstype\', $_POST[\'Businesstype\'] );
    }

add_action( \'manage_product_posts_custom_column\', \'my_cake_column_content\', 10, 2 );
function my_cake_column_content( $column_name, $post_id ) {
    if ( \'slices\' != $column_name )
        return;
    echo \'<a href="#">Add as user</a>\';
}

add_filter( \'manage_edit-product_sortable_columns\', \'my_sortable_cake_column\' );
function my_sortable_cake_column( $columns ) {
    $columns[\'slices\'] = \'slice\';
    return $columns;
}
 另一件你也可以使用的东西gravityforms.它还具有注册后创建用户的功能。这是一个付费插件。

希望这个想法对你有用。如果您有任何其他疑问,请告诉我。