Не приходит письмо после создания пользователя
Пытаюсь создать заказ программно с помощью $order = wc_create_order();
Также одновременно создается пользователь с помощью этого кода:
$userdata = array(
'user_login' => $user_name,
'user_pass' => $password,
'user_email' => $email,
'display_name' => $data['address']['last_name'] . ' ' . $data['address']['first_name']
);
$user_id = wp_insert_user( $userdata ) ;
но не приходит письмо этому пользователю с логином и паролем.
проверял, пользователь в базе создаётся.
А письмо о успешном создании заказа пользователю приходит.
Где это можно настроить, чтобы приходили письма с паролем?
В настройках woocommerce выбрано чтобы можно было создавать личный кабинет и регистрироваться
P.S.
$password = wp_generate_password();
$user_name = strstr($email, '@', true);
$userdata = array(
'user_login' => $user_name,
'user_pass' => $password,
'user_email' => $email,
'display_name' => $data['address']['last_name'] . ' ' . $data['address']['first_name']
);
$user_id = wp_insert_user( $userdata ) ;
Ответы (2 шт):
Автор решения: Romualds Cirsis
→ Ссылка
попробуйте через Mailer();
$woocommerce->mailer()->emails['WC_Email_Customer_New_Account']->customer_new_account($userId);
Код не проверял, в теории должно работать. Если ошибся где-то, дайте знать, исправлю.
И удачи! :)
Автор решения: KAGG Design
→ Ссылка
В ваш код после строки $user_id = wp_insert_user( $userdata ) ; добавьте
$message = 'Your login: ' . $user_name . '. Your password: ' . $password;
wp_mail( $email, 'Login & pass', $message );