Hướng Dẫn Tùy Chỉnh Form Đăng Nhập và Đăng Ký WooCommerce Với SweetAlert2 (Không Cần Plugin)

27/09/2024
7 Phút đọc
150 Lượt xem
Đánh giá
5/5 - (100 bình chọn)

Giới Thiệu

Trong bài viết này, chúng ta sẽ học cách loại bỏ form đăng nhập và đăng ký mặc định của WooCommerce, sau đó thay thế bằng form đăng nhập tùy chỉnh sử dụng SweetAlert2. Việc tùy chỉnh này không cần sử dụng plugin mà chỉ dựa vào code, giúp tối ưu hóa hiệu suất và tính linh hoạt cho website. Các bước hướng dẫn dưới đây sẽ chi tiết và dễ hiểu, phù hợp với cả những người không chuyên về lập trình.

Form Đăng Nhập và Đăng Ký WooCommerce Với SweetAlert2
Form Đăng Nhập và Đăng Ký WooCommerce Với SweetAlert2

Yêu Cầu Trước Khi Thực Hiện

  • Website của bạn đã cài đặt và kích hoạt WooCommerce.
  • Có kiến thức cơ bản về PHP, WordPress, và jQuery để có thể chỉnh sửa code theo nhu cầu.

Hướng Dẫn Chi Tiết

1. Bỏ Form Đăng Nhập Và Đăng Ký Mặc Định Của WooCommerce

Để loại bỏ form đăng nhập và đăng ký mặc định của WooCommerce, chèn đoạn mã dưới đây vào file functions.php của theme đang sử dụng:

2. Thêm SweetAlert2 Và Script Tùy Chỉnh

Sau khi đã loại bỏ form mặc định, chúng ta sẽ thêm thư viện SweetAlert2 và script tùy chỉnh để tạo popup đăng nhập và đăng ký. Chèn đoạn mã dưới đây vào functions.php:

3. Tạo Popup Đăng Nhập và Đăng Ký Với SweetAlert2

Form Đăng Ký và Đăng Ký WooCommerce Với SweetAlert2
Form Đăng Ký và Đăng Ký WooCommerce Với SweetAlert2

Phần tiếp theo là tạo các popup đăng nhập và đăng ký sử dụng SweetAlert2 bằng jQuery. Đoạn mã này cũng cần thêm vào file functions.php:

4. Tích Hợp AJAX Cho Đăng Nhập Và Đăng Ký

Trong đoạn mã trên, chúng ta đã sử dụng các action hooks của WordPress để tạo hai chức năng: tuy_chinh_dang_nhaptuy_chinh_dang_ky. Hai hàm này sẽ xử lý quá trình đăng nhập và đăng ký của người dùng thông qua AJAX.

Đăng Nhập AJAX

  • Sử dụng wp_authenticate() để kiểm tra tên đăng nhập và mật khẩu.
  • Nếu thông tin hợp lệ, sử dụng wp_set_current_user()wp_set_auth_cookie() để đăng nhập người dùng.

Đăng Ký AJAX

  • Kiểm tra thông tin đăng ký: tên đăng nhập, mật khẩu, email, số điện thoại phải hợp lệ.
  • Tạo người dùng mới bằng wp_create_user().
  • Cập nhật thông tin người dùng, bao gồm số điện thoại và vai trò mặc định là ‘customer’ của WooCommerce.

Kiểm Tra Trạng Thái Đăng Nhập

  • Hàm kiem_tra_dang_nhap() kiểm tra xem người dùng đã đăng nhập hay chưa và trả về kết quả thông qua AJAX.

5. Tạo Shortcode Cho Nút Đăng Nhập SweetAlert2

Shortcode nut_dang_nhap_sweetalert2() tạo một nút “Đăng nhập” bằng SweetAlert2, chỉ hiển thị khi người dùng chưa đăng nhập. Bạn có thể thêm shortcode dưới đây vào bất kỳ vị trí nào trong website để hiển thị đăng nhập.

6. Sử Dụng Các Hàm Kiểm Tra Và Bảo Mật

  • sanitize_text_field(): Dùng để làm sạch dữ liệu đầu vào, ngăn chặn các lỗ hổng bảo mật.
  • wp_send_json_error()wp_send_json_success(): Trả về phản hồi dưới dạng JSON để xử lý kết quả AJAX.
  • validatePassword(), validateEmail(), validatePhone(): Kiểm tra tính hợp lệ của mật khẩu, email và số điện thoại.

7. Demo và Mã hoàn chỉnh

Demo của chức năng đăng nhập bằng sweet2 ( Chỉ hoạt động với những user chưa đăng nhập vào tài khoản website mình thôi nhé):

Mã hoàn chỉnh chức năng này, các bạn chỉ cần bỏ vào funtion.php là xong thôi nhé.

Kết Luận

Bằng cách sử dụng SweetAlert2 và jQuery để tùy chỉnh quy trình đăng nhập, đăng ký WooCommerce, bạn đã tạo ra một trải nghiệm người dùng hiện đại và thân thiện. Không cần dùng đến plugin phức tạp, bạn có thể kiểm soát hoàn toàn quá trình này thông qua mã nguồn. Chúc các bạn thành công và đừng quên theo dõi chúng mình nhé.

Thông báo chính thức: Muathemewpgiare chân thành mong muốn được đồng hành và hỗ trợ tốt nhất cho các khách hàng trong quá trình sử dụng giao diện WordPress. Vì vậy, khi mua những theme wordpress tại chúng tôi, chúng tôi cam kết hỗ trợ quý khách hàng hết sức có thể.

Chúng tôi hiểu rằng sự lựa chọn của quý khách là rất quan trọng. Việc mua source code tại chúng tôi không chỉ giúp đảm bảo chất lượng mà còn nhận được sự hỗ trợ tận tâm từ Muathemewpgiare. Chúng tôi rất mong quý khách cân nhắc kỹ, tránh những rủi ro không đáng có khi mua các source code không rõ nguồn gốc. Chúng tôi luôn sẵn sàng hỗ trợ và đồng hành cùng quý khách. Xin chân thành cảm ơn!

Để lại một bình luận