首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Wordpress如何将user_meta数组显示为表格?

Wordpress如何将user_meta数组显示为表格?
EN

Stack Overflow用户
提问于 2021-09-08 11:02:28
回答 1查看 44关注 0票数 1

我试着在Wordpress stackoverflow上发布这篇文章,但是没有得到任何答案。

这是PHP + Wordpress的问题,也许有人能帮上忙。

好的,我正在使用user_meta数组为一个用户构建一个"Transactions“表。

我是个新手,正在尝试弄清楚这些事情。

基本上,在实践中我知道如何将数组存储到user_meta

代码语言:javascript
复制
$the_meta_array = array (
    'type' => 'value-1',
    'amount' => 'value-2',
    'date' => 'value-3',
    'method' => 'value-4',
    'status' => 'value-5',
);  
$user_id = 12345;  
$user_meta_key = 'transactions';  
add_user_meta( $user_id, $user_meta_key, $the_meta_array );

我的问题是如何以这样的表格式显示该特定用户的“事务”meta_key

代码语言:javascript
复制
-----------------------------------------------------
type    | amount  | date          | method | status
-----------------------------------------------------
deposit | $15     | 2021,09,18    | Paypal | done
-----------------------------------------------------
deposit | $35     | 2021,09,14    | Paypal | done
-----------------------------------------------------
cashout | $25     | 2021,09,11    | Paypal | done

是否可以将meta_key数组显示为循环?

不知道如何实际做到这一点。

我知道这应该是有可能的。

任何帮助都将不胜感激。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-09-08 12:23:50

1-使用get_users函数获取所有用户:

代码语言:javascript
复制
$args = array(
  'fields' => array('ID')
);
$users = get_users($args);

2-为具有事务数据的用户创建一个空数组:

代码语言:javascript
复制
$users_with_transaction = array();

3-遍历所有用户,挑选出具有事务数据的用户,然后使用array_push填充$users_with_transaction数组:

代码语言:javascript
复制
foreach ($users as $user) {
  $users_transaction = (get_user_meta($user->ID, 'transactions'));
  if ($users_transaction) {
    array_push($users_with_transaction, $users_transaction);
  }
}

4-创建您的表结构并通过循环遍历$users_with_transaction数组来填充它:

代码语言:javascript
复制
<table>
  <thead>
    <tr>
      <td>type</td>
      <td>amount</td>
      <td>date</td>
      <td>method</td>
      <td>status</td>
    </tr>
  </thead>
  <tbody>
    <?php foreach ($users_with_transaction as $user_data) { ?>
      <tr>
        <?php foreach ($user_data[0] as $data_key => $data_value) { ?>
          <td><?php echo $data_value; ?></td>
        <?php } ?>
      </tr>
    <?php } ?>
  </tbody>
</table>

它将输出以下内容:

然后,您可以使用css设置表的样式。

这是一个带有内联css的表格结构示例,它给出了表格行的边框:

代码语言:javascript
复制
<table style='border-collapse:collapse'>
  <thead>
    <tr>
      <td style="border: 1px solid black;">type</td>
      <td style="border: 1px solid black;">amount</td>
      <td style="border: 1px solid black;">date</td>
      <td style="border: 1px solid black;">method</td>
      <td style="border: 1px solid black;">status</td>
    </tr>
  </thead>
  <tbody>
    <?php
    foreach ($users_with_transaction as $user_data) { ?>
      <tr>
        <?php
        foreach ($user_data[0] as $data_key => $data_value) {
        ?>

          <td style="border: 1px solid black;"><?php echo $data_value; ?></td>
        <?php
        } ?>
      </tr>
    <?php
    }
    ?>
  </tbody>
</table>

它将输出以下内容:

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/69101849

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档