2024国产成人精品免费视频|日本免费一区二区三区毛片|久久97超碰色中文字幕|亚洲天堂a中文字幕

WordPress通過(guò)usermeta的某個(gè)值獲取用戶ID及用戶信息

2022-09-18 22:26 欄目:技術(shù)開(kāi)發(fā) 查看(8715)

WordPress的數(shù)據(jù)庫(kù)設(shè)計(jì)模式就是主表+輔表的方式,比如users表的輔表usermeta。WordPress的自帶的12張表(以前的老版本是11張表),其中有8張表都是采用主表和輔表的方式,具體如下:

1、posts:文章表(輔表postmeta)

2、users:用戶表(輔表usermeta)

3、comments:評(píng)論表(輔表commentmeta)

4、links:鏈接表(輔表linkmeta)

主表一般是存儲(chǔ)各個(gè)主要內(nèi)容的默認(rèn)字段,如果需要自定義字段就需要輔表meta,比如增加手機(jī)號(hào)碼驗(yàn)證登錄,那么就需要把手機(jī)號(hào)碼信息存儲(chǔ)在usermeta中。在WordPress中默認(rèn)提供的方法只包含了meta表的增刪改查,主要如下:

1、add_metadata:增加meta,如果是user對(duì)應(yīng)的就是add_user_meta。

2、update_metadata:更新meta,如果是user對(duì)應(yīng)的就是update_user_meta。

3、get_metadata:獲取meta,如果是user對(duì)應(yīng)的就是get_user_meta。

4、delete_metadata:刪除meta,如果是user對(duì)應(yīng)的就是delete_user_meta。

這四種主要的方法都需要傳遞一個(gè)方法就是主表的主鍵的值,比如user就是需要傳遞user_id用戶ID為參數(shù)。但是,通過(guò)user_meta的某個(gè)值獲取用戶ID及用戶信息似乎沒(méi)有直接提供自帶的方法(也許是筆者沒(méi)找到而已)。

現(xiàn)在有這樣的需求:由于WordPress網(wǎng)站增加用戶使用手機(jī)號(hào)碼注冊(cè)、登錄網(wǎng)站,因此需要使用usermeta表存儲(chǔ)用戶的手機(jī)號(hào)碼,而且在注冊(cè)登錄的時(shí)候需要通過(guò)手機(jī)號(hào)碼反查用戶的ID以及用戶信息。這個(gè)時(shí)候需要自己構(gòu)造一個(gè)方法:

/**
* 通過(guò)user_meta獲取用戶信息
* @param $meta_key user_meta類型
* @param $meta_value user_meta的值
*/
function get_user_id_by_meta($meta_key,$meta_value){
global $wpdb;
   $user=$wpdb->get_row($wpdb->prepare("SELECT * FROM $wpdb->usermeta WHERE meta_key = %s AND meta_value = %s", $meta_key, $meta_value ) );
if(empty($user)){
   return false;
}
return $user->user_id;
}

通過(guò)如上方法就可以得到usermeta的信息,其他的posts、comments、links表也是一樣的道理,比如通過(guò)手機(jī)號(hào)碼在usermeta中存儲(chǔ)的meta_key為user_mobile,則可以通過(guò)某個(gè)手機(jī)號(hào)碼獲取到對(duì)應(yīng)的用戶ID,代碼如下:

$user_id=get_user_id_by_meta('user_mobile','13272012225');

如果需要進(jìn)一步獲取用戶的所有信息,可以通過(guò)get_userdata獲取,代碼如下:

$user=get_userdata($user_id);//獲取用戶信息
$user_login=$user->user_login;//獲取用戶登錄名

至此就完成了WordPress通過(guò)user_meta的某個(gè)值獲取用戶ID及用戶信息,同樣的其他的meta數(shù)據(jù)表通過(guò)某個(gè)meta的值反向獲取主表信息也可以使用一樣的方法。

與我們的項(xiàng)目經(jīng)理聯(lián)系
掃二維碼與項(xiàng)目經(jīng)理溝通

我們?cè)谖⑿派?4小時(shí)期待你的聲音

解答本文疑問(wèn)/技術(shù)咨詢/運(yùn)營(yíng)咨詢/技術(shù)建議/互聯(lián)網(wǎng)交流

轉(zhuǎn)載請(qǐng)注明出處:WordPress通過(guò)usermeta的某個(gè)值獲取用戶ID及用戶信息 - 微構(gòu)網(wǎng)絡(luò)
分享:
標(biāo)簽:
蒲江县| 搜索| 彝良县| 东乌| 汾西县| 迭部县| 兴文县| 邢台市| 屏边| 桃源县| 嵊泗县| 沈丘县| 神农架林区| 繁峙县| 泰和县| 鄱阳县| 泸水县| 许昌县| 盖州市| 河北区| 永泰县| 孝义市| 友谊县| 河南省| 铜陵市| 遂平县| 全椒县| 东乡| 高邮市| 延川县| 方山县| 太仆寺旗| 祥云县| 鄂伦春自治旗| 崇义县| 科技| 牟定县| 剑川县| 河间市| 台前县| 普兰县|