簡體   English   中英

如何從數據庫中的 wp_usermeta 表中獲取值?

[英]How to get value from wp_usermeta table in database?

我制作了一個自定義注冊表單並添加了更多字段地址,手機號碼,但所有訂戶都制作了他的表格,但如何在我的表格中獲取值地址列,

<?php
      global $wpdb;
      // $authors = $wpdb->get_results("SELECT * from $wpdb->usermeta WHERE meta_key = 'wp_capabilities' AND meta_value = 'a:1:{s:10:\"subscriber\";b:1;}'");

      $mysqli=NEW mysqli('localhost','root','','wp1');
      $sql = "SELECT wp_users.ID, wp_users.user_nicename, wp_users.user_email,wp_users.user_registered FROM wp_users INNER JOIN wp_usermeta 
      ON wp_users.ID = wp_usermeta.user_id 
      WHERE wp_usermeta.meta_key = 'wp_capabilities' 
      AND wp_usermeta.meta_value LIKE '%subscriber%' 
      -- AND wp_users.user_email     
      ORDER BY wp_users.user_nicename";
      $result = $mysqli->query($sql);

      // var_dump($resultl);

      // var_dump($result);
          
      echo "<table class='table table-striped table-class' id= 'table-id'>
          <thead>

          <tr>

          <th style='padding:20px;border:1px solid;color:#489ACF;width:150px; '>Email</th>
          <th style='padding:20px;border:1px solid;color:#489ACF; '>Username</th>
          <th style='padding:20px;border:1px solid;color:#489ACF; '>Date</th>
          <th style='padding:20px;border:1px solid;color:#489ACF; '>Address</th>
          <th style='padding:20px;border:1px solid;color:#489ACF; '>Mobileno</th>
          </tr>  <thead>";


     while($rows=$result->fetch_assoc()){
            // $user_email=$rows['user_email'];
            // $user_login=$rows['user_nicename'];
            // $date=$row['user_registered'];
            // $user_id=$rows['ID'];
            // echo $user_id;
            echo "  <tbody> <tr>";

    // echo "<td>" . $row['id'] . "</td>";
            echo "<td style='padding:20px;border:1px solid;color:#489ACF; '>" . $rows['user_email']. "</td>";
            echo "<td style='padding:20px;border:1px solid;color:#489ACF; '>" .$rows['user_nicename']. "</td>";
            echo "<td style='padding:20px;border:1px solid;color:#489ACF; '>" .$rows['user_registered']. "</td>";
            // echo "<td style='padding:20px;border:1px solid;color:#489ACF; '>" .$rows['address']. "</td>";
            // echo "<td style='padding:20px;border:1px solid;color:#489ACF; '>" .$rows['mobile_no']. "</td>";
        
            echo "</tr>  <tbody>";

          }
          echo "</table>";

           
?>

如何獲得價值並制作表格....內部加入它可以充分發揮作用,但如何

由於您使用的是 wordpress,因此使用 Wordpress API 是有意義的。 這是您通過特定元屬性找到用戶的方式:

   $users = get_users(array(
            'meta_key'     => 'wp_capabilities',
            'meta_value'   => 'subscriber',
             ...any other keys => values...
         ));

如果您需要按角色獲取用戶,您可以像這樣獲取用戶

$users = get_users( array(
    'role'    => 'subscriber',
    'orderby' => 'user_nicename',
    'order'   => 'ASC'
   ));
...
foreach ( $users as $user ) ...

這樣,您將獲得一個WP_User數組。 迭代數組並從中提取您需要的任何數據。
查看有關function以及WP_User object 的 wordpress 文檔的更多信息。 為了添加用戶元數據,您還必須使用 wordpress api 提供,這只是添加元數據的示例,但不是添加角色的正確方法:

   add_user_meta( $user_id, 'wp_capabilities', 'subscriber', false /*non unique*/ );

假設上面的 $user_id 你得到一個 function 像wp_insert_user或任何其他方式你可以得到 id
要正確添加任何角色,請使用add_role function 或任何其他角色功能https://developer.wordpress.org/reference/functions/add_role/

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM