如何按用户ID从WordPress数据库中的定制表中获取用户数据?

时间:2017-06-02 作者:Callum

我有一些自定义用户数据字段,它们需要来自自定义数据库表的用户数据。

我尝试过:

global $wpdb;

$table_name = $wpdb->prefix . "wplusersprofiles";

$user = $wpdb->get_results( "SELECT * FROM $table_name" );
并调用如下数据:

<tr>
    <th><label for="gender"><?php _e("Gender"); ?></label></th>
    <td>
        <input type="text" name="gender" id="gender" value="<?php echo $user->gender ?>" class="regular-text" /><br />
    </td>
</tr>
但没有成功。

DB中的示例表:enter image description here

1 个回复
最合适的回答,由SO网友:Sourav Mukhopadhyay 整理而成

代码的第一部分是正确的

  global $wpdb;

  $table_name = $wpdb->prefix . "wplusersprofiles";

  $user = $wpdb->get_results( "SELECT * FROM $table_name" );
问题在于您试图获取单个行数据的方式。本例中的get\\u results函数返回一个对象数组。因此,获取单个数据的正确方法应该是。。。

<?php foreach ($user as $row){ ?>
<tr>
    <th><label for="gender"><?php _e("Gender"); ?></label></th>
    <td>
        <input type="text" name="gender" id="gender" value="<?php echo $row->gender ?>" class="regular-text" /><br />
    </td>
</tr>
<?php } ?>

结束

相关推荐

Database for development

虽然构建插件,但我最大的烦恼之一是我的开发机器与实际安装不匹配。我这里的意思是,我的数据库缺乏。我会编写一些代码,认为它可以工作(因为它在开发过程中工作),然后发现它不能工作,因为我忽略了本地数据库中缺少的一个小细节。即使是我自己的在线安装也不包含完整的数据库。是否有一套预先填写了通常WP内容的db?甚至是自动添加行和列的脚本?我正在寻找不同角色、自定义帖子类型、分类法、评论等的用户,这些用户只能出于开发目的访问?如果没有,是否有人有一个旧站点的备份,他们想共享?