wake-up-neo.com

Benutzer ohne Benutzernamen und Passwort anlegen

Ich habe ein Anmeldeformular, das von Benutzern ausgefüllt wird, und gemäß diesem Formular habe ich nur den Vornamen, den Nachnamen, den zweiten Vornamen, die E-Mail-Adresse als wichtig und so viele andere Kleinigkeiten.

Nach der Registrierung erstellt der Administrator einen Benutzernamen und ein Passwort für diese Person, die per E-Mail an diese Person gesendet werden. Danach kann er sich einloggen.

Kann mir jemand einen Hinweis geben, wie ich vorgehen kann.

1
Satrughna

Sehr einfache Idee. Folge den Schritten:

Schritt 1) ​​

1) Erstellen Sie eine Registrierung für den Beitragstyp. Fügen Sie das erforderliche Feld wie Vorname, Nachname, E-Mail-Adresse usw. hinzu, die in Ihrem Formular angegeben sind.

2) Die benutzerdefinierte Registrierung von Werten wird in Registrierungsposttypen gespeichert. Jetzt haben Sie die von Ihnen übermittelten Werte in der Hand.

3) Speichern Sie Vor- und Nachnamen im Titelfeld.

4) E-Mail-Feld in der Benutzertabelle in WP prüfen, vorhanden oder nicht. Wenn vorhanden, wird der Beitrag nicht erstellt und die Benachrichtigung wird bereits angezeigt, oder Sie setzen zurück, was Sie anzeigen möchten.

Schritt 2)
1) Fügen Sie in der Liste der Registrierungsposttypen einen dem Benutzer hinzugefügten Link hinzu, neben dem Link Bearbeiten, Vorschau usw., oder erstellen Sie eine Spalte Benutzererstellung, wobei Hinzufügen der Link zum Erstellen des Benutzers ist.

2) Wenn Sie in Ihrem Backend-Code auf Hinzufügen klicken, erstellen Sie den Benutzer. Alles was du von der Post bekommen hast.

3) Beim Erstellen hat der neue Benutzer eine Rolle festgelegt.

3) Jetzt können Sie den Registrierungsbeitrag für den Benutzer löschen, der gerade erstellt wird.

Ich gebe Ihnen Code-Label-Hinweise. Dies ist eine Idee. Es wird nicht funktionieren, wenn Sie direkt kopieren und einfügen.

Vom Registrierungsformular zum Speichern benutzerdefinierter Post-Typ-Daten

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

zum Zusatzfeld in der Benutzertabelle hinzugefügt

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

Beitragstypen Spalte hinzufügen

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

Benutzer erstellen und E-Mail senden

//How to Create User
$fname = get_post_meta($post_id,'firstname',true);
$lname = get_post_meta($post_id,'lastname',true);
$email_address = get_post_meta($post_id,'email',true);
$password = Rand(); //create random password 
$user_id = wp_create_user( $email_address, $password, $email_address );
          // Set the nickname
          wp_update_user(
            array(
              'ID'          =>    $user_id,
              'nickname'    =>    $email_address,
              'first_name'  =>    $fname,
              'last_name'   =>    $lname
            )
          );

          // Set the role
          $user = new WP_User( $user_id );

//delete that post
wp_delete_post( $post_id ); 
// Email the user
wp_mail( $email_address, 'Welcome!', 'Your Password: ' . $password );

Eine andere Sache, die Sie auch verwenden können Schwerkraftformen . Es hat auch die Funktionalität, um den Benutzer nach der Registrierung zu erstellen. Es ist ein kostenpflichtiges Plugin.

Hoffe, die Idee wird für Sie arbeiten. Bitte lassen Sie mich wissen, wenn Sie weitere Fragen haben.

0
Faysal Mahamud