Hôm nay mình sẽ chia sẻ tới các bạn đoạn code tự động tạo tài khoản khi khách hàng mua hàng xong trong woocommerce. Cá nhân mình thấy khá hay và muốn chia sẻ tới các bạn.
Tại sao lại cần tính năng này ?
Chắc hẳn nhiều bạn dùng woocommerce sẽ biết mặc định woo sẽ không tự động tạo tài khoản cho khách hàng mà sẽ có một số tùy chọn bên dưới đây
Tuy nhiên một số khách hàng sẽ bỏ qua việc tạo tài khoản trên website khi mua hàng, điều này mình thấy khá bất cập. Để triệt để giải quyết vấn đề đó mình đã tìm hiểu và code ra tính năng này.
Vậy code đó là gì ?
Không cần quá dài dòng, các bạn chỉ cần coppy đoạn code dưới đây và dán vào file function.php trong theme bạn đang sử dụng là được nhé
// Tự động tạo tài khoản cho khách hàng sau khi hoàn tất đơn hàng
chức năng auto_create_account_after_checkout($order_id) {
$order = wc_get_order($order_id);
// Kiểm tra xem khách hàng đã tồn tại trong hệ thống chưa
$customer_id = $order->get_customer_id();
// Nếu chưa có tài khoản, tạo tài khoản mới
if (trống($customer_id)) {
$email = $order->get_billing_email();
$username = nổ('@', $email)[0];
$user_id = username_exists($username);
if (!$user_id && email_exists($email) == false) {
$random_password = wp_generate_password($length = 12, $include_standard_special_chars = false);
$user_id = wp_create_user($tên người dùng, $random_password, $email);
// Gán vai trò "customer" cho người dùng mới
wp_update_user(mảng('ID' => $user_id, 'role' => 'khách hàng'));
// Gán tài khoản mới cho khách hàng
$order->set_customer_id($user_id);
$order->save();
}
}
}
add_action('woocommerce_thankyou', 'auto_create_account_after_checkout', 10, 1);
Lời kết
Như vậy trong bài viết trên mình đã giới thiệu tới các bạn đoạn code tự động tạo tài khoản khi khách hàng mua hàng trong woocommerce. Chúc các bạn thành công.
Trong quá trình add code các bạn có thắc mắc gì thì có thể liên hệ với mình tại đây nhé ;