Bạn đang phát triển giao diện đăng ký, đăng nhập cho người dùng trên website của bạn? Và bạn phân vân không biết phải làm thế nào để tạo link đặt lại mật khẩu cho người dùng. Trong bài viết này mình sẽ hướng dẫn cho bạn cách để thực hiện điều này.

Tạo link đặt lại mật khẩu người dùng

Tạo link đặt lại mật khẩu

Giả sử, bạn có một trang đăng ký và khi đăng ký thành công, một email được gửi đến người dùng để đặt mật khẩu.

Hoặc bạn có một trang quên mật khẩu và đường dẫn đặt lại mật khẩu sẽ gửi đến người dùng sau khi họ nhập địa chỉ email của họ vào form.

Và bạn có thể dễ dàng tạo ra link đó bằng đoạn code dưới đây:

<?php 
/*@ Create reset password link */ 
$user = new WP_User( (int) $user_id );
$reset_key = get_password_reset_key( $user );
$user_login = $user->user_login;

$rp_link = '<a href="' . network_site_url("wp-login.php?action=rp&key=$reset_key&login=" . rawurlencode($user_login), 'login') . '">Set password link</a>';

Bây giờ, bạn có thể sử dụng biến $rp_link để gửi liên kết đặt lại mật khẩu trong email.

Giải thích

Sử dụng class WP_User(), mình đang truy xuất được đối tượng người với sự trợ giúp của biến user_id. Sau đó, mình đang truyền đối tượng người dùng đó vào hàm get_password_reset_key() để lấy khóa đặt lại mật khẩu lưu trữ trong database.

Khoá đặt lại mật khẩu này cho phép $user thay đổi mật khẩu.

Cuối cùng, mình đã tạo liên kết đặt lại mật khẩu đầy đủ. Với sự trợ giúp của hàm network_site_url() trả về URL của trang web hiện tại.

Lời kết

Mình hi vọng bài viết này sẽ giúp bạn tạo thành công link đặt lại mật khẩu người dùng WordPress.

Hãy để lại bình luận nếu bạn có bất kì câu hỏi nào. Nếu bạn thấy bài viết nãy hữu ích, bạn có thể theo dõi chuyên mục Thủ thuật WordPress và follow Facebook để biết thêm nhiều kiến thức mới nha.