WordPress 中的 WP_User 類別與使用者操作
WP_User
是 WordPress 核心中的一個類別,專門用來代表網站中的一個使用者。通過這個類別,您可以輕鬆地訪問和操作使用者的各種信息,如使用者的 ID、登錄名稱、電子郵件和角色等。在本節課中,我們將學習如何使用 WP_User
類別和相關函數來取得和操作使用者數據。
取得目前使用者的物件
要取得目前登錄的使用者物件,您可以使用 wp_get_current_user
函數。這個函數會返回一個 WP_User
物件,該物件包含了目前使用者的所有資訊。
- 範例代碼:
// 取得目前使用者的 WP_User 物件 $user = wp_get_current_user();。
- 說明:
wp_get_current_user()
:這個函數返回目前登錄使用者的WP_User
物件。可以使用這個物件來訪問使用者的各種信息和屬性
根據特定條件取得使用者物件
有時,您可能需要根據特定條件來取得一個使用者物件。例如,您可以通過使用者的電子郵件、登錄名或 ID 來查找使用者。
- 範例代碼:
// 根據電子郵件取得使用者 $user = get_user_by('email', 'user@example.com'); // 根據登錄名取得使用者 $user = get_user_by('login', 'account1'); // 根據使用者 ID 取得使用者 $user = get_user_by('id', 1);
說明:
get_user_by('email', 'user@example.com')
:根據電子郵件地址返回WP_User
物件。get_user_by('login', 'account1')
:根據使用者的登錄名稱返回WP_User
物件。get_user_by('id', 1)
:根據使用者的唯一 ID 返回WP_User
物件。
WP_User
物件的常用屬性
WP_User
物件包含了使用者的許多屬性,這些屬性可以直接訪問,以取得使用者的詳細信息。
- 範例代碼:
// 訪問使用者的屬性 $id = $user->id; // 取得使用者 ID $account = $user->user_login; // 取得使用者的登錄名稱 $username = $user->first_name . ' ' . $user->last_name; // 取得使用者的全名 $roles = (array) $user->roles; // 取得使用者的角色列表
說明:
$user->id
:使用者的唯一識別碼。$user->user_login
:使用者的登錄名稱。$user->first_name . ' ' . $user->last_name
:使用者的全名(名字和姓氏)。$user->roles
:使用者所屬的角色列表,這是一個陣列。
取得特定群組的使用者
使用 get_users
函數,您可以根據特定的條件(如角色、排序順序等)來獲取一組使用者。這在需要管理大量使用者或篩選特定角色的使用者時非常有用。
- 範例代碼:
// 取得具有特定角色的使用者列表 $args = array( 'role' => 'teacher', // 指定角色 'orderby' => 'login', // 按登錄名稱排序 'order' => 'ASC' // 升序排列 ); $users = get_users($args);
說明:
'role' => 'teacher'
:僅獲取具有teacher
角色的使用者。'orderby' => 'login'
:根據登錄名稱對使用者進行排序。'order' => 'ASC'
:指定排序為升序。
進一步操作使用者物件
取得使用者物件後,您可以進一步對該物件進行操作,例如更改使用者角色、更新使用者信息等。
- 範例代碼:
// 更改使用者角色 $user->set_role('editor'); // 添加額外角色 $user->add_role('contributor'); // 移除某個角色 $user->remove_role('subscriber');
說明:
$user->set_role('editor')
:將使用者的角色設置為editor
。$user->add_role('contributor')
:為使用者添加contributor
角色。$user->remove_role('subscriber')
:移除使用者的subscriber
角色。