18禁黄动漫网站禁片无遮挡观看|国产在线观看免费A∨|国产偷伦在线2020

  • 
    
    1. <table id="dwhxz"><cite id="dwhxz"></cite></table>
    2. WordPress通過usermeta的某個值獲取用戶ID及用戶信息

      2022-09-18 22:26 欄目:技術開發 查看(4323)

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

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

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

      3、comments:評論表(輔表commentmeta)

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

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

      1、add_metadata:增加meta,如果是user對應的就是add_user_meta。

      2、update_metadata:更新meta,如果是user對應的就是update_user_meta。

      3、get_metadata:獲取meta,如果是user對應的就是get_user_meta。

      4、delete_metadata:刪除meta,如果是user對應的就是delete_user_meta。

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

      現在有這樣的需求:由于WordPress網站增加用戶使用手機號碼注冊、登錄網站,因此需要使用usermeta表存儲用戶的手機號碼,而且在注冊登錄的時候需要通過手機號碼反查用戶的ID以及用戶信息。這個時候需要自己構造一個方法:

      /**
      * 通過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;
      }

      通過如上方法就可以得到usermeta的信息,其他的posts、comments、links表也是一樣的道理,比如通過手機號碼在usermeta中存儲的meta_key為user_mobile,則可以通過某個手機號碼獲取到對應的用戶ID,代碼如下:

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

      如果需要進一步獲取用戶的所有信息,可以通過get_userdata獲取,代碼如下:

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

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

      與我們的項目經理聯系
      掃二維碼與項目經理溝通

      我們在微信上24小時期待你的聲音

      解答本文疑問/技術咨詢/運營咨詢/技術建議/互聯網交流

      轉載請注明出處:WordPress通過usermeta的某個值獲取用戶ID及用戶信息 - 微構網絡
      分享:
    3. 
      
      1. <table id="dwhxz"><cite id="dwhxz"></cite></table>