代码的第一部分是正确的
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 } ?>