user_status và user_activation_key trong WordPress là gì ?

user_status và user_activation_key trong WordPress là gì ?

user_status#

Trong WordPress, thuộc tính user_status là một cột trong bảng wp_users được thiết kế để lưu trạng thái người dùng. Tuy nhiên, theo mặc định, WordPress không sử dụng cột này cho bất kỳ tính năng hay logic nào trong hệ thống. Cột user_status thường được để trống hoặc đặt về 0 và không ảnh hưởng đến trạng thái hoạt động hay khả năng truy cập của người dùng.

Một số thông tin về user_status#

  • Mặc định: Cột này có giá trị mặc định là 0 trong WordPress.
  • Mục đích ban đầu: user_status được dự định sử dụng để đánh dấu các trạng thái của người dùng (ví dụ như "kích hoạt" hay "đang chờ xác minh"). Tuy nhiên, trong các phiên bản hiện tại, WordPress không sử dụng cột này, và không có API hay chức năng nào tích hợp để cập nhật hay đọc dữ liệu từ user_status.
  • Tùy biến: Nếu bạn đang phát triển plugin hoặc muốn quản lý trạng thái người dùng một cách tùy chỉnh (như "tài khoản đang chờ xử lý," "bị khóa," v.v.), bạn có thể sử dụng user_status cho mục đích này, nhưng cần lưu ý rằng nó không được WordPress chính thức hỗ trợ.

Cách sử dụng tùy chỉnh user_status#

Nếu bạn muốn sử dụng user_status trong plugin của mình, bạn có thể cập nhật giá trị của nó cho các trạng thái tùy chỉnh. Ví dụ:
// Cập nhật user_status của một người dùng
$user_id = 1; // ID của người dùng
$new_status = 1; // Giá trị trạng thái mới

global $wpdb;
$wpdb->update(
    $wpdb->users,
    array('user_status' => $new_status),
    array('ID' => $user_id),
    array('%d'),
    array('%d')
);

Lưu ý khi sử dụng user_status#

  • Vì WordPress không chính thức sử dụng cột user_status, bạn hoàn toàn có thể dùng nó cho mục đích riêng.
  • Đảm bảo kiểm tra kỹ lưỡng nếu có bất kỳ plugin nào khác mà bạn sử dụng cũng có khả năng tương tác với user_status, để tránh xung đột.

user_activation_key#

Trong WordPress, cột user_activation_key trong bảng wp_users được sử dụng để lưu trữ các mã kích hoạt (activation keys) và mã xác minh tạm thời. Mục đích chính của user_activation_key là để hỗ trợ các tính năng như:
  1. Thiết lập lại mật khẩu: Khi người dùng yêu cầu đặt lại mật khẩu, WordPress sẽ tạo ra một mã duy nhất và lưu vào user_activation_key. Mã này sau đó được gửi cho người dùng qua email để họ có thể xác minh danh tính và đặt lại mật khẩu. Khi người dùng hoàn tất quy trình, mã này sẽ bị xóa hoặc thay đổi.
  2. Kích hoạt tài khoản (trong một số plugin): Một số plugin sử dụng user_activation_key cho mục đích kích hoạt tài khoản. Ví dụ, trong quy trình đăng ký tài khoản mới, plugin có thể gửi email kích hoạt với một mã hoặc liên kết dựa trên user_activation_key để xác nhận rằng người dùng đã cung cấp email hợp lệ.

Cách user_activation_key hoạt động trong thiết lập lại mật khẩu#

  • Khi người dùng quên mật khẩu và yêu cầu đặt lại, WordPress sẽ:
    1. Tạo ra một mã xác minh duy nhất và lưu vào user_activation_key của người dùng đó.
    2. Gửi liên kết xác minh (chứa mã này) đến email của người dùng.
    3. Khi người dùng truy cập vào liên kết, WordPress sẽ kiểm tra user_activation_key. Nếu mã hợp lệ, người dùng sẽ được phép thiết lập mật khẩu mới.
    4. Sau khi thiết lập lại mật khẩu thành công, user_activation_key được xóa để tránh sử dụng lại.

Cách cập nhật hoặc kiểm tra user_activation_key#

Bạn có thể sử dụng các hàm WordPress để cập nhật user_activation_key cho người dùng trong trường hợp phát triển tính năng tùy chỉnh. Ví dụ:
$user_id = 1; // ID của người dùng
$activation_key = wp_generate_password(20, false); // Tạo mã kích hoạt ngẫu nhiên

// Cập nhật mã kích hoạt vào user_activation_key của người dùng
update_user_meta($user_id, 'user_activation_key', $activation_key);

Lưu ý khi sử dụng user_activation_key#

  • Bảo mật: Vì mã này được dùng để xác minh các thao tác nhạy cảm, bạn cần bảo mật nó và không hiển thị mã ra công khai.
  • Xóa sau khi dùng: Khi sử dụng user_activation_key để đặt lại mật khẩu hoặc kích hoạt tài khoản, hãy đảm bảo mã được xóa sau khi hoàn tất để tránh lạm dụng.

Bài viết liên quan