В чем разница между wp_insert_user() и wp_create_user()
Я знаю, что первая функция позволяет передавать дополнительные параметры, чтобы задать больше информации о пользователе, но помимо этого, зачем нужны обе?
Конкретная причина, по которой я хочу узнать это — wp_insert_user() выполняется ОЧЕНЬ медленно. Где-то от 5 до 10 секунд. Я не помню, чтобы у меня была такая проблема в прошлом, когда я использовал create_user, поэтому мне интересно, не выполняется ли в одной из них гораздо больше действий "за кулисами".
Спасибо.

Согласно Codex
Функция wp_create_user позволяет добавить нового пользователя в базу данных WordPress. Она использует класс $wpdb для экранирования значений переменных, подготавливая их для вставки в базу данных. Затем функция PHP compact() используется для создания массива с этими значениями. Для создания пользователя с дополнительными параметрами используйте wp_insert_user().
Таким образом, основное различие заключается в том, что с помощью wp_insert_user
вы можете передать больше параметров, чем просто ($username, $password, $email)
. Полный список всех дополнительных параметров для wp_insert_user можно найти на странице Codex.

Нет. Весь исходный код функции wp_create_user()
выглядит так:
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);
}
Она просто почти сразу вызывает версию с insert, по сути являясь сокращённой обёрткой. Что касается причины её существования — ядро работает загадочными путями, и (если не искать разработчика через историю версий и не спрашивать его напрямую) редко можно точно сказать, зачем. :)
