0

我制作了一个自定义注册表并添加了更多字段地址,手机号码,但所有订阅者都制作了表格,但如何在我的表格中获取值地址列,

<?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>";

           
?>

如何获得价值并制作表格....内部加入它可以充分发挥作用,但如何

4

1 回答 1

1

由于您使用的是 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数组。迭代数组并从中提取您需要的任何数据。
查看有关函数以及WP_User对象的 wordpress 文档的更多信息。为了添加用户元数据,您还必须使用提供的 wordpress api,这只是添加元数据的示例,但不是添加角色的正确方法:

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

假设上面的 $user_id 您使用 wp_insert_user 之类的函数或任何其他可以获取 id 的方法
来正确添加任何角色,请使用add_role函数或任何其他角色函数https://developer.wordpress.org/reference/functions/add_role/

于 2020-07-02T12:31:42.587 回答