Cho phép đăng nhập bằng email WordPress

2 tháng ago, WordPress Plugin, Views
Cho phép đăng nhập bằng email WordPress

Cho phép đăng nhập bằng email WordPress: Hướng dẫn chi tiết

Trong thế giới kỹ thuật số ngày nay, trải nghiệm người dùng đóng vai trò then chốt trong việc giữ chân khách hàng và xây dựng một cộng đồng trực tuyến trung thành. Một trong những yếu tố quan trọng của trải nghiệm người dùng là quá trình đăng nhập. Mặc định, WordPress yêu cầu người dùng đăng nhập bằng tên người dùng của họ. Tuy nhiên, việc cho phép đăng nhập bằng email có thể cải thiện đáng kể sự tiện lợi và quen thuộc đối với người dùng, từ đó nâng cao trải nghiệm tổng thể trên trang web của bạn.

Tại sao nên cho phép đăng nhập bằng email?

Có nhiều lý do để bạn cân nhắc việc cho phép người dùng đăng nhập bằng email trên trang web WordPress của mình:

  • Sự quen thuộc: Hầu hết mọi người đều quen thuộc với việc sử dụng địa chỉ email của họ để đăng nhập vào các trang web khác nhau. Điều này làm cho quá trình đăng nhập trở nên trực quan và dễ dàng hơn.
  • Tiện lợi: Người dùng thường dễ nhớ địa chỉ email hơn là tên người dùng, đặc biệt nếu họ có nhiều tài khoản trên các trang web khác nhau.
  • Giảm thiểu nhầm lẫn: Tránh nhầm lẫn giữa tên người dùng và địa chỉ email, đặc biệt nếu người dùng đã đăng ký với nhiều tên người dùng khác nhau trên các trang web khác.
  • Cải thiện bảo mật: Mặc dù không trực tiếp cải thiện bảo mật, nhưng bằng cách làm cho quá trình đăng nhập dễ dàng hơn, bạn có thể khuyến khích người dùng sử dụng mật khẩu mạnh hơn thay vì cố gắng nhớ một tên người dùng phức tạp.

Các phương pháp để cho phép đăng nhập bằng email

Có một số phương pháp để cho phép đăng nhập bằng email trong WordPress. Bạn có thể sử dụng plugin, chỉnh sửa code trong file `functions.php` của theme, hoặc sử dụng các dịch vụ bên thứ ba. Dưới đây là một số phương pháp phổ biến nhất:

Sử dụng Plugin

Đây là phương pháp đơn giản và được khuyến nghị cho hầu hết người dùng, đặc biệt là những người không quen thuộc với việc chỉnh sửa code. Có rất nhiều plugin miễn phí và trả phí có sẵn trên WordPress Plugin Directory để bạn lựa chọn.

Một số plugin phổ biến bao gồm:

  • Login with Email Address: Plugin đơn giản và dễ sử dụng, chỉ cho phép đăng nhập bằng email mà không có bất kỳ tính năng bổ sung nào.
  • WP Email Login: Tương tự như plugin trên, tập trung vào việc đăng nhập bằng email và rất nhẹ.
  • Theme My Login: Plugin mạnh mẽ hơn, cung cấp nhiều tính năng tùy chỉnh khác nhau liên quan đến trang đăng nhập, bao gồm cả khả năng cho phép đăng nhập bằng email.

Hướng dẫn sử dụng plugin “Login with Email Address”:

  1. Truy cập “Plugins” > “Add New” trong bảng điều khiển WordPress.
  2. Tìm kiếm “Login with Email Address”.
  3. Cài đặt và kích hoạt plugin.
  4. Không cần cấu hình thêm. Người dùng bây giờ có thể đăng nhập bằng email của họ.

Chỉnh sửa File `functions.php`

Phương pháp này yêu cầu bạn chỉnh sửa code trong file `functions.php` của theme đang hoạt động. Điều này có thể hữu ích nếu bạn muốn có nhiều quyền kiểm soát hơn đối với quá trình đăng nhập, nhưng bạn cần cẩn thận để tránh gây ra lỗi cho trang web của mình. Trước khi chỉnh sửa bất kỳ file nào, hãy sao lưu trang web của bạn!

Hướng dẫn chỉnh sửa file `functions.php`:

  1. Truy cập “Appearance” > “Theme Editor” trong bảng điều khiển WordPress.
  2. Tìm và chọn file `functions.php` của theme đang hoạt động.
  3. Thêm code sau vào cuối file:

add_filter( 'authenticate', 'allow_email_login', 20, 3 );
function allow_email_login( $user, $username, $password ) {
    if ( ! is_email( $username ) ) {
        return $user;
    }

    $user = get_user_by( 'email', $username );
    if ( $user ) {
        $username = $user->user_login;
    }

    return wp_authenticate( $username, $password );
}
  1. Nhấn “Update File” để lưu các thay đổi.

Code này sẽ kiểm tra xem tên người dùng được nhập có phải là địa chỉ email hay không. Nếu đúng, nó sẽ tìm người dùng có địa chỉ email đó và sau đó sử dụng tên người dùng thực tế của họ để xác thực.

Sử dụng Hook WordPress

Một cách khác để cho phép đăng nhập bằng email là sử dụng các hook WordPress. Điều này cho phép bạn tùy chỉnh hành vi mặc định của WordPress mà không cần chỉnh sửa code lõi. Dưới đây là một ví dụ về cách sử dụng hook `authenticate` để cho phép đăng nhập bằng email:


add_action('authenticate', 'authenticate_username_password', 30, 3);
function authenticate_username_password( $user, $username, $password ) {
	// Check we haven't already authenticated
	if ( !empty( $user ) ) {
		return $user;
	}

	// Check for empty fields
	if ( empty( $username ) || empty( $password ) ) {
		$error = new WP_Error();
		if ( empty( $username ) ) {
			$error->add( 'empty_username', __('Error: Username is required.') );
		} else if ( empty( $password ) ) {
			$error->add( 'empty_password', __('Error: Password is required.') );
		}

		return $error;
	}

	// Check if username is an email
	if ( is_email( $username ) ) {
		// Get user by email
		$user = get_user_by( 'email', $username );

		if ( isset( $user, $user->user_login, $user->user_status ) && 0 == (int)$user->user_status ) {
			$username = $user->user_login;
		}
	}

	// Username not found
	if ( empty( $username ) ) {
		$error = new WP_Error();
		$error->add( 'invalid_username', __('Error: Invalid username or email.') );
		return $error;
	}

	// Return WP_User object
	return wp_signon( array( 'user_login' => $username, 'user_password' => $password ), false );
}

Bạn có thể thêm code này vào file `functions.php` của theme của mình hoặc sử dụng một plugin tùy chỉnh.

Những điều cần lưu ý khi cho phép đăng nhập bằng email

Trước khi triển khai bất kỳ phương pháp nào để cho phép đăng nhập bằng email, hãy xem xét những điều sau:

  • Sao lưu trang web của bạn: Điều này rất quan trọng, đặc biệt nếu bạn đang chỉnh sửa code. Nếu có sự cố xảy ra, bạn có thể khôi phục trang web của mình về trạng thái trước đó.
  • Kiểm tra kỹ lưỡng: Sau khi triển khai bất kỳ phương pháp nào, hãy kiểm tra kỹ lưỡng để đảm bảo rằng nó hoạt động chính xác và không gây ra bất kỳ sự cố nào.
  • Bảo mật: Đảm bảo rằng bạn đang sử dụng mật khẩu mạnh và các biện pháp bảo mật khác để bảo vệ tài khoản của người dùng.

Kết luận

Cho phép đăng nhập bằng email là một cách tuyệt vời để cải thiện trải nghiệm người dùng trên trang web WordPress của bạn. Bằng cách cung cấp một phương pháp đăng nhập quen thuộc và tiện lợi, bạn có thể làm cho trang web của mình dễ sử dụng hơn và khuyến khích người dùng tương tác nhiều hơn. Hãy chọn phương pháp phù hợp nhất với nhu cầu và kỹ năng của bạn, và đừng quên sao lưu trang web của bạn trước khi thực hiện bất kỳ thay đổi nào.