大家好,之前有一篇文章是寫關于wordpress直接操作數據庫的,但是當遇到需要快速開發的時候,不適合自己搭建數據庫,直接使用wordpress的數據庫是最快的開發方式。
下面我就先介紹一下常用的wordpress模板函數中關于注冊登錄以及退出登錄的函數。
一、注冊函數。
所謂注冊,就是新建用戶,wp_insert_user();
常用參數有
- $args = array(
- 'user_login' => $username,//登錄用戶名
- 'user_pass' => $password,//登錄密碼
- 'user_email' => $email,//用戶的郵箱,注意,郵箱必須唯一,所有用戶不能重復
- 'display_name' => $display_name,//顯示名
- 'role' => $role,//用戶角色
- 'description' => $description//用戶描述
- );
如果注冊成功,會返回用戶ID,如果注冊失敗會返回wp_error對象。
- $args = array(
- 'user_login' => "worldflying",
- 'user_pass' => "worldflying",
- );
- $res = wp_insert_user($args);
- if(is_wp_error($res)) {
- wp_die($res -> get_error_message());
- }
下面有一段很簡單的示例:
二、登錄用函數
登錄所使用的函數是wp_signon()
- $creds = array(
- 'user_login' => $username,//用戶名
- 'user_password' => $password,//密碼
- 'remember' => true//是否記住登錄狀態
- }
如果注冊成功,會返回wp_user對象,如果注冊失敗會返回wp_error對象。
下面有一段很簡單的示例:
- $creds = array(
- 'user_login' => "worldflying",
- 'user_password' => "worldflying",
- 'remember' => true
- }
- $user = wp_signon( $creds, false );
- if ( is_wp_error($user)) {
- wp_die($user -> get_error_message());
- }
三、判斷當前是有有用戶登錄
這個函數比較簡單,就是is_user_logged_in(),如果返回true,就說明當前有用戶登錄,否則返回false。
- if(is_user_logged_in()) {
- echo '當前有用戶登錄';
- } else {
- echo '當前沒有用戶登錄';
- }
四、獲取當前登錄用戶的信息
在用戶登錄的情況下,直接執行wp_get_current_user(),獲取返回值即可。
需要注意的是,這個函數無論是否用戶有登錄,返回的都是wp_user類型,只是如果當前沒有用戶登錄,返回的wp_user類的userid為0。
通常這個函數與判斷用戶是否登錄的函數結合使用,如:
通常這個函數與判斷用戶是否登錄的函數結合使用,如:
- if(is_user_logged_in()) {
- $user = wp_get_current_user();
- }
- echo '用戶登錄名: ' . $user->user_login . "/n";
- echo '用戶電子郵箱: ' . $user->user_email . "/n";
- echo '用戶顯示名: ' . $user->display_name . "/n";
- echo '用戶ID' . $user->ID . "/n";
五、注銷用戶
注銷用戶這個函數也比較簡單,甚至不需要判斷他是否執行成功。
wp_clear_auth_cookie();
其實原理很簡單,wordpress是通過cookie獲取登錄信息的。所以清除了所有相關cookie,也就退出登錄了。
六、刪除用戶
這個函數比較特殊,他無法直接使用,需要先引入相關的庫。
require("wp-admin/includes/user.php");
wp_delete_user($userid)
新聞熱點
疑難解答
圖片精選