web-dev-qa-db-fra.com

Quelle est la différence entre wp_insert_user () et wp_create_user ()

Je sais que le premier autorise des paramètres supplémentaires, de sorte que vous pouvez avoir plus d'informations sur l'utilisateur, mais sinon, pourquoi les deux existent-ils?

La raison spécifique que je veux savoir est que wp_insert_user () se produit VRAIMENT lentement. Quelque part entre 5 et 10 secondes. Je ne me souviens pas d'avoir eu ce problème dans le passé, lorsque j'utilisais create_user. Je me demande donc s'il se passe beaucoup plus dans les coulisses avec l'un plutôt que l'autre.

Merci.

2
emersonthis

Aucun. La source entière de wp_create_user() est:

function wp_create_user($username, $password, $email = '') {
    $user_login = esc_sql( $username );
    $user_email = esc_sql( $email    );
    $user_pass = $password;

    $userdata = compact('user_login', 'user_email', 'user_pass');
    return wp_insert_user($userdata);
}

Il appelle simplement insert version presque immédiatement, essentiellement un wrapper. Pour ce qui est de la raison de son existence - le noyau fonctionne de manière mystérieuse et (à moins de chercher les développeurs par leur historique de contrôle de version et leur demander), il existe rarement un moyen de le savoir. :)

7
Rarst

Selon le Codex

La fonction wp_create_user vous permet d'insérer un nouvel utilisateur dans la base de données WordPress. Il utilise la classe $ wpdb pour échapper aux valeurs de la variable et la prépare pour l'insertion dans la base de données. Ensuite, la fonction PHP compact () est utilisée pour créer un tableau avec ces valeurs. Pour créer un utilisateur avec des paramètres supplémentaires, utilisez wp_insert_user ().

Donc, la principale différence serait qu'avec wp_insert_user, vous pouvez passer plus que simplement ($username, $password, $email). Une liste complète de tous les paramètres supplémentaires pour wp_insert_user est disponible sur la page Codex

3
e4rthdog