Care este diferența dintre wp_insert_user() și wp_create_user()

28 sept. 2012, 18:31:09
Vizualizări: 18.1K
Voturi: 11

Știu că prima funcție permite parametri adiționali, astfel încât poți adăuga mai multe informații despre utilizator, dar în afară de asta, de ce există ambele funcții?

Motivul specific pentru care vreau să știu este că wp_insert_user() se execută FOARTE încet. Undeva între 5 - 10 secunde. Nu-mi amintesc să fi avut această problemă în trecut, când foloseam create_user, așa că mă întreb dacă se întâmplă mult mai multe lucruri în spate la una față de cealaltă.

Mulțumesc.

0
Toate răspunsurile la întrebare 2
1
13

Conform Codex

Funcția wp_create_user vă permite să inserați un utilizator nou în baza de date WordPress. Aceasta utilizează clasa $wpdb pentru a escapa valorile variabilelor, pregătindu-le pentru inserare în baza de date. Apoi, funcția PHP compact() este folosită pentru a crea un array cu aceste valori. Pentru a crea un utilizator cu parametri suplimentari, folosiți wp_insert_user().

Deci diferența principală este că cu wp_insert_user puteți transmite mai mult decât doar ($username, $password, $email). O listă completă cu toți parametrii suplimentari pentru wp_insert_user poate fi găsită pe pagina Codex a acesteia

24 apr. 2016 09:05:42
Comentarii

Acesta este răspunsul corect.

Armstrongest Armstrongest
18 mai 2018 12:33:39
1
12

Nimic. Întreaga sursă a funcției wp_create_user() este:

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

Ea doar apelează versiunea insert aproape imediat, fiind practic un wrapper scurt. În ceea ce privește motivul pentru care există - nucleul WordPress funcționează în moduri misterioase și (în afară de a găsi dezvoltatorul prin istoricul de versiuni și a-l întreba) rareori există o modalitate de a afla. :)

28 sept. 2012 18:36:21
Comentarii

Incorect. NU este un alias direct. wp_create_user acceptă trei parametri, wp_insert_user acceptă un array de date care îți permite să setezi lucruri precum numele, nicename, rol, etc.

Armstrongest Armstrongest
18 mai 2018 12:33:24